diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index fa704030c639f8a1a9b68eb64d7ab7934830484a..18ef6108e2a3dd0d48f1c6897f797ddae85b1b26 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -20,7 +20,7 @@
 # Contact Information
 # OpenAirInterface Admin: openair_admin@eurecom.fr
 # OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 # Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 # Author: laurent THOMAS, Lionel GAUTHIER
@@ -340,17 +340,7 @@ add_library(S1AP_ENB
   ${S1AP_DIR}/s1ap_eNB_ue_context.c
   )
 
-add_library(S1AP_EPC
-  ${S1AP_C_DIR}/s1ap_ies_defs.h
-  ${S1AP_DIR}/s1ap_mme_encoder.c
-  ${S1AP_DIR}/s1ap_mme_decoder.c
-  ${S1AP_DIR}/s1ap_mme_handlers.c
-  ${S1AP_DIR}/s1ap_mme_nas_procedures.c
-  ${S1AP_DIR}/s1ap_mme.c
-  ${S1AP_DIR}/s1ap_mme_itti_messaging.c
-  ${S1AP_DIR}/s1ap_mme_retransmission.c
-  ${S1AP_DIR}/s1ap_mme_ta.c
-  )
+
 
 #X2AP
 # Same limitation as described in RRC/S1AP: unknown generated file list
@@ -467,8 +457,6 @@ add_boolean_option(USER_MODE True "????")
 
 add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????")
 add_boolean_option(DISABLE_USE_NAS False "???")
-add_boolean_option(ENABLE_STANDALONE_EPC True "Compile MME, SGW and PGW in a single executable")
-add_boolean_option(EPC_BUILD False "???")
 add_boolean_option(LOWLATENCY True "Use the Linux scheduler SCHED_DEADLINE: kernel >= 3.14")
 add_boolean_option(NAS_ADDRESS_FIX False "specific to oaisim: for nasmesh driver")
 add_boolean_option(NAS_NETLINK False "???? Must be True to compile nasmesh driver without rtai")
@@ -542,10 +530,8 @@ add_boolean_option(USE_3GPP_ADDR_AS_LINK_ADDR False "As per attribute name")
 # NAS LAYER OPTIONS
 ##########################
 add_boolean_option(ENABLE_NAS_UE_LOGGING   True  "????")
-add_boolean_option(NAS_BUILT_IN_EPC        False "MME NAS layer not present in this executable")
 add_boolean_option(NAS_BUILT_IN_UE         True  "UE NAS layer present in this executable")
 add_boolean_option(NAS_UE                  True  "NAS UE INSTANCE (<> NAS_MME)")
-add_boolean_option(NAS_MME                 False "NAS_UE and NAS_MME are incompatible options")
 
 
 ##########################
@@ -691,9 +677,6 @@ include_directories("${OPENAIR2_DIR}/UTIL/OMV")
 include_directories("${OPENAIR2_DIR}/RRC/LITE/MESSAGES")
 include_directories("${OPENAIRCN_DIR}/GTPV1-U/nw-gtpv1u/shared")
 include_directories("${OPENAIRCN_DIR}/GTPV1-U/nw-gtpv1u/include")
-include_directories("${OPENAIRCN_DIR}/SGW-LITE")
-include_directories("${OPENAIRCN_DIR}/MME_APP")
-include_directories("${OPENAIRCN_DIR}/S6A")
 include_directories("${OPENAIR_DIR}")
 
 # Utilities Library
@@ -1023,42 +1006,6 @@ set (GTPV1U_SRC
 )
 add_library(GTPV1U ${GTPV1U_SRC})
 
-set(GTPV2C_DIR  ${OPENAIRCN_DIR}/GTPV2-C/nwgtpv2c-0.11/src)
-add_library(GTPV2C
-  ${GTPV2C_DIR}/NwGtpv2cTrxn.c
-  ${GTPV2C_DIR}/NwGtpv2cTunnel.c
-  ${GTPV2C_DIR}/NwGtpv2cMsg.c
-  ${GTPV2C_DIR}/NwGtpv2cMsgIeParseInfo.c
-  ${GTPV2C_DIR}/NwGtpv2cMsgParser.c
-  ${GTPV2C_DIR}/NwGtpv2c.c
-  )
-include_directories(${OPENAIRCN_DIR}/GTPV2-C/nwgtpv2c-0.11/include/)
-include_directories(${OPENAIRCN_DIR}/GTPV2-C/nwgtpv2c-0.11/shared/)
-
-execute_process(
-  COMMAND /sbin/iptables -V
-  OUTPUT_VARIABLE iptables_version
-  )
-string(REGEX REPLACE "[a-zA-Z .\r\n]" "" IPTVERSION ${iptables_version})
-string(REGEX REPLACE "[a-zA-Z \r\n]" "" IPTABLES_VERSION_STRING ${iptables_version})
-
-# From original Polaris code, added _lib because cmake doesn't accept two targets with the same name
-# and the driver is also named xt_GTPUSP
-# the _lib suffix is removed during installation in /lib/xtables
-add_library(xt_GTPUSP_lib SHARED ${OPENAIRCN_DIR}/GTPV1-U/GTPU_SP/libxt_GTPUSP.c)
-target_compile_definitions(xt_GTPUSP_lib PRIVATE
--D_LARGEFILE_SOURCE=1
--D_LARGE_FILES
--D_FILE_OFFSET_BITS=64
--D_REENTRANT
--D_INIT=libxt_GTPUSP_init
--DKVERSION=3
--DPIC
-IPTVERSION=${IPTVERSION} -DIPTABLES_VERSION_STRING=\"${IPTABLES_VERSION_STRING}\"
-)
-
-
-
 set(SCTP_SRC
   ${OPENAIRCN_DIR}/SCTP/sctp_common.c
   ${OPENAIRCN_DIR}/SCTP/sctp_eNB_task.c
@@ -1066,64 +1013,8 @@ set(SCTP_SRC
 )
 add_library(SCTP_CLIENT ${SCTP_SRC})
 
-add_library(SCTP_SERVER
-  ${OPENAIRCN_DIR}/SCTP/sctp_common.c
-  ${OPENAIRCN_DIR}/SCTP/sctp_itti_messaging.c
-  ${OPENAIRCN_DIR}/SCTP/sctp_primitives_server.c
-  )
-
-
 add_library(UDP ${OPENAIRCN_DIR}/UDP/udp_eNB_task.c)
 
-add_library(UDP_SERVER ${OPENAIRCN_DIR}/UDP/udp_primitives_server.c)
-
-set(S11_DIR ${OPENAIRCN_DIR}/S11)
-add_library(S11
-  ${S11_DIR}/s11_common.c
-  ${S11_DIR}/s11_ie_formatter.c
-  ${S11_DIR}/s11_mme_task.c
-  ${S11_DIR}/s11_sgw.c
-  ${S11_DIR}/s11_mme_session_manager.c
-  ${S11_DIR}/s11_sgw_session_manager.c
-  ${S11_DIR}/s11_sgw_bearer_manager.c
-)
-include_directories(${S11_DIR})
-
-set(S6A_DIR ${OPENAIRCN_DIR}/S6A)
-add_library(S6A
-  ${S6A_DIR}/s6a_auth_info.c
-  ${S6A_DIR}/s6a_dict.c
-  ${S6A_DIR}/s6a_error.c
-  ${S6A_DIR}/s6a_peer.c
-  ${S6A_DIR}/s6a_subscription_data.c
-  ${S6A_DIR}/s6a_task.c
-  ${S6A_DIR}/s6a_up_loc.c
-  )
-
-set(SGW_DIR ${OPENAIRCN_DIR}/SGW-LITE)
-add_library (SGW
-  ${SGW_DIR}/spgw_config.c
-  ${SGW_DIR}/s11_causes.c
-  ${SGW_DIR}/sgw_lite_task.c
-  ${SGW_DIR}/sgw_lite_handlers.c
-  ${SGW_DIR}/sgw_lite_context_manager.c
-  ${SGW_DIR}/pgw_lite_paa.c
-  )
-
-set(MME_DIR ${OPENAIRCN_DIR}/MME_APP)
-add_library(MME_APP
-  ${MME_DIR}/mme_app_capabilities.c
-  ${MME_DIR}/mme_app_context.c
-  ${MME_DIR}/mme_app_main.c
-  ${MME_DIR}/mme_app_bearer.c
-  ${MME_DIR}/mme_app_authentication.c
-  ${MME_DIR}/mme_app_location.c
-  ${MME_DIR}/mme_app_statistics.c
-  ${MME_DIR}/s6a_2_nas_cause.c
-  )
-
-
-
 
 set(NAS_SRC ${OPENAIRCN_DIR}/NAS/)
 set(libnas_api_OBJS
@@ -1383,99 +1274,6 @@ if(NAS_UE)
   include_directories(${NAS_SRC}UE/ESM/SAP)
 endif()
 
-if(NAS_MME)
-  set(libnas_mme_api_OBJS
-    ${NAS_SRC}MME/API/MME/mme_api.c
-  )
-  set(libnas_mme_emm_OBJS
-    ${NAS_SRC}MME/EMM/Attach.c
-    ${NAS_SRC}MME/EMM/Authentication.c
-    ${NAS_SRC}MME/EMM/Detach.c
-    ${NAS_SRC}MME/EMM/EmmCommon.c
-    ${NAS_SRC}MME/EMM/emm_data_ctx.c
-    ${NAS_SRC}MME/EMM/emm_main.c
-    ${NAS_SRC}MME/EMM/EmmStatusHdl.c
-    ${NAS_SRC}MME/EMM/Identification.c
-    ${NAS_SRC}MME/EMM/IdleMode.c
-    ${NAS_SRC}MME/EMM/LowerLayer.c
-    ${NAS_SRC}MME/EMM/SecurityModeControl.c
-    ${NAS_SRC}MME/EMM/ServiceRequestHdl.c
-    ${NAS_SRC}MME/EMM/TrackingAreaUpdate.c
-  )
-  set(libnas_mme_emm_sap_OBJS
-    ${NAS_SRC}MME/EMM/SAP/emm_as.c
-    ${NAS_SRC}MME/EMM/SAP/emm_cn.c
-    ${NAS_SRC}MME/EMM/SAP/EmmCommonProcedureInitiated.c
-    ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredAttachNeeded.c
-    ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredAttemptingToAttach.c
-    ${NAS_SRC}MME/EMM/SAP/EmmDeregistered.c
-    ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredInitiated.c
-    ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredLimitedService.c
-    ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredNoCellAvailable.c
-    ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredNoImsi.c
-    ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredNormalService.c
-    ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredPlmnSearch.c
-    ${NAS_SRC}MME/EMM/SAP/emm_esm.c
-    ${NAS_SRC}MME/EMM/SAP/emm_fsm.c
-    ${NAS_SRC}MME/EMM/SAP/EmmNull.c
-    ${NAS_SRC}MME/EMM/SAP/emm_recv.c
-    ${NAS_SRC}MME/EMM/SAP/emm_reg.c
-    ${NAS_SRC}MME/EMM/SAP/EmmRegisteredAttemptingToUpdate.c
-    ${NAS_SRC}MME/EMM/SAP/EmmRegistered.c
-    ${NAS_SRC}MME/EMM/SAP/EmmRegisteredImsiDetachInitiated.c
-    ${NAS_SRC}MME/EMM/SAP/EmmRegisteredInitiated.c
-    ${NAS_SRC}MME/EMM/SAP/EmmRegisteredLimitedService.c
-    ${NAS_SRC}MME/EMM/SAP/EmmRegisteredNoCellAvailable.c
-    ${NAS_SRC}MME/EMM/SAP/EmmRegisteredNormalService.c
-    ${NAS_SRC}MME/EMM/SAP/EmmRegisteredPlmnSearch.c
-    ${NAS_SRC}MME/EMM/SAP/EmmRegisteredUpdateNeeded.c
-    ${NAS_SRC}MME/EMM/SAP/emm_sap.c
-    ${NAS_SRC}MME/EMM/SAP/emm_send.c
-    ${NAS_SRC}MME/EMM/SAP/EmmServiceRequestInitiated.c
-    ${NAS_SRC}MME/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c
-  )
-  set (libnas_mme_esm_OBJS
-    ${NAS_SRC}MME/ESM/DedicatedEpsBearerContextActivation.c
-    ${NAS_SRC}MME/ESM/DefaultEpsBearerContextActivation.c
-    ${NAS_SRC}MME/ESM/EpsBearerContextDeactivation.c
-    ${NAS_SRC}MME/ESM/esm_ebr.c
-    ${NAS_SRC}MME/ESM/esm_ebr_context.c
-    ${NAS_SRC}MME/ESM/esm_ip.c
-    ${NAS_SRC}MME/ESM/esm_main.c
-    ${NAS_SRC}MME/ESM/esm_pt.c
-    ${NAS_SRC}MME/ESM/EsmStatusHdl.c
-    ${NAS_SRC}MME/ESM/PdnConnectivity.c
-    ${NAS_SRC}MME/ESM/PdnDisconnect.c
-  )
-  set(libnas_mme_esm_sap_OBJS
-    ${NAS_SRC}MME/ESM/SAP/esm_recv.c
-    ${NAS_SRC}MME/ESM/SAP/esm_send.c
-    ${NAS_SRC}MME/ESM/SAP/esm_sap.c
-  )
-  add_library(LIB_NAS_MME
-    ${NAS_SRC}MME/nas_itti_messaging.c
-    ${NAS_SRC}MME/nas_network.c
-    ${NAS_SRC}MME/nas_parser.c
-    ${NAS_SRC}MME/nas_proc.c
-    ${libnas_api_OBJS}
-    ${libnas_mme_api_OBJS}
-    ${libnas_emm_msg_OBJS}
-    ${libnas_esm_msg_OBJS}
-    ${libnas_ies_OBJS}
-    ${libnas_utils_OBJS}
-    ${libnas_mme_emm_OBJS}
-    ${libnas_mme_emm_sap_OBJS}
-    ${libnas_mme_esm_OBJS}
-    ${libnas_mme_esm_sap_OBJS} 
-  )
-  include_directories(${NAS_SRC}MME)
-  include_directories(${NAS_SRC}MME/API/MME)
-  include_directories(${NAS_SRC}MME/EMM)
-  include_directories(${NAS_SRC}MME/EMM/SAP)
-  include_directories(${NAS_SRC}MME/ESM)
-  include_directories(${NAS_SRC}MME/ESM/SAP)
-endif()
-
 
 
 # Make lfds as a own source code (even if it is a outside library)
@@ -1667,112 +1465,6 @@ target_link_libraries (lte-softmodem-nos1 ${LIBBOOST_LIBRARIES})
 
 
 
-# EPC is ??? nodes implementation in one process
-################################
-add_executable(mme_gw
-  ${OPENAIR_BIN_DIR}/messages_xml.h
-  ${OPENAIRCN_DIR}/OAI_EPC/oai_epc_log.c
-  ${OPENAIRCN_DIR}/OAI_EPC/oai_epc.c
-  ${GTPV1U_DIR}/gtpv1u_task.c
-  ${OPENAIRCN_DIR}/SCTP/sctp_primitives_server.c
-  ${OPENAIRCN_DIR}/NAS/MME/nas_mme_task.c
-  )
-target_link_libraries (mme_gw
-  -Wl,--start-group
-   LIB_NAS_MME S1AP_LIB S1AP_EPC GTPV1U GTPV2C SCTP_SERVER UDP_SERVER SECU_CN SECU_OSA S6A SGW MME_APP LFDS ${MSC_LIB} ${ITTI_LIB} CN_UTILS HASHTABLE
-  -Wl,--end-group
-  pthread m sctp  rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
-  )
-
-
-# Default parameters
-# Does not work on simple install (fqdn in /etc/hosts 127.0.1.1)
-#cmake_host_system_information(RESULT HSS_FQDN_STR QUERY FQDN)
-#cmake_host_system_information(RESULT MME_FQDN_STR QUERY FQDN)
-IF( EPC_BUILD )
-  INCLUDE(FindFreeDiameter)
-  # if standalone eNB or UE no need for FreeDiameter
-  IF( FREEDIAMETER_FOUND )
-    IF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
-      MESSAGE( SEND_ERROR "FreeDiameter is not enabled for OPENAIRHSS" )
-    ENDIF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
-  ENDIF( FREEDIAMETER_FOUND )
-
-
-  execute_process(COMMAND hostname --fqdn OUTPUT_VARIABLE HSS_FQDN_STR TIMEOUT 3)
-  execute_process(COMMAND hostname --fqdn OUTPUT_VARIABLE MME_FQDN_STR TIMEOUT 3)
-  string(STRIP ${HSS_FQDN_STR} HSS_FQDN_STR)
-  string(STRIP ${MME_FQDN_STR} MME_FQDN_STR)
-
-  set(HSS_IP                       127.0.1.1                 CACHE STRING     "HSS IP address, default is local")
-  set(MME_FQDN                     ${MME_FQDN_STR}           CACHE STRING     "MME Fully qualified domain name")
-  set(HSS_FQDN                     ${HSS_FQDN_STR}           CACHE STRING     "HSS Fully qualified domain name")
-  set(TRANSPORT_option             "#No_TCP"                 CACHE STRING     "No_TCP or No_SCTP or comment string, FreeDiameter config option")
-  set(TRANSPORT_PREFER_TCP_option  "#Prefer_TCP"             CACHE STRING     "Prefer_TCP or comment string, FreeDiameter config option")
-  IF( NOT DEFINED REALM )
-    string(FIND ${MME_FQDN} "." pos)
-    math(EXPR pos1 "${pos}+1")
-    string(SUBSTRING ${MME_FQDN} ${pos1} -1 realm_string)
-    message("REALM extracted from MME FQDN is ${realm_string}")
-    set(REALM                      ${realm_string}           CACHE STRING     "EPC realm")
-  ENDIF( NOT DEFINED REALM )
-  message("REALM is ${REALM}")
-  IF( NOT DEFINED MME_HOSTNAME )
-    string(FIND ${MME_FQDN} "." pos)
-    string(SUBSTRING ${MME_FQDN} 0 ${pos} mme_hostname_string)
-    message("MME_HOSTNAME extracted from MME FQDN is ${mme_hostname_string}")
-    set(MME_HOSTNAME         ${mme_hostname_string}           CACHE STRING     "MME hostname")
-  ENDIF( NOT DEFINED MME_HOSTNAME )
-  IF( NOT DEFINED HSS_HOSTNAME )
-    string(FIND ${HSS_FQDN} "." pos)
-    string(SUBSTRING ${HSS_FQDN} 0 ${pos} hss_hostname_string)
-    message("HSS_HOSTNAME extracted from HSS FQDN is ${hss_hostname_string}")
-    set(HSS_HOSTNAME         ${hss_hostname_string}           CACHE STRING     "HSS hostname")
-  ENDIF( NOT DEFINED HSS_HOSTNAME )
-
-  if ( ${MME_HOSTNAME} STREQUAL ${HSS_HOSTNAME} )
-    set(MME_S6A_IS_SERVER      1 )
-  endif( ${MME_HOSTNAME} STREQUAL ${HSS_HOSTNAME} )
-
-  IF( MME_S6A_IS_SERVER )
-    set(ConnectPeer        "#ConnectPeer"     CACHE STRING   "HSS connect to MME")
-    set(DIAMETER_PORT      "Port = 3870"      CACHE STRING   "Diameter bind port, 3868 is always used by default by HSS, even if HSS client")
-    set(DIAMETER_SEC_PORT  "SecPort = 3871"   CACHE STRING   "Diameter bind sec port")
-  ELSE( MME_S6A_IS_SERVER )
-    set(ConnectPeer        "#ConnectPeer"     CACHE STRING   "HSS act as a server")
-    set(DIAMETER_PORT      "#Port = 3870"     CACHE STRING   "Diameter bind port")
-    set(DIAMETER_SEC_PORT  "#SecPort = 3871"  CACHE STRING   "Diameter bind sec port")
-  ENDIF( MME_S6A_IS_SERVER )
-
-  execute_process(COMMAND sudo ${OPENAIR_CMAKE}/tools/check_mme_s6a_certificate ${FREEDIAMETER_PATH}/.. ${MME_FQDN} WORKING_DIRECTORY ${OPENAIR_CMAKE})
-
-  configure_file(
-    ${OPENAIR_CMAKE}/tools/s6a.conf.in
-    ${CMAKE_CURRENT_BINARY_DIR}/mme_fd.conf)
-  configure_file(
-    ${OPENAIR_CMAKE}/tools/epc.local.enb.conf.in
-    ${CMAKE_CURRENT_BINARY_DIR}/epc.local.enb.conf)
-  configure_file(
-    ${OPENAIR_CMAKE}/tools/epc.conf.in
-    ${CMAKE_CURRENT_BINARY_DIR}/epc.conf)
-ENDIF( EPC_BUILD )
-
-# oai_sgw is SGW  node implementation
-################################
-add_executable(oai_sgw
-  ${OPENAIR_BIN_DIR}/messages_xml.h
-  ${OPENAIRCN_DIR}/OAI_SGW/oai_sgw_log.c
-  ${OPENAIRCN_DIR}/OAI_SGW/oai_sgw.c
-  )
-target_link_libraries (oai_sgw
-  -Wl,--start-group
-  GTPV1U SECU_CN SECU_OSA S6A SGW CN_UTILS LFDS ${MSC_LIB} ${ITTI_LIB}
-  -Wl,--end-group
-  pthread m sctp  rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
-  )
-
-
-
 # rrh
 ################################
 set(DRIVER2013)
@@ -1918,49 +1610,6 @@ foreach(myExe dlsim ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syn
     )
 endforeach(myExe)
 
-#unitary tests for Core NEtwork pieces
-#################################
-foreach(myExe s1ap
-    secu_knas_encrypt_eia1
-    secu_kenb
-    aes128_ctr_encrypt
-    aes128_ctr_decrypt
-    secu_knas_encrypt_eea2
-    secu_knas secu_knas_encrypt_eea1
-    kdf
-    aes128_cmac_encrypt
-    secu_knas_encrypt_eia2)
-  add_executable(test_${myExe}
-    ${OPENAIRCN_DIR}/TEST/test_util.c
-    ${OPENAIRCN_DIR}/TEST/test_${myExe}.c
-    )
-  target_link_libraries (test_${myExe}
-    -Wl,--start-group SECU_CN UTIL LFDS -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
-    )
-endforeach(myExe)
-
-add_executable(test_s1c_mme
-  ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c.c
-  ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_scenario.h
-  ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_scenario1.c
-  ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_scenario.c
-  ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_scenario.h
-  ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_s1ap.c
-  ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_s1ap.h
-  ${OPENAIR2_DIR}/ENB_APP/enb_config.c
-  ${OPENAIR2_DIR}/ENB_APP/enb_config.h
-  ${OPENAIR2_DIR}/COMMON/commonDef.h
-  ${OPENAIR2_DIR}/COMMON/messages_def.h
-  ${OPENAIR2_DIR}/COMMON/messages_types.h
-  ${OPENAIRCN_DIR}/S1AP/s1ap_eNB_defs.h
-  ${S1AP_DIR}/s1ap_eNB_management_procedures.c
-  ${OPENAIR_BIN_DIR}/messages_xml.h
-  )
-target_link_libraries (test_s1c_mme
-  -Wl,--start-group SECU_CN S1AP_LIB  SCTP_CLIENT UTIL LFDS ${ITTI_LIB} -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
-  )
-
-
 add_executable(test_epc_generate_scenario
   ${OPENAIRCN_DIR}/TEST/EPC_TEST/generate_scenario.c
   ${OPENAIR2_DIR}/ENB_APP/enb_config.h
@@ -1971,30 +1620,15 @@ add_executable(test_epc_generate_scenario
   ${OPENAIR_BIN_DIR}/messages_xml.h
   )
 target_link_libraries (test_epc_generate_scenario
-  -Wl,--start-group SECU_CN S1AP_LIB UTIL S1AP_ENB LIB_NAS_UE LFDS ${ITTI_LIB} -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}  
+  -Wl,--start-group RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS ${MSC_LIB} L2 -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}  
   )
 
 
-
 # to be added
 #../targets/TEST/PDCP/test_pdcp.c
 #../targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c
 
 
-#  ???
-###########################
-#add_executable(oaisim_mme
-#  ${OPENAIR_BIN_DIR}/messages_xml.h
-#  ${OPENAIRCN_DIR}/OAISIM_MME/oai_mme_log.c
-#  ${OPENAIRCN_DIR}/OAISIM_MME/oaisim_mme.c
-#  ${OPENAIRCN_DIR}/NAS/nas_main.c
-#)
-#target_link_libraries (oaisim_mme
-#  -Wl,--start-group
-#   NAS S1AP_LIB S1AP_EPC GTPV1U GTPV2C SCTP_SERVER UDP_SERVER SECU_CN SECU_OSA S6A S11 SGW MME_APP LFDS MSC ${ITTI_LIB} CN_UTILS HASHTABLE
-#  -Wl,--end-group
-#  pthread m sctp  rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
-#)
 
 
 ##################################################
@@ -2124,15 +1758,6 @@ if(OAI_NW_DRIVER_USE_NETLINK)
 endif()
 make_driver(ue_ip ${OPENAIR2_DIR}/NETWORK_DRIVER/UE_IP ${ue_ip_src})
 
-# GTP
-########################
-# KVERSION is not used in the code, but required
-set(module_cc_opt "${module_cc_opt} -DKVERSION=3")
-make_driver(xt_GTPUSP ${OPENAIRCN_DIR}/GTPV1-U/GTPU_SP "")
-
-# add the install targets
-#install (TARGETS Tutorial DESTINATION bin)
-#install (FILES "${PROJECT_BIN_DIR}/TutorialConfig.h"        DESTINATION include)
 
 # OCTAVE tools
 ###############
diff --git a/cmake_targets/at_commands/CMakeLists.txt b/cmake_targets/at_commands/CMakeLists.txt
index cfdb6ec2aac6b2577025e70589e403986bc1d24b..e03e876bd48a994ee4345d1c93b890a865097372 100755
--- a/cmake_targets/at_commands/CMakeLists.txt
+++ b/cmake_targets/at_commands/CMakeLists.txt
@@ -20,7 +20,7 @@
 # Contact Information
 # OpenAirInterface Admin: openair_admin@eurecom.fr
 # OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 # Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 # Author: Lionel GAUTHIER
diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai
index 24fc3c521f30753156c35b22b9958de950103e42..f9cd26cf864fc00a323f77c08658e445ebc39b07 100755
--- a/cmake_targets/build_oai
+++ b/cmake_targets/build_oai
@@ -1,30 +1,32 @@
 #!/bin/bash
 ################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
 #
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) anylater version.
+# Copyright (c) 2015, EURECOM (www.eurecom.fr)
+# All rights reserved.
 #
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
 #
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
 #
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+# The views and conclusions contained in the software and documentation are those
+# of the authors and should not be interpreted as representing official policies,
+# either expressed or implied, of the FreeBSD Project.
 #
 ################################################################################
 # file build_oai
diff --git a/cmake_targets/epc_build_oai/CMakeLists.template b/cmake_targets/epc_build_oai/CMakeLists.template
deleted file mode 100644
index da80f6d4d252b9622b0550cc64394d8724230474..0000000000000000000000000000000000000000
--- a/cmake_targets/epc_build_oai/CMakeLists.template
+++ /dev/null
@@ -1,88 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-set (  CMAKE_BUILD_TYPE "RelWithDebInfo" )
-set (  ADDR_CONF False )
-set (  BYTE_ORDER=LITTLE_ENDIAN )
-set (  DEBUG_OMG False )
-set (  DISABLE_ITTI_DETECT_SUB_TASK_ID True )
-set (  DISABLE_XER_PRINT False )
-set (  DRIVER2013 False )
-set (  EMOS False )
-set (  ENABLE_FXP False )
-set (  ENABLE_ITTI True )
-set (  ENABLE_NAS_UE_LOGGING False )
-set (  ENABLE_NEW_MULTICAST False )
-set (  ENABLE_PGM_TRANSPORT False )
-set (  ENABLE_RAL False )
-set (  ENABLE_SECURITY False )
-set (  ENABLE_STANDALONE_EPC True )
-set (  ENABLE_USE_CPU_EXECUTION_TIME False )
-set (  ENABLE_USE_MME False )
-set (  ENABLE_VCD_FIFO False )
-set (  ENB_MODE False )
-set (  EPC_BUILD True )
-set (  EXMIMO_IOT False )
-set (  FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT False)
-set (  HARD_RT False )
-set (  JUMBO_FRAME False )
-set (  LARGE_SCALE False )
-set (  LINK_ENB_PDCP_TO_GTPV1U False )
-set (  LINUX_LIST False )
-set (  LINUX False )
-set (  LOCALIZATION False )
-set (  LOG_NO_THREAD False )
-set (  LOWLATENCY False )
-set (  MAC_CONTEXT 1 )
-set (  MAX_NUM_CCs 1 )
-set (  MESSAGE_CHART_GENERATOR True)
-set (  MIH_C_MEDIEVAL_EXTENSIONS False )
-set (  MSG_PRINT False )
-set (  MU_RECEIVER False )
-set (  NAS_ADDRESS_FIX False )
-set (  NAS_BUILT_IN_EPC True )
-set (  NAS_DEBUG True )
-set (  NAS_MME True )
-set (  NAS_NETLINK False )
-set (  NAS_UE False )
-set (  NB_ANTENNAS_RX "2" )
-set (  NB_ANTENNAS_TX "2" )
-set (  NB_ANTENNAS_TXRX "2" )
-set (  NEW_FFT False )
-set (  NO_RRM False )
-set (  OAI_EMU False )
-set (  OAISIM False )
-set (  OAI_NW_DRIVER_TYPE_ETHERNET False )
-set (  OAI_NW_DRIVER_USE_NETLINK False )
-set (  OPENAIR1 False )
-set (  OPENAIR2 False )
-set (  OPENAIR_EMU False )
-set (  OPENAIR_LTE False )
-set (  PACKAGE_NAME "EPC" )
-set (  PBS_SIM False )
-set (  PC_DSP False )
-set (  PC_TARGET False )
-set (  PDCP_MSG_PRINT False )
-set (  PERFECT_CE False )
-set (  PHY_ABSTRACTION False )
-set (  PHY_CONTEXT False )
-set (  PHY_EMUL False )
-set (  PHYSIM False )
-set (  PUCCH False )
-set (  RANDOM_BF False )
-set (  RF_BOARD "False" )
-set (  RRC_ASN1_VERSION "Rel10" )
-set (  RLC_STOP_ON_LOST_PDU False )
-set (  RRC_MSG_PRINT False )
-set (  RTAI False )
-set (  S1AP_DEBUG_LIST True )
-set (  SECU False )
-set (  SMBV False )
-set (  SPECTRA False )
-set (  TEST_OMG False )
-set (  UPDATE_RELEASE_9 True)
-set (  UPDATE_RELEASE_10 True)
-set (  USE_3GPP_ADDR_AS_LINK_ADDR False )
-set (  USE_MME "R10" )
-set (  USER_MODE True )
-set (  XER_PRINT False )
-set (  XFORMS False )
diff --git a/cmake_targets/epc_test/CMakeLists.template b/cmake_targets/epc_test/CMakeLists.template
new file mode 100644
index 0000000000000000000000000000000000000000..25d94ea852b92eaa2b4080810a9aef13bf365dd7
--- /dev/null
+++ b/cmake_targets/epc_test/CMakeLists.template
@@ -0,0 +1,77 @@
+cmake_minimum_required(VERSION 2.8)
+
+set (  CMAKE_BUILD_TYPE "RelWithDebInfo" )
+set (  ADDR_CONF False )
+set (  DEBUG_OMG False )
+set (  DISABLE_XER_PRINT False )
+set (  DRIVER2013 True )
+set (  EMOS False )
+set (  ENABLE_FXP True )
+set (  ENABLE_ITTI True )
+set (  ENABLE_NAS_UE_LOGGING True )
+set (  ENABLE_NEW_MULTICAST True )
+set (  ENABLE_PGM_TRANSPORT True )
+set (  ENABLE_SECURITY True )
+set (  ENABLE_STANDALONE_EPC False)
+set (  ENABLE_USE_CPU_EXECUTION_TIME True )
+set (  ENABLE_USE_MME True )
+set (  ENABLE_USE_RAW_SOCKET_FOR_SGI True)
+set (  ENABLE_VCD_FIFO False )
+set (  ENB_MODE True )
+set (  EXMIMO_IOT True )
+set (  HARD_RT False )
+set (  JUMBO_FRAME True )
+set (  LARGE_SCALE False )
+set (  LINK_ENB_PDCP_TO_GTPV1U True)
+set (  LINUX_LIST False )
+set (  LINUX True )
+set (  LOCALIZATION False )
+set (  LOG_NO_THREAD True )
+set (  LOWLATENCY False )
+set (  MAC_CONTEXT 1 )
+set (  MAX_NUM_CCs 1 )
+set (  MESSAGE_CHART_GENERATOR False)
+set (  MIH_C_MEDIEVAL_EXTENSIONS False )
+set (  MSG_PRINT False )
+set (  MU_RECEIVER False )
+set (  NAS_ADDRESS_FIX False )
+set (  NAS_BUILT_IN_UE True)
+set (  NAS_MME False )
+set (  NAS_UE True )
+set (  NB_ANTENNAS_RX "2" )
+set (  NB_ANTENNAS_TX "2" )
+set (  NB_ANTENNAS_TXRX "2" )
+set (  NEW_FFT True )
+set (  NO_RRM True )
+set (  OAI_EMU False )
+set (  OAISIM False )
+set (  OAI_NW_DRIVER_TYPE_ETHERNET False )
+set (  OAI_NW_DRIVER_USE_NETLINK True )
+set (  OPENAIR1 False )
+set (  OPENAIR2 False )
+set (  OPENAIR_LTE F )
+set (  PACKAGE_NAME "epc_test" )
+set (  PBS_SIM False )
+set (  PDCP_USE_NETLINK True )
+set (  PC_DSP True )
+set (  PC_TARGET True )
+set (  PDCP_MSG_PRINT False )
+set (  PERFECT_CE False )
+set (  PHY_ABSTRACTION True )
+set (  PHY_CONTEXT False )
+set (  PHY_EMUL False )
+set (  PHYSIM True )
+set (  PUCCH True )
+set (  RANDOM_BF False )
+set (  RF_BOARD "False" )
+set (  RLC_STOP_ON_LOST_PDU False )
+set (  RRC_ASN1_VERSION "Rel10" )
+set (  RRC_DEFAULT_RAB_IS_AM True)
+set (  RRC_MSG_PRINT False )
+set (  RTAI False )
+set (  SECU False )
+set (  SMBV False )
+set (  TEST_OMG False )
+set (  USE_MME "R10" )
+set (  USER_MODE True )
+set (  XER_PRINT False )
diff --git a/cmake_targets/hss_build/CMakeLists.txt b/cmake_targets/hss_build/CMakeLists.txt
deleted file mode 100755
index ae4655be2126b386a7891df4dc761280e5d1dbc6..0000000000000000000000000000000000000000
--- a/cmake_targets/hss_build/CMakeLists.txt
+++ /dev/null
@@ -1,326 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#   OpenAirInterface is free software: you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation, either version 3 of the License, or
-#   (at your option) any later version.
-#
-#   OpenAirInterface is distributed in the hope that it will be useful,
-#   but WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#   GNU General Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License
-#   along with OpenAirInterface.The full GNU General Public License is
-#  included in this distribution in the file called "COPYING". If not,
-#  see <http://www.gnu.org/licenses/>.
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-# Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-# Author: Lionel GAUTHIER
-###############################################################################
-cmake_minimum_required(VERSION 2.8)
-set(CMAKE_VERBOSE_MAKEFILE ON)
-
-
-project(HSS)
-
-
-ENABLE_LANGUAGE(C)
-#Sends the -std=c99 flag to the gcc compiler
-#add_definitions(-std=c99)
-
-ADD_DEFINITIONS(-D_GNU_SOURCE)
-
-if( NOT DEFINED OPENAIR_DIR)
-  message(SEND_ERROR "OPENAIR_DIR not set: ${OPENAIR_DIR}")
-endif( NOT DEFINED OPENAIR_DIR)
-
-set(OPENAIR1_DIR          ${OPENAIR_DIR}/openair1)
-set(OPENAIR2_DIR          ${OPENAIR_DIR}/openair2)
-set(OPENAIR3_DIR          ${OPENAIR_DIR}/openair3)
-set(OPENAIRCN_DIR         ${OPENAIR_DIR}/openair-cn)
-set(OPENAIR_TARGETS       ${OPENAIR_DIR}/targets)
-set(OPENAIR_CMAKE_SCRIPTS ${OPENAIR_DIR}/cmake_targets/tools)
-set(OPENAIRHSS_DIR        ${OPENAIRCN_DIR}/OPENAIRHSS)
-set(OPENAIR_BIN_DIR       ${OPENAIR_TARGETS}/bin)
-
-
-set(CMAKE_MODULE_PATH "${OPENAIR_DIR}/cmake_targets/tools/MODULES" "${CMAKE_MODULE_PATH}")
-
-macro(add_option name val helpstr)
-  if(DEFINED ${name})
-    set(value ${${name}})
-  else(DEFINED ${name})
-    set(value ${val})
-  endif()
-  set(${name} ${value} CACHE STRING "${helpstr}")
-  add_definitions("-D${name}=${value}")
-endmacro(add_option)
-
-
-# compilation flags
-# added CMAKER conditional compilation to not bother legacy building system
-#############################################
-if(NOT CMAKE_BUILD_TYPE)
-set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
-endif()
-set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release RelWithDebInfo MinSizeRel)
-
-#
-set(CMAKE_C_FLAGS                  "${CMAKE_C_FLAGS} -msse4.2 -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -DCMAKER")
-set(CMAKE_C_FLAGS_DEBUG            "${CMAKE_C_FLAGS_DEBUG} -ggdb -DMALLOC_CHECK_=3")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO   "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ggdb -DMALLOC_CHECK_=3 -O2")
-
-
-INCLUDE(FindMySQL)
-IF( NOT MySQL_FOUND )
-  MESSAGE( SEND_ERROR "MySQL Client is required" )
-ENDIF( NOT MySQL_FOUND )
-
-INCLUDE(FindNettle)
-IF( NOT NETTLE_FOUND )
-  MESSAGE( SEND_ERROR "Nettle is required" )
-ENDIF( NOT NETTLE_FOUND )
-
-
-
-INCLUDE(FindFreeDiameter)
-IF( NOT FREEDIAMETER_FOUND )
-  MESSAGE( SEND_ERROR "FreeDiameter is required (use OAI installer)" )
-ENDIF( NOT FREEDIAMETER_FOUND )
-IF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
-  MESSAGE( SEND_ERROR "FreeDiameter is not enabled for OPENAIRHSS" )
-ENDIF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
-add_definitions("-DFREEDIAMETER_VERSION=${FREEDIAMETER_VERSION}")
-
-find_package(BISON REQUIRED)
-find_package(FLEX REQUIRED)
-
-set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
-find_package(Threads REQUIRED)
-
-#find_package(Subversion)
-#if(SUBVERSION_FOUND)
-#  Subversion_WC_INFO(${OPENAIR_DIR} openair)
-#  set (PACKAGE_VERSION "${openair_WC_REVISION} - ${openair_WC_LAST_CHANGED_DATE}")
-#  Subversion_WC_LOG(${OPENAIR_DIR} openair)
-#  message("Last changed log is ${openair_LAST_CHANGED_LOG}")
-#  add_definitions("-DPACKAGE_VERSION=\"${PACKAGE_VERSION}\"")
-#else()
-set (PACKAGE_VERSION "No svn information")
-#endif()
-
-add_definitions("-DPACKAGE_NAME=\"OPENAIRHSS\"")
-
-
-################################################################################
-# ACCESS RESTRICTION LIB
-################################################################################
-set(ar_SRC
-    ${OPENAIRHSS_DIR}/access_restriction/access_restriction.c
-)
-set(ar_HDR
-    ${OPENAIRHSS_DIR}/access_restriction/access_restriction.h
-    ${OPENAIRHSS_DIR}/utils/conversion.h
-)
-
-add_library(hss_access_restriction ${ar_SRC} ${ar_HDR})
-target_include_directories(hss_access_restriction PRIVATE ${OPENAIRHSS_DIR}/utils)
-
-
-################################################################################
-# AUC LIB
-################################################################################
-set(auc_SRC
-    ${OPENAIRHSS_DIR}/auc/fx.c
-    ${OPENAIRHSS_DIR}/auc/kdf.c
-    ${OPENAIRHSS_DIR}/auc/random.c
-    ${OPENAIRHSS_DIR}/auc/rijndael.c
-    ${OPENAIRHSS_DIR}/auc/sequence_number.c
-)
-set(auc_HDR
-    ${OPENAIRHSS_DIR}/auc/auc.h
-)
-
-add_library(hss_auc ${auc_SRC} ${auc_HDR})
-
-
-################################################################################
-# DB LIB
-################################################################################
-set(db_SRC
-    ${OPENAIRHSS_DIR}/db/db_connector.c
-    ${OPENAIRHSS_DIR}/db/db_epc_equipment.c
-    ${OPENAIRHSS_DIR}/db/db_subscription_data.c
-)
-set(db_HDR
-    ${OPENAIRHSS_DIR}/db/db_proto.h
-    ${OPENAIRHSS_DIR}/utils/hss_config.h
-)
-
-add_library(hss_db ${db_SRC} ${db_HDR})
-target_include_directories(hss_db PRIVATE ${OPENAIRHSS_DIR}/utils)
-
-
-################################################################################
-# S6A LIB
-################################################################################
-set(s6a_SRC
-    ${OPENAIRHSS_DIR}/s6a/s6a_auth_info.c
-    ${OPENAIRHSS_DIR}/s6a/s6a_common.c
-    ${OPENAIRHSS_DIR}/s6a/s6a_error.c
-    ${OPENAIRHSS_DIR}/s6a/s6a_fd.c
-    ${OPENAIRHSS_DIR}/s6a/s6a_in_addr.c
-    ${OPENAIRHSS_DIR}/s6a/s6a_peers.c
-    ${OPENAIRHSS_DIR}/s6a/s6a_purge_ue.c
-    ${OPENAIRHSS_DIR}/s6a/s6a_subscription_data.c
-    ${OPENAIRHSS_DIR}/s6a/s6a_supported_features.c
-    ${OPENAIRHSS_DIR}/s6a/s6a_up_loc.c
-)
-set(s6a_HDR
-    ${OPENAIRHSS_DIR}/s6a/s6a_proto.h
-    ${OPENAIRHSS_DIR}/db/db_proto.h
-    ${OPENAIRHSS_DIR}/utils/hss_config.h
-    ${OPENAIRHSS_DIR}/auc/auc.h
-    ${OPENAIRHSS_DIR}/access_restriction/access_restriction.h
-)
-
-add_library(hss_s6a ${s6a_SRC} ${s6a_HDR})
-target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/utils)
-target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/db)
-target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/auc)
-target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/access_restriction)
-target_include_directories(hss_s6a PRIVATE ${FREEDIAMETER_INCLUDE_DIR})
-
-################################################################################
-# UTILS LIB
-################################################################################
-# Create target for the parser
- ADD_CUSTOM_TARGET(HSSParser echo "Creating hss_parser.c")
-
-set(UTILS_GENERATED_DIR ${OPENAIR_BIN_DIR})
-
-# Create custom command for flex/lex (note the outputs)
- ADD_CUSTOM_COMMAND(
-   SOURCE ${OPENAIRHSS_DIR}/utils/hss_scanner.l  
-   COMMAND ${FLEX_EXECUTABLE} 
-   ARGS -o${UTILS_GENERATED_DIR}/hss_scanner.c ${OPENAIRHSS_DIR}/utils/hss_scanner.l
-   TARGET HSSParser
-   OUTPUTS ${UTILS_GENERATED_DIR}/hss_scanner.c)
-
-# Create custom command for bison/yacc (note the DEPENDS)
- ADD_CUSTOM_COMMAND(
-   SOURCE ${OPENAIRHSS_DIR}/utils/hss_parser.y
-   COMMAND ${BISON_EXECUTABLE} 
-   ARGS -y ${OPENAIRHSS_DIR}/utils/hss_parser.y
-        -o ${UTILS_GENERATED_DIR}/hss_parser.c
-   TARGET HSSParser
-   DEPENDS ${UTILS_GENERATED_DIR}/hss_scanner.c
-   OUTPUTS ${UTILS_GENERATED_DIR}/hss_parser.c)
-
-set(utils_SRC
-    ${UTILS_GENERATED_DIR}/hss_scanner.c
-    ${UTILS_GENERATED_DIR}/hss_parser.c
-    ${OPENAIRHSS_DIR}/utils/conversion.c
-    ${OPENAIRHSS_DIR}/utils/hss_config.c
-)
-set(utils_HDR
-    ${UTILS_GENERATED_DIR}/hss_parser.h
-    ${UTILS_GENERATED_DIR}/hss_scanner.h
-    ${OPENAIRHSS_DIR}/utils/conversion.h
-    ${OPENAIRHSS_DIR}/utils/hss_config.h
-    ${OPENAIRHSS_DIR}/utils/queue.h
-)
-# Since parser.c does not exists yet when cmake is run, mark
-# it as generated
-SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_parser.c GENERATED)
-SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_scanner.c GENERATED)
-SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_parser.h GENERATED)
-SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_scanner.h GENERATED)
-SET_SOURCE_FILES_PROPERTIES(${OPENAIRHSS_DIR}/utils/hss_config.c DEPENDS ${UTILS_GENERATED_DIR}/hss_parser.c)
-add_library(hss_utils ${utils_SRC} ${utils_HDR})
-
-################################################################################
-# EXECUTABLE openair-hss
-################################################################################
-include_directories( ${UTILS_GENERATED_DIR} ${OPENAIRHSS_DIR}/utils ${OPENAIRHSS_DIR}/s6a ${OPENAIRHSS_DIR}/db ${OPENAIRHSS_DIR}/auc ${OPENAIRHSS_DIR}/access_restriction)
-ADD_EXECUTABLE(openair-hss  ${OPENAIRHSS_DIR}/hss_main.c)
-target_link_libraries (openair-hss 
-                       -Wl,-whole-archive 
-                       hss_access_restriction  
-                       hss_auc
-                       hss_db
-                       hss_s6a 
-                       hss_utils
-                       -Wl,-no-whole-archive
-                       ${MySQL_LIBRARY} 
-                       ${NETTLE_LIBRARIES} 
-                       ${FREEDIAMETER_LIBRARIES} 
-                       ${CMAKE_THREAD_LIBS_INIT} )
-
-# Default parameters
-# Does not work on simple install (fqdn in /etc/hosts 127.0.1.1)
-cmake_host_system_information(RESULT SITE_HSS_FQDN QUERY FQDN)
-add_option(HSS_FQDN          ${SITE_HSS_FQDN} "HSS Fully qualified domain name")
-IF( NOT DEFINED REALM )
-  string(FIND ${HSS_FQDN} "." pos)
-  math(EXPR pos1 "${pos}+1")
-  string(SUBSTRING ${HSS_FQDN} ${pos1} -1 realm_string)
-  message("REALM extracted from HSS FQDN is ${realm_string}")
-  set(REALM             ${realm_string}    CACHE STRING  "HSS realm")
-ENDIF( NOT DEFINED REALM )
-set(MYSQL_server      "127.0.0.1"      CACHE STRING  "Database server IP address")
-set(MYSQL_admin       root             CACHE STRING  "Database admin login")
-set(MYSQL_admin_pass  linux            CACHE STRING  "Database admin password")
-set(MYSQL_user        hssadmin         CACHE STRING  "Database username login")
-set(MYSQL_pass        admin            CACHE STRING  "Database username password")
-set(MYSQL_db          oai_db           CACHE STRING  "Database name")
-set(TRANSPORT_option  "#No_TCP"        CACHE STRING  "No_TCP or No_SCTP or comment string, FreeDiameter config option")
-set(TRANSPORT_PREFER_TCP_option  "#Prefer_TCP"   CACHE STRING  "Prefer_TCP or comment string, FreeDiameter config option")
-set(AppServThreads    2                CACHE STRING  "FreeDiameter AppServThreads config option")
-set(OPERATOR_key      ""               CACHE STRING  "LTE operator clear text key (hex bytes) example 11111111111111111111111111111111")
-set(RANDOM_boolean    "true"           CACHE STRING  "If false, random function returns always 0, else random as usual.")  
-set(REMOTE_PEER_WHITELIST "*.${REALM}" CACHE STRING  "Remote peer whitelist (separated by spaces), for freediameter acl.conf config file")
-IF( FD_SERVER_IP_BIND_LIST )
-    set(ListenOn          "ListenOn = \"${FD_SERVER_IP_BIND_LIST}\"" CACHE STRING  "FreeDiameter server IP bind addresses list")
-ELSE( FD_SERVER_IP_BIND_LIST )
-    set(ListenOn          "#ListenOn = \"\"" CACHE STRING  "FreeDiameter server IP bind addresses list")
-ENDIF( FD_SERVER_IP_BIND_LIST )
-
-IF( HSS_CONNECT_TO_MME )
-  set(ConnectPeer        "ConnectPeer"     CACHE STRING  "HSS connect to MME")
-  set(DIAMETER_PORT      "#Port = 3868"    CACHE STRING  "Diameter bind port")
-  set(DIAMETER_SEC_PORT  "#SecPort = 3869" CACHE STRING  "Diameter bind sec port")
-ELSE( HSS_CONNECT_TO_MME )
-  set(ConnectPeer        "#ConnectPeer"    CACHE STRING  "HSS act as a server")
-  set(DIAMETER_PORT      "Port = 3868"     CACHE STRING  "Diameter bind port")
-  set(DIAMETER_SEC_PORT  "SecPort = 3869"  CACHE STRING  "Diameter bind sec port")
-ENDIF( HSS_CONNECT_TO_MME )
-
-
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hss_fd.conf.in ${CMAKE_CURRENT_BINARY_DIR}/hss_fd.conf)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hss.conf.in    ${CMAKE_CURRENT_BINARY_DIR}/hss.conf)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/acl.conf.in    ${CMAKE_CURRENT_BINARY_DIR}/acl.conf)
-
-execute_process(COMMAND sudo ${OPENAIR_CMAKE_SCRIPTS}/check_hss_s6a_certificate ${FREEDIAMETER_PATH}/.. ${HSS_FQDN} WORKING_DIRECTORY ${OPENAIR_CMAKE_SCRIPTS} TIMEOUT 3)
-
-# This does not overwrite database if it exist
-execute_process(COMMAND ${OPENAIR_CMAKE_SCRIPTS}/create_hss_database
-                ${MYSQL_admin} ${MYSQL_admin_pass} ${MYSQL_user} ${MYSQL_pass} ${MYSQL_db}
-                 WORKING_DIRECTORY ${OPENAIR_CMAKE_SCRIPTS} 
-                 ERROR_VARIABLE ERROR_DB
-                 TIMEOUT 5)
-
-IF( ERROR_DB )
-  MESSAGE( SEND_ERROR "Database setup failed: ${ERROR_DB}" )
-ENDIF( ERROR_DB )
-                
-install (TARGETS openair-hss DESTINATION ${OPENAIR_TARGETS}/bin)
-
diff --git a/cmake_targets/hss_build/acl.conf.in b/cmake_targets/hss_build/acl.conf.in
deleted file mode 100644
index 7702690f78aa847d23a5521087e6ee64153e6c15..0000000000000000000000000000000000000000
--- a/cmake_targets/hss_build/acl.conf.in
+++ /dev/null
@@ -1,19 +0,0 @@
-# Configuration file for the peer whitelist extension.
-#
-# This extension is meant to allow connection from remote peers, without actively
-# maintaining this connection ourselves (as it would be the case by declaring the
-# peer in a ConnectPeer directive).
-# The format of this file is very simple. It contains a list of peer names
-# separated by spaces or newlines.
-#
-# The peer name must be a fqdn. We allow also a special "*" character as the
-# first label of the fqdn, to allow all fqdn with the same domain name.
-# Example: *.example.net will allow host1.example.net and host2.example.net
-#
-# At the beginning of a line, the following flags are allowed (case sensitive) -- either or both can appear:
-# ALLOW_OLD_TLS : we accept unprotected CER/CEA exchange with Inband-Security-Id = TLS
-# ALLOW_IPSEC   : we accept implicitly protected connection with with peer (Inband-Security-Id = IPSec)
-# It is specified for example as:
-# ALLOW_IPSEC vpn.example.net vpn2.example.net *.vpn.example.net
-
-ALLOW_OLD_TLS   @REMOTE_PEER_WHITELIST@
diff --git a/cmake_targets/hss_build/hss.conf.in b/cmake_targets/hss_build/hss.conf.in
deleted file mode 100644
index dd34a117e64e6abd1b1319338d624119b8483fd4..0000000000000000000000000000000000000000
--- a/cmake_targets/hss_build/hss.conf.in
+++ /dev/null
@@ -1,13 +0,0 @@
-## MySQL mandatory options
-MYSQL_server = "@MYSQL_server@";
-MYSQL_user   = "@MYSQL_user@";
-MYSQL_pass   = "@MYSQL_pass@";
-MYSQL_db     = "@MYSQL_db@";
-
-## HSS options
-OPERATOR_key = "@OPERATOR_key@";
-
-RANDOM = "@RANDOM_boolean@";
-
-## Freediameter options
-FD_conf = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss_fd.conf";
diff --git a/cmake_targets/hss_build/hss_fd.conf.in b/cmake_targets/hss_build/hss_fd.conf.in
deleted file mode 100644
index 5d59919c35f2ca5f3addd8e28c277826e1545c0a..0000000000000000000000000000000000000000
--- a/cmake_targets/hss_build/hss_fd.conf.in
+++ /dev/null
@@ -1,106 +0,0 @@
-# -------- Local ---------
-# The first parameter in this section is Identity, which will be used to 
-# identify this peer in the Diameter network. The Diameter protocol mandates 
-# that the Identity used is a valid FQDN for the peer. This parameter can be 
-# omitted, in that case the framework will attempt to use system default value 
-# (as returned by hostname --fqdn). 
-Identity = "@HSS_FQDN@";
-
-# In Diameter, all peers also belong to a Realm. If the realm is not specified,
-# the framework uses the part of the Identity after the first dot.
-Realm = "@REALM@";
-
-
-# This parameter is mandatory, even if it is possible to disable TLS for peers 
-# connections. A valid certificate for this Diameter Identity is expected. 
-TLS_Cred = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss.cert.pem", "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss.key.pem";
-TLS_CA = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss.cacert.pem";
-
-
-# Disable use of TCP protocol (only listen and connect in SCTP)
-# Default : TCP enabled
-@TRANSPORT_option@;
-
-
-# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
-# Prefer TCP instead of SCTP for establishing new connections.
-# This setting may be overwritten per peer in peer configuration blocs.
-# Default : SCTP is attempted first.
-@TRANSPORT_PREFER_TCP_option@;
-
-
-# Disable use of IPv6 addresses (only IP)
-# Default : IPv6 enabled
-No_IPv6;
-
-
-# Overwrite the number of SCTP streams. This value should be kept low, 
-# especially if you are using TLS over SCTP, because it consumes a lot of 
-# resources in that case. See tickets 19 and 27 for some additional details on 
-# this.
-# Limit the number of SCTP streams
-SCTP_streams = 3;
-
-
-# By default, freeDiameter acts as a Diameter Relay Agent by forwarding all 
-# messages it cannot handle locally. This parameter disables this behavior.
-NoRelay;
-
-
-TLS_old_method;
-
-
-# Number of parallel threads that will handle incoming application messages. 
-# This parameter may be deprecated later in favor of a dynamic number of threads
-# depending on the load. 
-AppServThreads = @AppServThreads@;
-
-# Specify the addresses on which to bind the listening server. This must be 
-# specified if the framework is unable to auto-detect these addresses, or if the
-# auto-detected values are incorrect. Note that the list of addresses is sent 
-# in CER or CEA message, so one should pay attention to this parameter if some 
-# adresses should be kept hidden. 
-@ListenOn@;
-
-@DIAMETER_PORT@;
-@DIAMETER_SEC_PORT@;
-
-
-# -------- Extensions ---------
-
-# Uncomment (and create rtd.conf) to specify routing table for this peer.
-#LoadExtension = "rt_default.fdx" : "rtd.conf";
-
-# Uncomment (and create acl.conf) to allow incoming connections from other peers.
-LoadExtension = "acl_wl.fdx" : "@FREEDIAMETER_PATH@/../etc/freeDiameter/acl.conf";
-
-# Uncomment to display periodic state information
-#LoadExtension = "dbg_monitor.fdx";
-
-# Uncomment to enable an interactive Python interpreter session.
-# (see doc/dbg_interactive.py.sample for more information)
-#LoadExtension = "dbg_interactive.fdx";
-
-# Load the RFC4005 dictionary objects
-#LoadExtension = "dict_nasreq.fdx";
-
-LoadExtension = "dict_nas_mipv6.fdx";
-LoadExtension = "dict_s6a.fdx";
-
-# Load RFC4072 dictionary objects
-#LoadExtension = "dict_eap.fdx";
-
-# Load the Diameter EAP server extension (requires diameap.conf)
-#LoadExtension = "app_diameap.fdx" : "diameap.conf";
-
-# Load the Accounting Server extension (requires app_acct.conf)
-#LoadExtension = "app_acct.fdx" : "app_acct.conf";
-
-# -------- Peers ---------
-
-# The framework will actively attempt to establish and maintain a connection
-# with the peers listed here.
-# For only accepting incoming connections, see the acl_wl.fx extension.
-
-#ConnectPeer = "ubuntu.localdomain" { ConnectTo = "127.0.0.1"; No_TLS; };
-@ConnectPeer@ = "@MME_FQDN@"  { ConnectTo = "@MME_IP@"; Realm = "@REALM@"; No_IPv6; No_TLS ; port = 3870; };
\ No newline at end of file
diff --git a/cmake_targets/tools/build_epc b/cmake_targets/tools/build_epc
deleted file mode 100755
index 0caeaf2617beed84a21ee27696c51c90d13b9301..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/build_epc
+++ /dev/null
@@ -1,302 +0,0 @@
-#!/bin/bash
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) anylater version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file build_epc
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-#
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-
-function help()
-{
-  echo_error " "
-  echo_error "Usage: build_epc [OPTION]..."
-  echo_error "Build the EPC executable."
-  echo_error " "
-  echo_error "Options:"
-  echo_error "Mandatory arguments to long options are mandatory for short options too."
-  echo_error "  -c, --clean                               Clean the build generated files (build from scratch)"
-  echo_error "  -C, --conf-files-only                     Generate only EPC configuration files (no build)"
-  echo_error "  -d, --debug                               Compile with debug informations."
-  echo_error "  -h, --help                                Print this help."
-  echo_error "  -g, --gtpu-easy-module                    Used for debugging GTPU (kernel module can be easily removed, for dev and debug purpose only)"
-  echo_error "  -G, --gtpu-full-speed                     Best GTPU throughput performance, but cannot be removed (default)."
-  echo_error "  -H, --hss                       hostname  HSS hostname (with FQDN), default is this host (`hostname --fqdn`)."
-  echo_error "  -i, --check-installed-software            Check installed software packages necessary to build and run EPC (support Ubuntu 14.04)."
-  l_realm=`hostname --fqdn`
-  l_realm=${l_realm#*.}
-  echo_error "  -r, --realm                     realm     Realm of the MME (if not specified, is extracted from this host FQDN ($l_realm))."
-  echo_error "  -s, --transport-sctp-only                 Diameter use SCTP only (TCP disabled)."
-  echo_error "  -S, --s6a-server                          MME act as a server on s6a interface (useful when HSS and MME/EPC run on the same host)."
-  echo_error "  -t, --transport-tcp-only                  Diameter use TCP only (SCTP disabled)."
-  echo_error "  -T, --transport-prefer-tcp                Diameter prefer TCP."
-  echo_error "  -v, --verbose                             Build process verbose."
-  echo_error " "
-  echo_error "Examples:"
-  echo_error " "
-  echo_error "Case 1 - EPC run on same HSS host"
-  echo_error "build_epc -d -S -t -T"
-  echo_error " "
-  echo_error "Case 2 - EPC and HSS do not run on same host"
-  echo_error "build_epc -d -s -H my_hss_fqdn"
-}
-
-
-
-function main()
-{
-  local -i clean=0
-  local -i conf_files_only=0
-  local -i verbose=0
-  local -i s6a_server=0
-  local    cmake_args=" "
-  local    make_args="-j $NUM_CPU"
-  local    realm=""
-  local    gtpu_cmake_arg="-DFLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT=False"
-  local    hss_fqdn=""
-  local    hss_hostname=""
-  local    hss_ip=""
-  local    REL="Rel10"
-
-
-  until [ -z "$1" ]
-    do
-    case "$1" in
-      -c | --clean)
-        clean=1
-        echo "Clean the build generated files (build from scratch)"
-        shift;
-        ;;
-      -C | --conf-files-only)
-        conf_files_only=1
-        echo "Generate only conf files (no build)"
-        shift;
-        ;;
-      -d | --debug)
-        cmake_args="$cmake_args -DDEBUG=1"
-        echo "Compile with debug informations"
-        shift;
-        ;;
-      -g | --gtpu-easy-module)
-        gtpu_cmake_arg="-DFLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT=True"
-        echo "Compile with not optimized GTPU kernel module option (but kernel module easy to remove)"
-        shift;
-        ;;
-      -G | --gtpu-full-speed)
-        echo "Compile with best performance GTPU kernel module option"
-        shift;
-        ;;
-      -h | --help)
-        help
-        shift;
-        exit 0
-        ;;
-      -H | --hss)
-        hss_fqdn=$2
-        cmake_args="$cmake_args -DHSS_FQDN=$hss_fqdn"
-        shift 2;
-        ;;
-      -i | --check-installed-software)
-        echo "Check installed software packages necessary to build and run EPC (support Ubuntu 14.04):"
-        set_openair_env
-        check_install_oai_software
-        check_install_additional_tools
-        exit 0
-      ;;
-      -r | --realm)
-        echo "Realm: $2"
-        realm=$2
-        cmake_args="$cmake_args -DREALM=$realm"
-        shift 2;
-        ;;
-      -s | --transport-sctp-only)
-        echo "Diameter use SCTP (TCP disabled), this is the default option."
-        cmake_args="$cmake_args -DTRANSPORT_option=No_TCP"
-        shift;
-        ;;
-      -S | --s6a-server)
-        echo "MME act as a server on s6a"
-        s6a_server=1
-        cmake_args="$cmake_args -DMME_S6A_IS_SERVER=1"
-        shift 1;
-        ;;
-      -t | --transport-tcp-only)
-        echo "Diameter use TCP (SCTP disabled)."
-        cmake_args="$cmake_args -DTRANSPORT_option=No_SCTP"
-        shift;
-        ;;
-      -T | --transport-prefer-tcp)
-        echo "Diameter prefer TCP (TCP, SCTP enabled)."
-        cmake_args="$cmake_args -DTRANSPORT_PREFER_TCP_option=Prefer_TCP"
-        shift;
-        ;;
-      -v | --verbose)
-        echo "Make build process verbose"
-        cmake_args="$cmake_args -DCMAKE_VERBOSE_MAKEFILE=ON"
-        make_args="VERBOSE=1 $make_args"
-        verbose=1
-        shift;
-        ;;
-      *)   
-        echo "Unknown option $1"
-        help
-        exit 1
-        ;;
-    esac
-  done
-  
-  cmake_args="$cmake_args $gtpu_cmake_arg"
-
-  # extra arguments processing
-  if [[ z$hss_fqdn = z ]]; then
-    hss_fqdn=`hostname --fqdn`
-    cmake_args="$cmake_args -DHSS_FQDN=$hss_fqdn"
-    if [[ z$realm = z ]]; then
-      realm=$hss_fqdn
-      realm=${realm#*.}
-      cmake_args="$cmake_args -DREALM=$realm"
-    fi
-  else
-    if [[ z$realm = z ]]; then
-      realm=${hss_fqdn#*.}
-      cmake_args="$cmake_args -DREALM=$realm"
-    fi
-  fi
-  hss_hostname=${hss_fqdn%%.*}
-  cmake_args="$cmake_args -DHSS_HOSTNAME=$hss_hostname"
-
-  hss_ip=`resolveip --silent $hss_hostname`
-  if [[ z$hss_ip = z ]]; then
-    hss_ip=`resolveip --silent $hss_fqdn`
-  fi
-  if [[ z$hss_ip = z ]]; then
-    echo_abort "Unable to get HSS IP addr of $hss_fqdn"
-  fi
-  cmake_args="$cmake_args -DHSS_IP=$hss_ip"
-
-  set_openair_env 
-  if [[ $verbose -eq 1 ]]; then
-    cecho "OPENAIR_DIR    = $OPENAIR_DIR" $green
-  fi
-  
-  # for conf files copy in this bash script
-  if [ -d /usr/lib/freeDiameter ]; then
-    export FREEDIAMETER_PREFIX=/usr
-  else
-    if [ -d /usr/local/lib/freeDiameter ]; then
-      export FREEDIAMETER_PREFIX=/usr/local
-    else
-      echo_fatal "FreeDiameter prefix not found, install freeDiameter if EPC, HSS"
-    fi
-  fi
-  
-  
-  
-  local dbin=$OPENAIR_DIR/targets/bin
-  local dlog=$OPENAIR_DIR/cmake_targets/log
-  local dconf=$OPENAIR_DIR/targets/bin
-  
-  mkdir -m 777 -p $dbin $dlog
-  
-  ##############################################################################
-  # Compile userspace executable
-  ##############################################################################
-  cd $OPENAIR_DIR/cmake_targets/epc_build_oai
-  if [ $clean -ne 0 ]; then
-    if [[ $verbose -eq 1 ]]; then
-      echo "Cleaning EPC: certificates, generated configuration files, obj files, mme_gw executable, GTP kernel module"
-    fi
-    rm -f $OPENAIR_DIR/targets/bin/mme_gw
-    rm -Rf build 2>&1
-    $SUDO rm -Rf $OPENAIR_TARGETS/CMAKE/EPC/MME_GW/build  2>&1
-    $SUDO rm -f /usr/local/etc/freeDiameter/mme*    2>&1
-    $SUDO rm -f /usr/local/etc/freeDiameter/epc*    2>&1
-    $SUDO rm -f /usr/etc/freeDiameter/mme*    2>&1
-    $SUDO rm -f /usr/etc/freeDiameter/epc*    2>&1
-    $SUDO rm -f $OPENAIR_DIR/targets/bin/xt_GTPU*.ko    2>&1
-    (cd $OPENAIRCN_DIR/GTPV1-U/GTPU_SP && $SUDO make clean)
-    $SUDO rm -f $OPENAIRCN_DIR/GTPV1-U/GTPU_SP/Bin/* 2>&1
-    $SUDO rm -f /lib/xtables/libxt_GTPU*.so             2>&1
-    mkdir -m 777 -p -v build
-  fi
-  
-  
-  
-  ##############################################################################
-  # Compile EPC
-  ##############################################################################
-  cd $OPENAIR_DIR/cmake_targets/epc_build_oai
-  #cd $OPENAIR_TARGETS/CMAKE/EPC/MME_GW
-  if [ ! -d ./build ]; then
-    mkdir -m 777 -p -v build
-  fi
-  cmake_file=./CMakeLists.txt
-  cp $OPENAIR_DIR/cmake_targets/epc_build_oai/CMakeLists.template $cmake_file
-  echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
-  cd ./build
-  cmake  $cmake_args ..
-  #make $make_args -j $NUM_CPU
-  if [ $conf_files_only -eq 0 ]; then
-    compilations \
-      epc_build_oai mme_gw \
-      mme_gw $dbin/mme_gw.$REL
-    # Only integrated mme+sgw+pgw is operational today
-    compilations \
-      epc_build_oai xt_GTPUSP_lib \
-      libxt_GTPUSP_lib.so $dbin
-    compilations \
-      epc_build_oai xt_GTPUSP \
-      CMakeFiles/xt_GTPUSP/xt_GTPUSP.ko $dbin
-    
-    echo_info "Copying iptables libraries into system directory: /lib/xtables"
-    if [ -f  $dbin/libxt_GTPUSP_lib.so ] ; then
-      $SUDO rm -f /lib/xtables/libxt_GTPUSP.so
-      $SUDO ln -s $dbin/libxt_GTPUSP_lib.so /lib/xtables/libxt_GTPUSP.so
-    else
-      echo_fatal "not installed GTP-U iptables: binaries not found"
-    fi
-  fi
-  # Do EPC
-  if [ -f $OPENAIR_DIR/cmake_targets/epc_build_oai/build/mme_fd.conf ] ; then
-    cp -uv $OPENAIR_DIR/cmake_targets/epc_build_oai/build/epc*.conf $dconf
-    $SUDO cp -uv $OPENAIR_DIR/cmake_targets/epc_build_oai/build/mme_fd.conf  $FREEDIAMETER_PREFIX/etc/freeDiameter
-  else
-    echo_fatal "not installed EPC config files: not found"
-  fi
-}
-
-
-main "$@"
-
diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper
index 100effd872ed01260bd5054a4685afa202065557..953c21d92980498eba2498c8215c0db820c27761 100755
--- a/cmake_targets/tools/build_helper
+++ b/cmake_targets/tools/build_helper
@@ -1,29 +1,31 @@
 ################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
 #
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+# Copyright (c) 2015, EURECOM (www.eurecom.fr)
+# All rights reserved.
 #
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
 #
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
 #
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+# The views and conclusions contained in the software and documentation are those
+# of the authors and should not be interpreted as representing official policies,
+# either expressed or implied, of the FreeBSD Project.
 #
 ################################################################################
 # file build_helper
@@ -95,12 +97,9 @@ clean_kernel() {
 clean_all_files() {
  set_openair_env
  dir=$OPENAIR_DIR/cmake_targets
-  rm -rf $dir/log $OPENAIR_DIR/targets/bin/* 
+ rm -rf $dir/log $OPENAIR_DIR/targets/bin/* 
  rm -rf $dir/lte_build_oai $dir/lte-simulators/build
- rm -rf $dir/epc_build_oai/build $dir/epc_build_oai/CMakeLists.txt
  rm -rf $dir/oaisim_build_oai/build $dir/oaisim_build_oai/CMakeLists.txt
- rm -rf $dir/oaisim_mme_build_oai/build $dir/oaisim_mme_build_oai/CMakeLists.txt
- rm -rf $dir/hss_build/build
  rm -rf $dir/autotests/bin $dir/autotests/log $dir/autotests/*/build 
 }
 
@@ -123,50 +122,6 @@ compilations() {
   fi
 }
 
-
-##########################################
-# X.509 certificates
-##########################################
-
-make_one_cert() {
-    fqdn=$1
-    name=$2
-    $SUDO openssl genrsa -out $name.key.pem 1024
-    $SUDO openssl req -new -batch -out $name.csr.pem -key $name.key.pem -subj /CN=$name.$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-    $SUDO openssl ca -cert cacert.pem -keyfile cakey.pem -in $name.csr.pem -out $name.cert.pem -outdir . -batch
-}
-
-make_certs(){
-    
-    fqdn=$1
-  certs_dir=$FREEDIAMETER_PREFIX/freeDiameter
-    # certificates are stored in diameter config directory
-    if [ ! -d $certs_dir ];  then
-        echo "Creating non existing directory: $certs_dir"
-        $SUDO mkdir -p $certs_dir || echo_error "can't create: $certs_dir"
-    fi
-
-    cd $certs_dir
-    echo "creating the CA certificate"
-    echo_warning "erase all existing certificates as long as the CA is regenerated"
-    $SUDO rm -f $certs_dir/*.pem
-    $SUDO mkdir -p  $certs_dir/demoCA/
-    $SUDO touch $certs_dir/demoCA/index.txt
-    $SUDO sh -c "echo 01 > $certs_dir/demoCA/serial"
-
-    # CA self certificate
-    $SUDO openssl req  -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out cacert.pem -keyout cakey.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-    
-    # generate hss certificate and sign it
-    make_one_cert eur hss
-    make_one_cert eur mme
-
-    # legacy config is using a certificate named 'user'
-    make_one_cert eur user
-
-}
-
-
 ############################################
 # External packages installers
 ############################################
@@ -200,58 +155,6 @@ install_gnutls_from_source(){
     rm -rf /tmp/gnutls-3.1.23.tar.xz /tmp/gnutls-3.1.23
 }
 
-install_1.1.5_freediameter_from_source() {
-    cd /tmp
-    echo "Downloading 1.1.5 freeDiameter archive"
-    rm -rf /tmp/1.1.5.tar.gz* /tmp/freeDiameter-1.1.5
-    wget http://www.freediameter.net/hg/freeDiameter/archive/1.1.5.tar.gz 
-    tar xzf 1.1.5.tar.gz
-    cd freeDiameter-1.1.5
-    patch -p1 < $OPENAIR_DIR/openair-cn/S6A/freediameter/freediameter-1.1.5.patch 
-    mkdir build
-    cd build
-    cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../ 
-    echo "Compiling freeDiameter"
-    make -j`nproc`
-    #make test 
-    $SUDO make install 
-    rm -rf /tmp/1.1.5.tar.gz /tmp/freeDiameter-1.1.5
-}
-
-install_freediameter_from_source() {
-  cd /tmp
-  echo "Downloading 1.2.0 freeDiameter archive"
-  rm -rf /tmp/1.2.0.tar.gz* /tmp/freeDiameter-1.2.0
-  wget http://www.freediameter.net/hg/freeDiameter/archive/1.2.0.tar.gz 
-  tar xzf 1.2.0.tar.gz
-  cd freeDiameter-1.2.0
-  patch -p1 < $OPENAIR_DIR/openair-cn/S6A/freediameter/freediameter-1.2.0.patch 
-  mkdir build
-  cd build
-  cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../ 
-  echo "Compiling freeDiameter"
-  make -j`nproc`
-  #make test 
-  $SUDO make install 
-  rm -rf /tmp/1.2.0.tar.gz /tmp/freeDiameter-1.2.0
-}
-
-install_latest_freediameter_from_source() {
-  cd /tmp
-  rm -rf /tmp/freeDiameter
-  echo "Downloading latest freeDiameter trunk (may be unstable)"
-  git clone https://github.com/Metaswitch/freeDiameter.git
-  cd freeDiameter
-  patch -p1 < $OPENAIR_DIR/openair-cn/S6A/freediameter/freediameter-1.2.0.patch 
-  mkdir build
-  cd build
-  cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../ 
-  echo "Compiling freeDiameter"
-  make -j`nproc`
-  #make test 
-  $SUDO make install 
-  rm -rf /tmp/freeDiameter
-}
 
 
 check_install_usrp_uhd_driver(){
@@ -345,8 +248,6 @@ check_install_oai_software() {
 	libxml2-dev  \
 	linux-headers-`uname -r` \
 	mscgen  \
-	mysql-client  \
-	mysql-server \
 	octave \
 	octave-signal \
 	openssh-client \
@@ -400,65 +301,7 @@ install_nas_tools() {
 
 }
 
-##################################
-# create HSS DB
-################################
-
-# arg 1 is mysql admin     (ex: root)
-# arg 2 is mysql password  (ex: linux)
-# arg 3 is hss username    (ex: hssadmin)
-# arg 4 is hss password    (ex: admin)
-# arg 5 is database name   (ex: oai_db)
-create_hss_database(){
-  EXPECTED_ARGS=5
-  if [ $# -ne $EXPECTED_ARGS ]
-  then
-    echo_error "Usage: $0 dbadmin dbpass hssuser hsspass databasename"
-    return 1
-  fi
-  local mysql_admin=$1
-  local mysql_password=$2
-  local hss_username=$3
-  local hss_password=$4
-  local database_name=$5
-    
-  Q1="GRANT ALL PRIVILEGES ON *.* TO '$hss_username'@'localhost' IDENTIFIED BY '$hss_password' WITH GRANT OPTION;"
-  Q2="FLUSH PRIVILEGES;"
-  mysql -u $mysql_admin --password=$mysql_password -e "${Q1}${Q2}"
-  if [ $? -ne 0 ]; then
-    echo_error "HSS: $hss_username permissions creation failed"
-    echo_error "verify root password for mysql is linux: mysql -u root --password=linux"
-    echo_error "if not, reset it to "linux" with sudo dpkg-reconfigure mysql-server-5.5"
-    return 1
-  else
-    echo_success "HSS: $hss_username permissions creation succeeded"
-  fi
-    
-  Q3="CREATE DATABASE IF NOT EXISTS $database_name;"
-  mysql -u $hss_username --password=$hss_password -e "${Q3}"
-  if [ $? -ne 0 ]; then
-    echo_error "HSS: $database_name creation failed"
-    return 1
-  else
-    echo_success "HSS: $database_name creation succeeded"
-  fi
 
-    
-  # test if tables have been created
-  mysql -u $hss_username --password=$hss_password  -e "desc $database_name.users" > /dev/null 2>&1
-  if [ $? -eq 1 ]; then 
-    mysql -u $hss_username --password=$hss_password $database_name < $OPENAIR_DIR/openair-cn/OPENAIRHSS/db/$database_name.sql
-    if [ $? -ne 0 ]; then
-      echo_error "HSS: $database_name tables creation failed"
-      return 1
-    else
-      echo_success "HSS: $database_name tables creation succeeded"
-    fi
-  else
-      echo_success "HSS: $database_name tables already created, nothing done"
-  fi 
-  return 0
-}
 
 ################################
 # set_openair_env
diff --git a/cmake_targets/tools/build_hss b/cmake_targets/tools/build_hss
deleted file mode 100755
index 6e0b1e927ae1171125599a3cdd3b7b7fc5392739..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/build_hss
+++ /dev/null
@@ -1,271 +0,0 @@
-#!/bin/bash
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) anylater version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file build_hss
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-#
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-
-
-
-function help()
-{
-  echo_error " "
-  echo_error "Usage: build_hss [OPTION]..."
-  echo_error "Build the experimental HSS executable."
-  echo_error " "
-  echo_error "Options:"
-  echo_error "Mandatory arguments to long options are mandatory for short options too."
-  echo_error "  -b, --s6a-bind-addr-list       addr_list  Optionaly, s6a server bind addresses can be specified here"
-  echo_error "  -c, --clean                               Clean the build generated files (build from scratch)"
-  echo_error "  -d, --debug                               Compile with debug informations."
-  echo_error "  -f, --fqdn                     fqdn       HSS Fully Qualified Domain Name (if not specified default is `hostname --fqdn`)."
-  echo_error "  -h, --help                                Print this help."
-  echo_error "  -i, --check-installed-software            Check installed software packages necessary to build and run HSS (support Ubuntu 14.04)."
-  echo_error "  -I, --install-hss-files                   Install HSS database if necessary."
-  echo_error "  -k, --operator-key             key        Operator key of the HSS."
-  echo_error "                                            If filled, then OPc key in table users for all subscribers (IMSI) will be computed."
-  echo_error "  -m, --connect-to-mme           fqdn       MME act as a S6A server, HSS as a client (reversed situation but allows MME and HSS be on the same host) ."
-  echo_error "  -r, --realm                    realm      Realm of the HSS (optional parameter)."
-  echo_error "  -R, --random                   boolean    If false HSS random function returns always 0 (allowed values: {true, false})."
-  echo_error "  -s, --transport-sctp-only                 Diameter use SCTP (TCP disabled)."
-  echo_error "  -t, --transport-tcp-only                  Diameter use TCP (SCTP disabled)."
-  echo_error "  -T, --transport-prefer-tcp                Diameter prefer TCP."
-  echo_error "  -v, --verbose                             Build process verbose."
-  echo_error " "
-  echo_error "Examples:"
-  echo_error " "
-  echo_error "Case 1 - HSS run on same EPC host"
-  echo_error "build_hss -d -m my_epc_fqdn -d -t -T"
-  echo_error "or build_hss -d -m my_epc_fqdn -d -t -T -k 11111111111111111111111111111111"
-  echo_error " "
-  echo_error "Case 2 - HSS and EPC do not run on same host"
-  echo_error "build_hss -d -s"
-  echo_error "build_hss -d -s -k 11111111111111111111111111111111"
-}
-
-
-
-function main()
-{
-  local -i clean=0
-  local -i verbose=0
-  local    cmake_args=" "
-  local    make_args="-j $NUM_CPU"
-  local    realm=""
-  local    hss_hostname=""
-  local    mme_hostname=""
-  local    mme_ip=""
-  local    mme_fqdn=""
-  
-
-  until [ -z "$1" ]; do
-    case "$1" in
-      -b | --s6a-bind-addr-list)
-        echo "S6A server bind addresses: $2"
-        cmake_args="$cmake_args -DFD_SERVER_IP_BIND_LIST=$2"
-        shift 2;
-        ;;
-      -c | --clean)
-        clean=1
-        echo "Clean the build generated files (build from scratch)"
-        shift;
-        ;;
-      -d | --debug)
-        cmake_args="$cmake_args -DDEBUG=1"
-        echo "Compile with debug informations"
-        shift;
-        ;;
-      -f | --fqdn)
-        echo "FQDN of the HSS: $2"
-        cmake_args="$cmake_args -DHSS_FQDN=$2"
-        shift 2;
-        ;;
-      -h | --help)
-        help
-        exit 0
-        ;;
-      -i | --check-installed-software)
-        echo "Check installed software packages necessary to build and run HSS (support Ubuntu 14.04):"
-        set_openair_env
-        check_install_oai_software
-        exit 0
-        ;;
-      -I | --install-hss-files)
-        echo "Install HSS files: .conf files, database (if you want to reinstall database, drop it by hand before)."
-        cmake_args="$cmake_args -DINSTALL_HSS_FILES=1"
-        shift;
-        ;;
-      -k | --operator-key)
-        echo "Operator key of the HSS: $2"
-        cmake_args="$cmake_args -DOPERATOR_key=$2"
-        shift 2;
-        ;;
-      -m | --connect-to-mme)
-        mme_fqdn=$2
-        shift 2;
-        ;;
-      -r | --realm)
-        echo "Realm of the HSS: $2"
-        cmake_args="$cmake_args -DREALM=$2"
-        shift 2;
-        ;;
-      -R | --random)
-        echo "Random function: $2"
-        cmake_args="$cmake_args -DRANDOM_boolean=$2"
-        shift 2;
-        ;;
-      -s | --transport-sctp-only)
-        echo "Diameter use SCTP (TCP disabled), this is the default option."
-        cmake_args="$cmake_args -DTRANSPORT_option=No_TCP"
-        shift;
-        ;;
-      -t | --transport-tcp-only)
-        echo "Diameter use TCP (SCTP disabled)."
-        cmake_args="$cmake_args -DTRANSPORT_option=No_SCTP"
-        shift;
-        ;;
-      -T | --transport-prefer-tcp)
-        echo "Diameter prefer TCP (TCP, SCTP enabled)."
-        cmake_args="$cmake_args -DTRANSPORT_PREFER_TCP_option=Prefer_TCP"
-        shift;
-        ;;
-      -v | --verbose)
-        echo "Make build process verbose"
-        cmake_args="$cmake_args -DCMAKE_VERBOSE_MAKEFILE=ON"
-        make_args="VERBOSE=1 $make_args"
-        verbose=1
-        shift;
-        ;;
-      *)   
-        echo "Unknown option $1"
-        help
-        exit 1
-        ;;
-    esac
-  done
-
-  # extra arguments processing
-  if [[ z$hss_fqdn = z ]]; then
-    hss_fqdn=`hostname --fqdn`
-    cmake_args="$cmake_args -DHSS_FQDN=$hss_fqdn"
-    if [[ z$realm = z ]]; then
-      realm=$hss_fqdn
-      realm=${realm#*.}
-      cmake_args="$cmake_args -DREALM=$realm"
-    fi
-  fi
-  
-  if [[ z$mme_fqdn != z ]]; then
-    cmake_args="$cmake_args -DMME_FQDN=$mme_fqdn"
-    mme_hostname=${mme_fqdn%%.*}
-    cmake_args="$cmake_args -DMME_HOSTNAME=$mme_hostname"
-  
-    mme_ip=`resolveip --silent $mme_hostname`
-    if [[ z$mme_ip = z ]]; then
-      mme_ip=`resolveip --silent $mme_fqdn`
-    fi
-    if [[ z$mme_ip = z ]]; then
-      echo_fatal "Unable to get MME IP addr of $mme_fqdn"
-    fi
-    cmake_args="$cmake_args -DHSS_CONNECT_TO_MME=1 -DMME_IP=$mme_ip"
-  fi
-
-  set_openair_env
-  if [[ $verbose -eq 1 ]]; then
-    cecho "OPENAIR_DIR    = $OPENAIR_DIR" $green
-  fi
-  
-  if [[ z$OPENAIR_DIR = z ]]; then
-    echo_fatal "OPENAIR_DIR env variable not set, exiting"
-  fi
-
-
-  local dbin=$OPENAIR_DIR/targets/bin
-  local dlog=$OPENAIR_DIR/cmake_targets/log
-  local dconf=OPENAIR_DIR/targets/bin
-  
-  mkdir -m 777 -p $dbin $dlog
-
-  # for conf files copy in this bash script
-  if [ -d /usr/lib/freeDiameter ]; then
-    export FREEDIAMETER_PREFIX=/usr
-  else
-    if [ -d /usr/local/lib/freeDiameter ]; then
-      export FREEDIAMETER_PREFIX=/usr/local
-    else
-      echo_fatal "FreeDiameter prefix not found, install freeDiameter if EPC, HSS"
-    fi
-  fi
-  
- 
-  
-  cmake_args="$cmake_args -DOPENAIR_DIR=$OPENAIR_DIR"
-
-  rm -f $OPENAIR_DIR/targets/bin/openair-hss
-  cd $OPENAIR_DIR/cmake_targets/hss_build
-  if [ $clean -ne 0 ]; then
-    if [[ $verbose -eq 1 ]]; then
-      echo "Cleaning HSS"
-    fi
-    $SUDO rm -Rf build 2>&1
-    if [[ $verbose -eq 1 ]]; then
-      echo "Cleaning /usr/*/etc/freeDiameter"
-    fi
-    $SUDO rm -f /usr/local/etc/freeDiameter/hss* 2>&1
-    $SUDO rm -f /usr/local/etc/freeDiameter/acl.conf 2>&1
-    $SUDO rm -f /usr/etc/freeDiameter/hss* 2>&1
-    $SUDO rm -f /usr/etc/freeDiameter/acl.conf 2>&1
-    mkdir -m 777 -p -v build
-  fi
-  if [ ! -d ./build ]; then
-    mkdir -m 777 -p -v build
-  fi
-  cd ./build
-  cmake  $cmake_args ..
-  make $make_args
-  make install
-  
-  
-  # bash doesn't like space char around = char
-  cp -uv $OPENAIR_DIR/cmake_targets/hss_build/build/hss.conf $dbin
-  $SUDO cp -uv $OPENAIR_DIR/cmake_targets/hss_build/build/hss_fd.conf $OPENAIR_DIR/cmake_targets/hss_build/build/acl.conf $FREEDIAMETER_PREFIX/etc/freeDiameter
-  
-}
-
-
-main "$@"
-
diff --git a/cmake_targets/tools/build_test_epc_tools b/cmake_targets/tools/build_test_epc_tools
new file mode 100755
index 0000000000000000000000000000000000000000..aff2a26fc09ef8f1705328c07df7f2357695744e
--- /dev/null
+++ b/cmake_targets/tools/build_test_epc_tools
@@ -0,0 +1,147 @@
+#!/bin/bash
+################################################################################
+#   OpenAirInterface
+#   Copyright(c) 1999 - 2014 Eurecom
+#
+#    OpenAirInterface is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation, either version 3 of the License, or
+#    (at your option) anylater version.
+#
+#
+#    OpenAirInterface is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with OpenAirInterface.The full GNU General Public License is
+#    included in this distribution in the file called "COPYING". If not,
+#    see <http://www.gnu.org/licenses/>.
+#
+#  Contact Information
+#  OpenAirInterface Admin: openair_admin@eurecom.fr
+#  OpenAirInterface Tech : openair_tech@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#
+#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+#
+################################################################################
+# file build_test_epc_tools
+# brief
+# author Lionel Gauthier
+# company Eurecom
+# email: lionel.gauthier@eurecom.fr
+#
+################################
+# include helper functions
+################################
+THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
+source $THIS_SCRIPT_PATH/build_helper
+
+function help()
+{
+  echo_error " "
+  echo_error "Usage: build_test_epc_tools [OPTION]..."
+  echo_error "Build the executables for generating and running a test case for EPC."
+  echo_error " "
+  echo_error "Options:"
+  echo_error "Mandatory arguments to long options are mandatory for short options too."
+  echo_error "  -c, --clean                               Clean the build generated files (build from scratch)"
+  echo_error "  -d, --debug                               Compile with debug informations."
+  echo_error "  -h, --help                                Print this help."
+  echo_error "  -v, --verbose                             Build process verbose."
+  echo_error " "
+}
+
+
+
+function main()
+{
+  local -i clean=0
+  local -i verbose=0
+  local    cmake_args=" "
+  local    make_args="-j $NUM_CPU"
+  local    realm=""
+
+
+  until [ -z "$1" ]
+    do
+    case "$1" in
+      -c | --clean)
+        clean=1
+        echo "Clean the build generated files (build from scratch)"
+        shift;
+        ;;
+      -d | --debug)
+        cmake_args="$cmake_args -DDEBUG=1"
+        echo "Compile with debug informations"
+        shift;
+        ;;
+      -h | --help)
+        help
+        shift;
+        exit 0
+        ;;
+      -v | --verbose)
+        echo "Make build process verbose"
+        cmake_args="$cmake_args -DCMAKE_VERBOSE_MAKEFILE=ON"
+        make_args="VERBOSE=1 $make_args"
+        verbose=1
+        shift;
+        ;;
+      *)   
+        echo "Unknown option $1"
+        help
+        exit 1
+        ;;
+    esac
+  done
+  
+
+
+
+  set_openair_env 
+  if [[ $verbose -eq 1 ]]; then
+    cecho "OPENAIR_DIR    = $OPENAIR_DIR" $green
+  fi
+    
+  local dbin=$OPENAIR_DIR/targets/bin
+  local dlog=$OPENAIR_DIR/cmake_targets/log
+  local dconf=$OPENAIR_DIR/targets/bin
+  
+  mkdir -m 777 -p $dbin $dlog
+  
+  ##############################################################################
+  # Compile userspace executable
+  ##############################################################################
+  cd $OPENAIR_DIR/cmake_targets/epc_test
+  if [ $clean -ne 0 ]; then
+    if [[ $verbose -eq 1 ]]; then
+      echo "Cleaning TEST_EPC"
+    fi
+    rm -f $OPENAIR_DIR/targets/bin/test_epc_generate_scenario
+    rm -Rf build 2>&1
+    mkdir -m 777 -p -v build
+  fi
+  
+  ##############################################################################
+  # Compile EPC
+  ##############################################################################
+  cd $OPENAIR_DIR/cmake_targets/epc_test
+  if [ ! -d ./build ]; then
+    mkdir -m 777 -p -v build
+  fi
+  cmake_file=./CMakeLists.txt
+  cp $OPENAIR_DIR/cmake_targets/epc_test/CMakeLists.template $cmake_file
+  echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
+  cd ./build
+  cmake  $cmake_args ..
+  compilations \
+      epc_test test_epc_generate_scenario \
+      test_epc_generate_scenario $dbin/test_epc_generate_scenario
+}
+
+
+main "$@"
+
diff --git a/cmake_targets/tools/check_hss_s6a_certificate b/cmake_targets/tools/check_hss_s6a_certificate
deleted file mode 100755
index e444c7f4c50a366e2f8e8b5e7917a65ec1716f41..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/check_hss_s6a_certificate
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/bash
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) anylater version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file check_hss_s6a_certificate
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-
-
-function _create_hss_certs()
-{
-  local    freediameter_path=$1
-  local    fqdn=$2
-
-  cd /tmp
-  rm -rf /tmp/demoCA
-  mkdir /tmp/demoCA
-  echo 01 > /tmp/demoCA/serial
-  touch /tmp/demoCA/index.txt
-
-  echo "Creating HSS certificate for user '$fqdn'"
-  # Create a Root Certification Authority Certificate
-  openssl req  -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out hss.cacert.pem -keyout hss.cakey.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
-  # Generate a Private Key
-  openssl genrsa -out hss.key.pem 1024
-
-  # Generate a CSR (Certificate Signing Request) that will be self-signed
-  openssl req -new -batch -out hss.csr.pem -key hss.key.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
-  # Certification authority
-  openssl ca -cert hss.cacert.pem -keyfile hss.cakey.pem -in hss.csr.pem -out hss.cert.pem -outdir . -batch
-
-  if [ ! -d $freediameter_path/etc/freeDiameter ]; then
-    echo "Creating non existing directory: $freediameter_path/etc/freeDiameter/"
-    sudo mkdir -p $freediameter_path/etc/freeDiameter/
-  fi
-
-  sudo mv hss.cakey.pem hss.cert.pem hss.cacert.pem hss.key.pem $freediameter_path/etc/freeDiameter/
-  cd -
-}
-
-
-#$1 if freediameter path
-#$2 is fqdn
-function main() {
-  local freediameter_path=$1
-  local fqdn=$2
-  if [ -d $freediameter_path/etc/freeDiameter ]; then
-    if [ -f $freediameter_path/etc/freeDiameter/hss.cert.pem ];  then
-      full_hostname=`cat $freediameter_path/etc/freeDiameter/hss.cert.pem | grep "Subject" | grep "CN" | cut -d '=' -f6`
-      if [ a$full_hostname == a$fqdn ]; then
-        echo_success "HSS S6A: Found valid certificate in $freediameter_path/etc/freeDiameter"
-        return 0
-      else 
-        echo_error "Bad hss fqdn found in cert file: $full_hostname  fqdn is $fqdn"
-      fi
-    fi
-  fi
-  echo_error "HSS S6A: Did not find valid certificate in $freediameter_path/etc/freeDiameter"
-  echo_warning "HSS S6A: generating new certificate in $freediameter_path/etc/freeDiameter..."
-  _create_hss_certs $freediameter_path $fqdn
-  if [ $# -lt 3 ] ; then
-    main $freediameter_path $fqdn 2
-    return $?
-  else
-    echo_error "Could not access to freeDiameter path: $freediameter_path/etc/freeDiameter"
-    exit 1
-  fi
-}
-
-main "$@" 
diff --git a/cmake_targets/tools/check_mme_s6a_certificate b/cmake_targets/tools/check_mme_s6a_certificate
deleted file mode 100755
index aac91f3abe60e766e1293375394c77e96aaae80a..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/check_mme_s6a_certificate
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/bash
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) anylater version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file check_mme_s6a_certificate
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-. $THIS_SCRIPT_PATH/build_helper
-
-
-function _create_mme_certs()
-{
-  local    freediameter_path=$1
-  local    fqdn=$2
-
-  cd /tmp
-  rm -rf /tmp/demoCA
-  mkdir /tmp/demoCA
-  echo 01 > /tmp/demoCA/serial
-  touch /tmp/demoCA/index.txt
-
-  echo "Creating MME certificate for user '$fqdn'"
-  # Create a Root Certification Authority Certificate
-  openssl req  -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out mme.cacert.pem -keyout mme.cakey.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
-  # Generate a Private Key
-  openssl genrsa -out mme.key.pem 1024
-
-  # Generate a CSR (Certificate Signing Request) that will be self-signed
-  openssl req -new -batch -out mme.csr.pem -key mme.key.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
-  # Certification authority
-  openssl ca -cert mme.cacert.pem -keyfile mme.cakey.pem -in mme.csr.pem -out mme.cert.pem -outdir . -batch
-
-  if [ ! -d $freediameter_path/etc/freeDiameter ]; then
-    echo "Creating non existing directory: $freediameter_path/etc/freeDiameter/"
-    sudo mkdir -p $freediameter_path/etc/freeDiameter/
-  fi
-
-  sudo mv mme.cakey.pem mme.cert.pem mme.cacert.pem mme.key.pem $freediameter_path/etc/freeDiameter/
-  cd -
-}
-
-#$1 if freediameter path
-#$2 is fqdn
-function main() {
-  local freediameter_path=$1
-  local fqdn=$2
-  if [ -d $freediameter_path/etc/freeDiameter ]; then
-    if [ -f $freediameter_path/etc/freeDiameter/mme.cert.pem ];  then
-      full_hostname=`cat $freediameter_path/etc/freeDiameter/mme.cert.pem | grep "Subject" | grep "CN" | cut -d '=' -f6`
-      if [ a$full_hostname == a$fqdn ]; then
-        echo_success "MME S6A: Found valid certificate in $freediameter_path/etc/freeDiameter"
-        return 0
-      else 
-        echo_error "Bad mme fqdn found in cert file: $full_hostname  fqdn is $fqdn"
-      fi
-    else
-      echo_error "File $freediameter_path/etc/freeDiameter/mme.cert.pem not found"
-    fi
-  else
-    echo_error "Directory $freediameter_path/etc/freeDiameter not found"
-  fi
-  echo_error "MME S6A: Did not find valid certificate in $freediameter_path/etc/freeDiameter"
-  echo_warning "MME S6A: generating new certificate in $freediameter_path/etc/freeDiameter..."
-  _create_mme_certs $freediameter_path $fqdn
-  if [ $# -lt 3 ] ; then
-    main $freediameter_path $fqdn 2
-    return $?
-  else
-    echo_error "Could not access to freeDiameter path: $freediameter_path/etc/freeDiameter"
-    exit 1
-  fi
-}
-
-main "$@" 
diff --git a/cmake_targets/tools/create_hss_database b/cmake_targets/tools/create_hss_database
deleted file mode 100755
index 054be034d71cdd41fdad80a85d4e629b0d48f130..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/create_hss_database
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) anylater version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file create_hss_database
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-. $THIS_SCRIPT_PATH/build_helper
-
-
-# arg 1 is mysql user      (ex: root)
-# arg 2 is mysql password  (ex: linux)
-# arg 3 is hss username    (ex: hssadmin)
-# arg 4 is hss password    (ex: admin)
-# arg 5 is database name   (ex: oai_db)
-function main()
-{
-    EXPECTED_ARGS=5
-    E_BADARGS=65
-    MYSQL=`which mysql`
-    rv=0
-    if [ $# -ne $EXPECTED_ARGS ]
-    then
-        echo_fatal "Usage: $0 dbuser dbpass hssuser hsspass databasename"
-        rv=1
-    fi
-
-    set_openair_env
-    
-    # removed %
-    #Q1="GRANT ALL PRIVILEGES ON *.* TO '$3'@'%' IDENTIFIED BY '$4' WITH GRANT OPTION;"
-    Q1="GRANT ALL PRIVILEGES ON *.* TO '$3'@'localhost' IDENTIFIED BY '$4' WITH GRANT OPTION;"
-    Q2="FLUSH PRIVILEGES;"
-    SQL="${Q1}${Q2}"
-    $MYSQL -u $1 --password=$2 -e "$SQL"
-    if [ $? -ne 0 ]; then
-       echo_error "$3 permissions failed"
-       return 1
-    else
-       echo_success "$3 permissions succeeded"
-    fi
-    
-    
-    Q1="CREATE DATABASE IF NOT EXISTS ${BTICK}$5${BTICK};"
-    SQL="${Q1}"
-    $MYSQL -u $3 --password=$4 -e "$SQL"
-    if [ $? -ne 0 ]; then
-       echo_error "$5 creation failed"
-       return 1
-    else
-       echo_success "$5 creation succeeded"
-    fi
-    
-    
-    # test if tables have been created
-    mysql -u $3 --password=$4  -e "desc $5.users" > /dev/null 2>&1
-    
-    if [ $? -eq 1 ]; then 
-        $MYSQL -u $3 --password=$4 $5 < $OPENAIRCN_DIR/OPENAIRHSS/db/$5.sql
-        if [ $? -ne 0 ]; then
-            echo_error "$5 tables creation failed"
-            return 1
-        else
-            echo_success "$5 tables creation succeeded"
-        fi
-    fi
-    
-    return 0
-}
-
-main "$@" 
-
diff --git a/cmake_targets/tools/epc.conf.in b/cmake_targets/tools/epc.conf.in
deleted file mode 100755
index 7af3cca4cc8c97be76b591b9133bb39e69b95904..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/epc.conf.in
+++ /dev/null
@@ -1,163 +0,0 @@
-#                               Internet
-#                                  | 
-#         PGW_IPV4_ADDRESS_FOR_SGI | 
-# +-----------+-------+------------+---------------+--------------------------+
-# |host y     |       | PGW_INTERFACE_NAME_FOR_SGI |                          |
-# +-----------+       +------------+---------------+                          |
-# |                                |                                          |
-# |                           +----+----+   (HSS may run on this host         |
-# |                           | mme_gw  |    or on another one)               |
-# |                           +----+----+                                     |
-# |                                |                                          |
-# |              +-----------------+--------------------+                     |
-# |              | SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP |                     |
-# |              | MME_INTERFACE_NAME_FOR_S1_MME        |                     |
-# +----------------------------+---+--+---------------------------------------+
-#     MME_IPV4_ADDRESS_FOR_S1_MME  |  (S1-C and S1-U addresses/interfaces may be the same)  
-# SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP 
-#                                  |
-#                                  |
-#                          a.b.c.d |
-# +---------------+------------+---+--+---------------------------------------+
-# |eNBx           |            | ethx |                                       |
-# +---------------+            +---+--+                                       |
-# |                                |                                          |
-# |                         +------+---------+                                |
-# |                         | lte-softmodem  |                                |
-# |                         |       or       |                                |
-# |                         | oaisim (1)eNB (x UEs)                           |
-# |                         +-------+--------+                                |
-# +---------------------------------+-----------------------------------------+
-#                                   |
-#                                   O (RF antenna)
-
-MME : 
-{
-
-    REALM                          = "@REALM@";                                 # DO NOT CHANGE
-    # Define the limits of the system in terms of served eNB and served UE.
-    # When the limits will be reached, overload procedure will take place.
-    MAXENB                         = 10;                                                             
-    MAXUE                          = 100;
-    RELATIVE_CAPACITY              = 10;
-    # Display statistics about whole system (expressed in seconds)
-    MME_STATISTIC_TIMER            = 10;
-    EMERGENCY_ATTACH_SUPPORTED     = "no";
-    UNAUTHENTICATED_IMSI_SUPPORTED = "no";
-    # ASN1 VERBOSITY: none, info, annoying
-    VERBOSITY                      = "none";
-    
-    
-    IP_CAPABILITY = "IPV4V6";
-    
-    
-    INTERTASK_INTERFACE :
-    {
-        # max queue size per task
-        ITTI_QUEUE_SIZE            = 2000000;
-    };
-
-    S6A :
-    {
-        S6A_CONF                   = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme_fd.conf";# DO NOT CHANGE
-        HSS_HOSTNAME               = "@HSS_HOSTNAME@";                                     # DO NOT CHANGE
-    };
-
-    # ------- SCTP definitions
-    SCTP :
-    {
-        # Number of streams to use in input/output
-        SCTP_INSTREAMS  = 8;
-        SCTP_OUTSTREAMS = 8;
-    };
-
-    # ------- S1AP definitions
-    S1AP : 
-    {
-        # outcome drop timer value (seconds)
-        S1AP_OUTCOME_TIMER = 10;
-    };
-
-    # ------- MME served GUMMEI
-    GUMMEI :
-    {
-        # MME code DEFAULT = 0
-        # size = 8 bits
-        # maximum of 256 values, comma separated
-        MME_CODE = [ 1, 30 , 31, 32, 33, 34, 35, 36, 56 , 29 , 8 ];
-
-        # MME GROUP ID DEFAULT = 0
-        # size = 16 bits
-        # maximum of 65535 values, comma separated
-        MME_GID = [ 32768 , 4 , 5 , 30 , 8 , 9 , 50021 ];
-
-        # TA (mcc.mnc:tracking area code) DEFAULT = 208.34:0
-        # max values = 999.999:65535
-        # maximum of 32 values, comma separated
-        TAI_LIST = ( 
-             {MCC="208" ; MNC="95";  TAC = "1"; }                               # YOUR PLMN CONFIG HERE
-        );
-    };
-    
-    NAS :
-    {
-        # 3GPP TS 33.401 section 7.2.4.3 Procedures for NAS algorithm selection
-        # decreasing preference goes from left to right
-        ORDERED_SUPPORTED_INTEGRITY_ALGORITHM_LIST = [ "EIA2" , "EIA1" , "EIA0" ];
-        ORDERED_SUPPORTED_CIPHERING_ALGORITHM_LIST = [ "EEA0" , "EEA1" , "EEA2" ];
-    };
-    
-    NETWORK_INTERFACES : 
-    {
-        MME_INTERFACE_NAME_FOR_S1_MME         = "eth2";                         # YOUR NETWORK CONFIG HERE
-        MME_IPV4_ADDRESS_FOR_S1_MME           = "192.168.27.101//24";           # YOUR NETWORK CONFIG HERE
-
-        MME_INTERFACE_NAME_FOR_S11_MME        = "none";
-        MME_IPV4_ADDRESS_FOR_S11_MME          = "0.0.0.0/24";
-    };
-};
-
-S-GW : 
-{
-    NETWORK_INTERFACES : 
-    {
-        SGW_INTERFACE_NAME_FOR_S11              = "none";
-        SGW_IPV4_ADDRESS_FOR_S11                = "0.0.0.0/24";
-
-        SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP    = "eth2";                       # YOUR NETWORK CONFIG HERE
-        SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP      = "192.168.27.101/24";          # YOUR NETWORK CONFIG HERE
-        SGW_IPV4_PORT_FOR_S1U_S12_S4_UP         = 2152;                         # PREFER NOT CHANGE
-
-        SGW_INTERFACE_NAME_FOR_S5_S8_UP         = "none";                       # DO NOT CHANGE
-        SGW_IPV4_ADDRESS_FOR_S5_S8_UP           = "0.0.0.0/24";                 # DO NOT CHANGE
-    };
-};
-
-P-GW = 
-{
-    NETWORK_INTERFACES : 
-    {
-        PGW_INTERFACE_NAME_FOR_S5_S8          = "none";                         # DO NOT CHANGE
-        PGW_IPV4_ADDRESS_FOR_S5_S8            = "0.0.0.0/24";                   # DO NOT CHANGE
-
-        PGW_INTERFACE_NAME_FOR_SGI            = "eth0";                         # YOUR NETWORK CONFIG HERE
-        PGW_IPV4_ADDRESS_FOR_SGI              = "192.168.12.213/24";            # YOUR NETWORK CONFIG HERE
-        PGW_MASQUERADE_SGI                    = "yes";                          # YOUR NETWORK CONFIG HERE
-    };
-    
-    IP_ADDRESS_POOL :
-    {
-        IPV4_LIST = (
-                      "192.188.0.0/24",                                         # YOUR NETWORK CONFIG HERE
-                      "192.188.1.0/24"                                          # YOUR NETWORK CONFIG HERE
-                    );
-        IPV6_LIST = (
-                      "2014:02:26::0/120"                                       # YOUR NETWORK CONFIG HERE
-                    );
-    };
-    
-    DEFAULT_DNS_IPV4_ADDRESS     = "192.168.106.12";                              # YOUR NETWORK CONFIG HERE
-    DEFAULT_DNS_SEC_IPV4_ADDRESS = "192.168.12.100";                              # YOUR NETWORK CONFIG HERE
-};
-
-
diff --git a/cmake_targets/tools/epc.local.enb.conf.in b/cmake_targets/tools/epc.local.enb.conf.in
deleted file mode 100755
index 353a294f64dde85f85e915ca3b3f301b042d5898..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/epc.local.enb.conf.in
+++ /dev/null
@@ -1,130 +0,0 @@
-MME : 
-{
-
-    REALM                          = "@REALM@";                                 # DO NOT CHANGE
-    # Define the limits of the system in terms of served eNB and served UE.
-    # When the limits will be reached, overload procedure will take place.
-    MAXENB                         = 10;
-    MAXUE                          = 100;
-    RELATIVE_CAPACITY              = 10;
-    # Display statistics about whole system (expressed in seconds)
-    MME_STATISTIC_TIMER            = 10;
-    EMERGENCY_ATTACH_SUPPORTED     = "no";
-    UNAUTHENTICATED_IMSI_SUPPORTED = "no";
-    # ASN1 VERBOSITY: none, info, annoying
-    VERBOSITY                      = "none";
-    
-    
-    IP_CAPABILITY = "IPV4V6";
-    
-    
-    INTERTASK_INTERFACE :
-    {
-        # max queue size per task
-        ITTI_QUEUE_SIZE            = 2000000;
-    };
-
-    S6A :
-    {
-        S6A_CONF                   = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme_fd.conf";# DO NOT CHANGE
-        HSS_HOSTNAME               = "@HSS_HOSTNAME@";                                     # DO NOT CHANGE
-    };
-
-    # ------- SCTP definitions
-    SCTP :
-    {
-        # Number of streams to use in input/output
-        SCTP_INSTREAMS  = 8;
-        SCTP_OUTSTREAMS = 8;
-    };
-
-    # ------- S1AP definitions
-    S1AP : 
-    {
-        # outcome drop timer value (seconds)
-        S1AP_OUTCOME_TIMER = 10;
-    };
-
-    # ------- MME served GUMMEI
-    GUMMEI :
-    {
-        # MME code DEFAULT = 0
-        # size = 8 bits
-        # maximum of 256 values, comma separated
-        MME_CODE = [ 1, 30 , 31, 32, 33, 34, 35, 36, 56 , 29 , 8 ];
-
-        # MME GROUP ID DEFAULT = 0
-        # size = 16 bits
-        # maximum of 65535 values, comma separated
-        MME_GID = [ 32768 , 4 , 5 , 30 , 8 , 9 , 50021 ];
-
-        # TA (mcc.mnc:tracking area code) DEFAULT = 208.34:0
-        # max values = 999.999:65535
-        # maximum of 32 values, comma separated
-        TAI_LIST = ( 
-             {MCC="208" ; MNC="95";  TAC = "1"; }                              # YOUR PLMN CONFIG HERE
-        );
-    };
-    
-    NAS :
-    {
-        # 3GPP TS 33.401 section 7.2.4.3 Procedures for NAS algorithm selection
-        # decreasing preference goes from left to right
-        ORDERED_SUPPORTED_INTEGRITY_ALGORITHM_LIST = [ "EIA2" , "EIA1" , "EIA0" ];
-        ORDERED_SUPPORTED_CIPHERING_ALGORITHM_LIST = [ "EEA0" , "EEA1" , "EEA2" ];
-    };
-    
-    NETWORK_INTERFACES : 
-    {
-        MME_INTERFACE_NAME_FOR_S1_MME         = "tun2";                         # DO NOT CHANGE
-        MME_IPV4_ADDRESS_FOR_S1_MME           = "192.188.2.2/24";               # DO NOT CHANGE
-
-        MME_INTERFACE_NAME_FOR_S11_MME        = "none";
-        MME_IPV4_ADDRESS_FOR_S11_MME          = "0.0.0.0/24";
-    };
-};
-
-S-GW : 
-{
-    NETWORK_INTERFACES : 
-    {
-        SGW_INTERFACE_NAME_FOR_S11              = "none";
-        SGW_IPV4_ADDRESS_FOR_S11                = "0.0.0.0/24";
-
-        SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP    = "lo";                         # DO NOT CHANGE
-        SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP      = "127.0.0.1/24";               # DO NOT CHANGE
-        SGW_IPV4_PORT_FOR_S1U_S12_S4_UP         = 2152;                         # PREFER NOT CHANGE
-
-        SGW_INTERFACE_NAME_FOR_S5_S8_UP         = "none";                       # DO NOT CHANGE
-        SGW_IPV4_ADDRESS_FOR_S5_S8_UP           = "0.0.0.0/24";                 # DO NOT CHANGE
-    };
-};
-
-P-GW = 
-{
-    NETWORK_INTERFACES : 
-    {
-        PGW_INTERFACE_NAME_FOR_S5_S8          = "none";                         # DO NOT CHANGE
-        PGW_IPV4_ADDRESS_FOR_S5_S8            = "0.0.0.0/24";                   # DO NOT CHANGE
-
-        PGW_INTERFACE_NAME_FOR_SGI            = "eth0";                         # YOUR NETWORK CONFIG HERE
-        PGW_IPV4_ADDRESS_FOR_SGI              = "192.168.12.213/24";            # YOUR NETWORK CONFIG HERE
-        PGW_MASQUERADE_SGI                    = "yes";                          # YOUR NETWORK CONFIG HERE
-    };
-    
-    IP_ADDRESS_POOL :
-    {
-        IPV4_LIST = (
-                      "192.187.0.0/24",                                         # YOUR NETWORK CONFIG HERE
-                      "192.187.1.0/24"                                          # YOUR NETWORK CONFIG HERE
-                    );
-        IPV6_LIST = (
-                      "2014:02:26::0/120"                                       # YOUR NETWORK CONFIG HERE
-                    );
-    };
-    
-    DEFAULT_DNS_IPV4_ADDRESS     = "192.168.106.12";                              # YOUR NETWORK CONFIG HERE
-    DEFAULT_DNS_SEC_IPV4_ADDRESS = "192.168.12.100";                              # YOUR NETWORK CONFIG HERE
-};
-
-
diff --git a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt b/cmake_targets/tools/example_enb_exmimo_mme_hss.txt
index c8227f176a69f317815f7bdb6cd0b1df769d42c0..2c693a50039405f3851c1048f0b55e04a797bf62 100644
--- a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt
+++ b/cmake_targets/tools/example_enb_exmimo_mme_hss.txt
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt b/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
index d07d10b9d0b7d409602a818ac32b3acb238b6e66..b47c6137c559aeca21a38d776e311459af85442c 100644
--- a/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
+++ b/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/indent_source_code b/cmake_targets/tools/indent_source_code
index f666e656600d5cac41030d3b9048a0b216bd10a5..5e9f08f0670491acea08c6f5f2074a25c880ce78 100755
--- a/cmake_targets/tools/indent_source_code
+++ b/cmake_targets/tools/indent_source_code
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/init_exmimo2 b/cmake_targets/tools/init_exmimo2
index 5e4d13bec398d5d357affbed6abb6faaaecb6797..66eedf93dd4d407deaabee6a61091c8f04fd0a61 100755
--- a/cmake_targets/tools/init_exmimo2
+++ b/cmake_targets/tools/init_exmimo2
@@ -23,7 +23,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/init_nas_nos1 b/cmake_targets/tools/init_nas_nos1
index fed8eacc108f773569c596c33687352a2b60c8f6..d2b7760867d3aef1bfbaa2d2273390b0b244c7fb 100644
--- a/cmake_targets/tools/init_nas_nos1
+++ b/cmake_targets/tools/init_nas_nos1
@@ -23,7 +23,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/perf_oai.bash b/cmake_targets/tools/perf_oai.bash
index 71519534e31deabb18a5b01990fc7808f457b89a..fe51ef1ee51775eb1cde295d22f08bc89d5cc12b 100755
--- a/cmake_targets/tools/perf_oai.bash
+++ b/cmake_targets/tools/perf_oai.bash
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/run_enb_s1_exmimo b/cmake_targets/tools/run_enb_s1_exmimo
index a2a50220a6c6577a68a33550bf62dfdfa34a84a2..e2df8b50496225b699a03438284a783c8ccbef7d 100755
--- a/cmake_targets/tools/run_enb_s1_exmimo
+++ b/cmake_targets/tools/run_enb_s1_exmimo
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/run_enb_s1_usrp b/cmake_targets/tools/run_enb_s1_usrp
index a4766ed658980e603cacb5fe511289d53464f9ee..01f4156071b828ce414fb0718361579bb6091785 100755
--- a/cmake_targets/tools/run_enb_s1_usrp
+++ b/cmake_targets/tools/run_enb_s1_usrp
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/run_enb_ue_virt_noS1 b/cmake_targets/tools/run_enb_ue_virt_noS1
index c1ce434fa5b1fe96fbfc3184ba177c4d7fb99043..74abe0de02b38abb469cb8a3c9aa7df53b6e1e16 100755
--- a/cmake_targets/tools/run_enb_ue_virt_noS1
+++ b/cmake_targets/tools/run_enb_ue_virt_noS1
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/run_enb_ue_virt_s1 b/cmake_targets/tools/run_enb_ue_virt_s1
index 2ce29429b100c43e6abf58f86a3488f52c658304..9cc226a6987053e797e516f94b019e2b7fad759d 100755
--- a/cmake_targets/tools/run_enb_ue_virt_s1
+++ b/cmake_targets/tools/run_enb_ue_virt_s1
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/cmake_targets/tools/run_epc b/cmake_targets/tools/run_epc
deleted file mode 100755
index 08a014cde0fee053102075a35c9ec03426035677..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/run_epc
+++ /dev/null
@@ -1,199 +0,0 @@
-#!/bin/bash
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) anylater version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file run_epc
-# brief run script for EPC (MME+SGW-LITE).
-# author  Lionel GAUTHIER
-# company Eurecom
-# email:  lionel.gauthier@eurecom.fr 
-
-
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-declare -i g_run_msc_gen=0
-declare    g_msc_dir="/tmp"
-
-set_openair_env 
-
-
-function help()
-{
-  echo_error " "
-  echo_error "Usage: run_epc [OPTION]..."
-  echo_error "Run the EPC executable (MME+SGW-LITE)."
-  echo_error " "
-  echo_error "Options:"
-  echo_error "Mandatory arguments to long options are mandatory for short options too."
-  echo_error "  -g, --gdb                          Run with GDB."
-  echo_error "  -h, --help                         Print this help."
-  echo_error "  -K, --itti-dump-file               ITTI dump file containing all ITTI events occuring during EPC runtime."
-  echo_error "  -l, --local-enb                    EPC run on the same eNB host."
-  echo_error "  -m, --mscgen           directory   Generate mscgen output files in a directory"
-  echo_error "  -v, --verbosity-level              Verbosity level (0,1,2)."
-  echo_error "                                       0 -> ASN1 XER printf off"
-  echo_error "                                       1 -> ASN1 XER printf on and ASN1 debug off"
-  echo_error "                                       2 -> ASN1 XER printf on and ASN1 debug on"
-}
-
-function do_msc_gen()
-{
-  cd $g_msc_dir
-  last_created_file=`ls -t mscgen* | head -1 | tr -d ':'`
-  $OPENAIR_DIR/targets/SCRIPTS/msc_gen.py
-  sync
-  last_created_file2=`ls -t mscgen* | head -1 | tr -d ':'`
-        
-  if [ x"$last_created_file" != x"$last_created_file2" ]; then
-    if [ -f ./$last_created_file2/oai_mscgen_page_0.png ]; then 
-      command -v eog 2>/dev/null &&  eog ./$last_created_file2/oai_mscgen_page_0.png
-    fi
-  fi 
-
-}
-
-function control_c()
-# run if user hits control-c
-{
-  echo_warning "\nExiting by ctrl+c\n"
-  if [ $g_run_msc_gen -eq 1 ]; then 
-    do_msc_gen
-  fi
-  exit $?
-}
-
-function main()
-{
-  local -i run_gdb=0
-  local    exe_arguments=" "
-  local -i epc_local=0
-  local -r epc_default_config_file="$OPENAIR_TARGETS/bin/epc.conf"
-  local    epc_config_file=$epc_default_config_file
-
-  until [ -z "$1" ]
-    do
-    case "$1" in
-      -g | --gdb)
-        run_gdb=1
-        echo "setting GDB flag to: $GDB"
-        shift;
-        ;;
-      -h | --help)
-        help
-        exit 0
-        ;;
-      -K | --itti-dump-file)
-        local itti_dump_file=$2
-        # can omit file name if last arg on the line
-        if [ "x$itti_dump_file" = "x" ]; then
-          itti_dump_file="/tmp/epc_itti.log"
-        else
-          shift 1;
-        fi
-        echo "setting ITTI dump file to: $itti_dump_file"
-        exe_arguments="$exe_arguments -K $itti_dump_file"
-        shift 1;
-        ;;     
-      -l | --local-enb)
-        epc_local=1
-        shift;
-        ;;
-      -m | --mscgen)
-        g_msc_dir=$2
-        if [ -d  "$g_msc_dir" ]; then
-          echo "setting mscgen log files to dir: $g_msc_dir"
-          g_run_msc_gen=1
-          shift 2;
-        else
-          echo_error "Mscgen log dir does not exist"
-          exit -1
-        fi
-        ;;      
-      -v | --verbosity-level)
-        local verbosity_level=$2
-        echo "setting verbosity level to: $verbosity_level"
-        exe_arguments="-v $verbosity_level $exe_arguments"
-        shift 2;
-        ;;
-      *)   
-        echo "Unknown option $1"
-        help
-        exit 0
-        ;;
-    esac
-  done
-
-  set_openair_env 
-  cecho "OPENAIR_DIR    = $OPENAIR_DIR" $green
-
-
-  if [ ! -e $OPENAIR_DIR/targets/bin/mme_gw.Rel10 ]; then
-    echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/mme_gw.Rel10 executable, have a look at the output of build_epc executable"
-  fi
-
-  if [ $epc_local -eq 1 ]; then
-    epc_config_file="$OPENAIR_DIR/targets/bin/epc.local.enb.conf"
-  fi
-
-  if [ $g_run_msc_gen -eq 1 ]; then 
-    rm -f /tmp/openair.msc.*
-  fi
-
-  exe_arguments="-O $epc_config_file $exe_arguments"
-
-  if [ $run_gdb -eq 0 ]; then 
-    # trap keyboard interrupt (control-c)
-    trap control_c SIGINT
-    $OPENAIR_DIR/targets/bin/mme_gw.Rel10  `echo $exe_arguments` 2>&1 
-  else
-    # trap keyboard interrupt (control-c) is done by gdb
-    touch      ~/.gdb_mme_gw
-    chmod 777  ~/.gdb_mme_gw
-    echo "file $OPENAIR_DIR/targets/bin/mme_gw.Rel10" > ~/.gdb_mme_gw
-    echo "set args $exe_arguments "        >> ~/.gdb_mme_gw
-    echo "run"                             >> ~/.gdb_mme_gw
-    cat ~/.gdb_mme_gw
-    gdb -n -x ~/.gdb_mme_gw
-    if [ $g_run_msc_gen -eq 1 ]; then 
-      do_msc_gen
-    fi
-  fi
-}
-
-sudo echo
-is_sudo=$?
-if [[ "$is_sudo" -ne 0 ]]; then
-  echo_error "This script must be run by root or a sudo'er"
-  echo
-  exit 1
-fi
-
-main "$@"
diff --git a/cmake_targets/tools/run_hss b/cmake_targets/tools/run_hss
deleted file mode 100755
index 03b2132d96b93e2ff1d78456487c076768a79420..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/run_hss
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/bash
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) anylater version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file run_hss
-# brief run script for HSS (!EXPERIMENTAL!).
-# author  Lionel GAUTHIER
-# company Eurecom
-# email:  lionel.gauthier@eurecom.fr 
-
-
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-
-
-function help()
-{
-  echo_error " "
-  echo_error "Usage: run_hss [OPTION]..."
-  echo_error "Run the HSS executable (experimental)."
-  echo_error " "
-  echo_error "Options:"
-  echo_error "Mandatory arguments to long options are mandatory for short options too."
-  echo_error "  -g, --gdb                  Run with GDB."
-  echo_error "  -h, --help                 Print this help."
-}
-
-
-
-function main() 
-{
-  local -i run_gdb=0
-  local exe_arguments=" -c ./hss.conf"
-
-  until [ -z "$1" ]
-    do
-    case "$1" in
-      -g | --gdb)
-        run_gdb=1
-        echo "setting GDB flag to: $GDB"
-        shift;
-        ;;
-      -h | --help)
-        help
-        exit 0
-        ;;
-      *)   
-        echo "Unknown option $1"
-        help
-        exit 0
-        ;;
-    esac
-  done
-
-  set_openair_env 
-  cecho "OPENAIR_DIR    = $OPENAIR_DIR" $green
-  cecho "OPENAIR1_DIR    = $OPENAIR1_DIR" $green
-  cecho "OPENAIR2_DIR    = $OPENAIR2_DIR" $green
-  cecho "OPENAIR3_DIR    = $OPENAIR3_DIR" $green
-  cecho "OPENAIRCN_DIR   = $OPENAIRCN_DIR" $green
-  cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green
-
-
-  if [ ! -e $OPENAIR_TARGETS/bin/openair-hss ]; then
-    echo_fatal "Cannot find $OPENAIR_TARGETS/bin/openair-hss executable"
-  fi
-
-  # for file config relative path
-  cd $OPENAIR_TARGETS/bin
-
-  if [ $run_gdb -eq 0 ]; then 
-    exec $OPENAIR_TARGETS/bin/openair-hss  `echo $exe_arguments` 2>&1 
-  else
-    touch      ~/.gdb_hss
-    chmod 777  ~/.gdb_hss
-    echo "file $OPENAIR_TARGETS/bin/openair-hss" > ~/.gdb_hss
-    echo "set args $exe_arguments   " >> ~/.gdb_hss
-    echo "run"                        >> ~/.gdb_hss
-    cat ~/.gdb_hss
-    gdb -n -x ~/.gdb_hss 2>&1
-  fi
-}
-
-
-main "$@"
diff --git a/cmake_targets/tools/s6a.conf.in b/cmake_targets/tools/s6a.conf.in
deleted file mode 100644
index 6b357b71fc9214113b2adb9c3a74e4be90f012e2..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/s6a.conf.in
+++ /dev/null
@@ -1,97 +0,0 @@
-# -------- Local ---------
-
-# Uncomment if the framework cannot resolv it.
-Identity = "@MME_FQDN@";
-Realm = "@REALM@";
-
-# TLS configuration (see previous section)
-TLS_Cred = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme.cert.pem",
-           "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme.key.pem";
-TLS_CA   = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme.cacert.pem";
-
-# Disable use of TCP protocol (only listen and connect in SCTP)
-# Default : TCP enabled
-@TRANSPORT_option@;
-
-# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
-# Prefer TCP instead of SCTP for establishing new connections.
-# This setting may be overwritten per peer in peer configuration blocs.
-# Default : SCTP is attempted first.
-@TRANSPORT_PREFER_TCP_option@;
-
-
-No_IPv6;
-
-# Overwrite the number of SCTP streams. This value should be kept low, 
-# especially if you are using TLS over SCTP, because it consumes a lot of 
-# resources in that case. See tickets 19 and 27 for some additional details on 
-# this.
-# Limit the number of SCTP streams
-SCTP_streams = 3;
-
-
-# By default, freeDiameter acts as a Diameter Relay Agent by forwarding all 
-# messages it cannot handle locally. This parameter disables this behavior.
-NoRelay;
-
-
-TLS_old_method;
-
-
-AppServThreads = 1;
-
-# Specify the addresses on which to bind the listening server. This must be 
-# specified if the framework is unable to auto-detect these addresses, or if the
-# auto-detected values are incorrect. Note that the list of addresses is sent 
-# in CER or CEA message, so one should pay attention to this parameter if some 
-# adresses should be kept hidden. 
-@ListenOn@
-
-@DIAMETER_PORT@;
-@DIAMETER_SEC_PORT@;
-
-# -------- Extensions ---------
-
-# Uncomment (and create rtd.conf) to specify routing table for this peer.
-#LoadExtension = "rt_default.fdx" : "rtd.conf";
-
-# Uncomment (and create acl.conf) to allow incoming connections from other peers.
-#LoadExtension = "acl_wl.fdx" : "acl.conf";
-
-# Uncomment to display periodic state information
-#LoadExtension = "dbg_monitor.fdx";
-
-# Uncomment to enable an interactive Python interpreter session.
-# (see doc/dbg_interactive.py.sample for more information)
-#LoadExtension = "dbg_interactive.fdx";
-
-# Load the RFC4005 dictionary objects
-#LoadExtension = "dict_nasreq.fdx";
-
-LoadExtension = "dict_nas_mipv6.fdx";
-LoadExtension = "dict_s6a.fdx";
-
-# Load RFC4072 dictionary objects
-#LoadExtension = "dict_eap.fdx";
-
-# Load the Diameter EAP server extension (requires diameap.conf)
-#LoadExtension = "app_diameap.fdx" : "diameap.conf";
-
-# Load the Accounting Server extension (requires app_acct.conf)
-#LoadExtension = "app_acct.fdx" : "app_acct.conf";
-
-# -------- Peers ---------
-
-# The framework will actively attempt to establish and maintain a connection
-# with the peers listed here.
-# For only accepting incoming connections, see the acl_wl.fx extension.
-
-# ConnectPeer
-# Declare a remote peer to which this peer must maintain a connection. 
-# In addition, this allows specifying non-default parameters for this peer only
-# (for example disable SCTP with this peer, or use RFC3588-flavour TLS). 
-# Note that by default, if a peer is not listed as a ConnectPeer entry, an 
-# incoming connection from this peer will be rejected. If you want to accept 
-# incoming connections from other peers, see the acl_wl.fdx? extension which 
-# allows exactly this. 
-@ConnectPeer@ = "@HSS_FQDN@" { ConnectTo = "@HSS_IP@"; No_IPv6; No_TLS ; port = 3868; Realm = "@REALM@"; };
diff --git a/common/utils/COPYING b/common/utils/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/common/utils/COPYING
+++ b/common/utils/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/common/utils/asn1_conversions.h b/common/utils/asn1_conversions.h
index be7748fecfb107fedb41316fc3f91a647d255c36..bb7b2449890c29f3053b6fa624220dbae82064c1 100644
--- a/common/utils/asn1_conversions.h
+++ b/common/utils/asn1_conversions.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifndef ASN1_CONVERSIONS_H_
 #define ASN1_CONVERSIONS_H_
diff --git a/common/utils/assertions.h b/common/utils/assertions.h
index a33c35ead3ce657489ca0bb72989246b99dbed69..8bb74109ed18641686296a9bdbbb42f0eb267955 100644
--- a/common/utils/assertions.h
+++ b/common/utils/assertions.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifndef UTILS_ASSERTIONS_H_
 #define UTILS_ASSERTIONS_H_
diff --git a/common/utils/collection/COPYING b/common/utils/collection/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..d605b9a3b16a1c69df0007348d238649570a3473 100644
--- a/common/utils/collection/COPYING
+++ b/common/utils/collection/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/collection/hashtable/COPYING b/common/utils/collection/hashtable/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..d605b9a3b16a1c69df0007348d238649570a3473 100644
--- a/common/utils/collection/hashtable/COPYING
+++ b/common/utils/collection/hashtable/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/collection/hashtable/hashtable.c b/common/utils/collection/hashtable/hashtable.c
index ba2686c7187b0fc38847110c6159840d42e69925..d424e2a0add6bbb31962b7f47d68b50359d751f9 100755
--- a/common/utils/collection/hashtable/hashtable.c
+++ b/common/utils/collection/hashtable/hashtable.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #include <string.h>
 #include <stdio.h>
diff --git a/common/utils/collection/hashtable/hashtable.h b/common/utils/collection/hashtable/hashtable.h
index 2082e4f85f3c01bba05f73d8fa6b8b56a7e7dadb..5c06937bed05ee0a4a0f3ec5d57246d9fecf23e3 100755
--- a/common/utils/collection/hashtable/hashtable.h
+++ b/common/utils/collection/hashtable/hashtable.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 
 #ifndef _UTILS_COLLECTION_HASH_TABLE_H_
diff --git a/common/utils/collection/hashtable/obj_hashtable.c b/common/utils/collection/hashtable/obj_hashtable.c
index b1d804335f9a9fa32f1db0004246e666617e8ab5..63fd8a688bf43b6b418929741a836d55cbc16821 100755
--- a/common/utils/collection/hashtable/obj_hashtable.c
+++ b/common/utils/collection/hashtable/obj_hashtable.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #include <string.h>
 #include <stdio.h>
diff --git a/common/utils/collection/hashtable/obj_hashtable.h b/common/utils/collection/hashtable/obj_hashtable.h
index bf7ea89b9634ce3dab699549257f15e073c3aaf2..8743a13f0887ab7f7b71a074892bfc317116db3c 100755
--- a/common/utils/collection/hashtable/obj_hashtable.h
+++ b/common/utils/collection/hashtable/obj_hashtable.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifndef _UTILS_COLLECTION_OBJ_HASH_TABLE_H_
 #define _UTILS_COLLECTION_OBJ_HASH_TABLE_H_
diff --git a/common/utils/itti/COPYING b/common/utils/itti/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/common/utils/itti/COPYING
+++ b/common/utils/itti/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/common/utils/itti/assertions.h b/common/utils/itti/assertions.h
index df14404c79e5fca3fbb1a7fb0d4ce36e3ec7b5cf..c047ef6b764670997effacc3dc47759a5ea008b7 100644
--- a/common/utils/itti/assertions.h
+++ b/common/utils/itti/assertions.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti/backtrace.c b/common/utils/itti/backtrace.c
index f83d018d6ed511ae11827f7428757ee6c00cd73f..3d984cbf115a0d3f5632bbf012d54fc75f2ee624 100644
--- a/common/utils/itti/backtrace.c
+++ b/common/utils/itti/backtrace.c
@@ -1,32 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
-
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <pthread.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti/backtrace.h b/common/utils/itti/backtrace.h
index c2622a6b07db406f65ff26b2f1d56d5bdb866884..1ba8143860669ca37066afd252be01d0d747937c 100644
--- a/common/utils/itti/backtrace.h
+++ b/common/utils/itti/backtrace.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #include <signal.h>
 
diff --git a/common/utils/itti/intertask_interface.c b/common/utils/itti/intertask_interface.c
index c61dd07636c2b18947b667096afb350a66025d7a..572c207b3fc7e639671a584b3b6c11241b521ca6 100644
--- a/common/utils/itti/intertask_interface.c
+++ b/common/utils/itti/intertask_interface.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #define _GNU_SOURCE
 #include <pthread.h>
diff --git a/common/utils/itti/intertask_interface.h b/common/utils/itti/intertask_interface.h
index 350c88af6a12edc94537cd101ac1e8e0113f6716..46fb0c749f1250a535515462df9fb2bb9e4da7e5 100644
--- a/common/utils/itti/intertask_interface.h
+++ b/common/utils/itti/intertask_interface.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /** @defgroup _intertask_interface_impl_ Intertask Interface Mechanisms
  * Implementation
diff --git a/common/utils/itti/intertask_interface_dump.c b/common/utils/itti/intertask_interface_dump.c
index e17cdab85a2cc170dd0bb8236ab53c9ed4839124..491bff59b0fcc5aab29116be171daa710504c365 100644
--- a/common/utils/itti/intertask_interface_dump.c
+++ b/common/utils/itti/intertask_interface_dump.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 
 /** @brief Intertask Interface Signal Dumper
diff --git a/common/utils/itti/intertask_interface_dump.h b/common/utils/itti/intertask_interface_dump.h
index 8d06a8ed1f8607d5b889d67ad546947565ec06cb..acaf450cf499ca053d5283c7987a4d58ae6d12f4 100644
--- a/common/utils/itti/intertask_interface_dump.h
+++ b/common/utils/itti/intertask_interface_dump.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifndef INTERTASK_INTERFACE_DUMP_H_
 #define INTERTASK_INTERFACE_DUMP_H_
diff --git a/common/utils/itti/intertask_interface_init.h b/common/utils/itti/intertask_interface_init.h
index 1135f1773827ca9d66e5900165e6f862937abb51..a01f1eea90b3d5e7295f466c5a5f4959f33e6552 100644
--- a/common/utils/itti/intertask_interface_init.h
+++ b/common/utils/itti/intertask_interface_init.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /** @defgroup _intertask_interface_impl_ Intertask Interface Mechanisms
  * Implementation
diff --git a/common/utils/itti/intertask_interface_types.h b/common/utils/itti/intertask_interface_types.h
index 3e0203df6de7d2804aae63cab9efc1dd0cbe8519..bf29e120085f32240d53dd4c35147c133feaa859 100644
--- a/common/utils/itti/intertask_interface_types.h
+++ b/common/utils/itti/intertask_interface_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /** @defgroup _intertask_interface_impl_ Intertask Interface Mechanisms
  * Implementation
diff --git a/common/utils/itti/intertask_messages_def.h b/common/utils/itti/intertask_messages_def.h
index baac5cd6d0db308dcccbccadbd61520952f05042..4f125f4649bd00d4915c6f46629070eee5b039ef 100644
--- a/common/utils/itti/intertask_messages_def.h
+++ b/common/utils/itti/intertask_messages_def.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /* This message asks for task initialization */
 MESSAGE_DEF(INITIALIZE_MESSAGE, MESSAGE_PRIORITY_MED, IttiMsgEmpty, initialize_message)
diff --git a/common/utils/itti/intertask_messages_types.h b/common/utils/itti/intertask_messages_types.h
index c047d7dae862d7add81b0c70b6776e4780beaa06..e64a709636fb42c82ae01b05318e4d4bc4abe906 100644
--- a/common/utils/itti/intertask_messages_types.h
+++ b/common/utils/itti/intertask_messages_types.h
@@ -1,32 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
-
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /*
  * intertask_messages_types.h
diff --git a/common/utils/itti/itti_types.h b/common/utils/itti/itti_types.h
index ec1b290bfdd04f34957f9569109f624984a9c2f7..f1a17d122829bbfbdd79a19e7c9a439c24d89a83 100644
--- a/common/utils/itti/itti_types.h
+++ b/common/utils/itti/itti_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /** @brief Intertask Interface common types
  * Contains type definitions used for generating and parsing ITTI messages.
diff --git a/common/utils/itti/memory_pools.c b/common/utils/itti/memory_pools.c
index 568c03defeaa8a48b60513affbeafa2ba9053f30..dadc80ca2af76268bf170f11967f9f707e795d77 100644
--- a/common/utils/itti/memory_pools.c
+++ b/common/utils/itti/memory_pools.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifdef RTAI
 # include <rtai_shm.h>
diff --git a/common/utils/itti/memory_pools.h b/common/utils/itti/memory_pools.h
index a84499c2fc5b663f6de5bd5e0b243d2e2ffda46e..72268f90d78682299ec1f16ae2188b1a9609668c 100644
--- a/common/utils/itti/memory_pools.h
+++ b/common/utils/itti/memory_pools.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifndef MEMORY_POOLS_H_
 #define MEMORY_POOLS_H_
diff --git a/common/utils/itti/messages_def.h b/common/utils/itti/messages_def.h
index ea2a321ef80aba18be904c3ed4236f185a05680d..7df3789fd7ac9e0cee8c8d522aafb81ffcad6d6a 100644
--- a/common/utils/itti/messages_def.h
+++ b/common/utils/itti/messages_def.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 // These messages files are mandatory and must always be placed in first position
 #include "intertask_messages_def.h"
diff --git a/common/utils/itti/messages_types.h b/common/utils/itti/messages_types.h
index 2594d7b534a6fc827287228afee582e1238675f1..3426aada3ed6e9afa43c70c6364bcf0df9f507e8 100644
--- a/common/utils/itti/messages_types.h
+++ b/common/utils/itti/messages_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /*
  * messages_types.h
diff --git a/common/utils/itti/signals.c b/common/utils/itti/signals.c
index e1950b46651872b793d62501c12790a74d244770..b9a3316cececb6c367354d949873c8e5d578396d 100644
--- a/common/utils/itti/signals.c
+++ b/common/utils/itti/signals.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #if HAVE_CONFIG_H
 # include "config.h"
diff --git a/common/utils/itti/signals.h b/common/utils/itti/signals.h
index 65bc59b04677438161f94f16beaa4d885fed3db5..53a73afa6f3586cbac980a7a58fedb428c534489 100644
--- a/common/utils/itti/signals.h
+++ b/common/utils/itti/signals.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifndef SIGNALS_H_
 #define SIGNALS_H_
diff --git a/common/utils/itti/tasks_def.h b/common/utils/itti/tasks_def.h
index 6d6ab4833223cbadd431ac239078596fafcc0e1b..5f2a4132351cc2317894f46f823a352e75a176a8 100644
--- a/common/utils/itti/tasks_def.h
+++ b/common/utils/itti/tasks_def.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 // This task is mandatory and must always be placed in first position
 TASK_DEF(TASK_TIMER, TASK_PRIORITY_MED, 10)
diff --git a/common/utils/itti/timer.c b/common/utils/itti/timer.c
index 25f70f04d791e8e8e964237936a7ba158458aad4..40e87910227c35b949df60c6da75dfccac7532b4 100644
--- a/common/utils/itti/timer.c
+++ b/common/utils/itti/timer.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #include <pthread.h>
 #include <stdio.h>
diff --git a/common/utils/itti/timer.h b/common/utils/itti/timer.h
index 9f2ec30f7d69b4e1820aa477c7d0b7531273ec9e..825b3ca2eb99249e587524cd5f75809474cd65e8 100644
--- a/common/utils/itti/timer.h
+++ b/common/utils/itti/timer.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifndef TIMER_H_
 #define TIMER_H_
diff --git a/common/utils/itti/timer_messages_def.h b/common/utils/itti/timer_messages_def.h
index 077147fe501701d99fa77cd528baed70994be785..56af4e8a8e6b3f2f174e9f98c142621d139e495b 100644
--- a/common/utils/itti/timer_messages_def.h
+++ b/common/utils/itti/timer_messages_def.h
@@ -1,31 +1,30 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
-
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 MESSAGE_DEF(TIMER_HAS_EXPIRED, MESSAGE_PRIORITY_MED_PLUS, timer_has_expired_t, timer_has_expired)
diff --git a/common/utils/itti/timer_messages_types.h b/common/utils/itti/timer_messages_types.h
index c54f4d165eaeb8df743edff48cec9aab77809937..8126b75aef8f5cfb9db41d50c31b6745dd243e8f 100644
--- a/common/utils/itti/timer_messages_types.h
+++ b/common/utils/itti/timer_messages_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifndef TIMER_MESSAGES_TYPES_H_
 #define TIMER_MESSAGES_TYPES_H_
diff --git a/common/utils/itti_analyzer/COPYING b/common/utils/itti_analyzer/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/common/utils/itti_analyzer/COPYING
+++ b/common/utils/itti_analyzer/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/common/utils/itti_analyzer/README b/common/utils/itti_analyzer/README
index 31dc085b23ef6d0ad95d17f23f34db50eb1367b9..8ca077a227073be8db0c795cd6ed9cb4cf1811f7 100644
--- a/common/utils/itti_analyzer/README
+++ b/common/utils/itti_analyzer/README
@@ -11,4 +11,4 @@ To run itti_analyzer, please perform the following actions:
 
 5) make
 
-6) ./itt
\ No newline at end of file
+6) ./itti_analyzer
\ No newline at end of file
diff --git a/common/utils/itti_analyzer/common/COPYING b/common/utils/itti_analyzer/common/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..d605b9a3b16a1c69df0007348d238649570a3473 100644
--- a/common/utils/itti_analyzer/common/COPYING
+++ b/common/utils/itti_analyzer/common/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/common/itti_types.h b/common/utils/itti_analyzer/common/itti_types.h
index ddfd8473a65fbb7c13000213cbe9c20c6481ef1d..3671b1d9177692112bbdc164b70a39ddf4189499 100644
--- a/common/utils/itti_analyzer/common/itti_types.h
+++ b/common/utils/itti_analyzer/common/itti_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /** @brief Intertask Interface common types
  * Contains type definitions used for generating and parsing ITTI messages.
diff --git a/common/utils/itti_analyzer/common/logs.h b/common/utils/itti_analyzer/common/logs.h
index 051e8b16c74f60163bc33ee649a15ea9078fede9..21d2dfad78651ffa8a9112fc11dd3ff5988cfde7 100644
--- a/common/utils/itti_analyzer/common/logs.h
+++ b/common/utils/itti_analyzer/common/logs.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /*
  * logs.h
diff --git a/common/utils/itti_analyzer/common/rc.h b/common/utils/itti_analyzer/common/rc.h
index 7fa6c05589ba7acae2a83055b0ee9a5b088d924d..11eb107632aad10a167c3623fab73be9ec346523 100644
--- a/common/utils/itti_analyzer/common/rc.h
+++ b/common/utils/itti_analyzer/common/rc.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include <errno.h>
 #include <string.h>
diff --git a/common/utils/itti_analyzer/itti_analyzer.c b/common/utils/itti_analyzer/itti_analyzer.c
index 214430b096f2785124650485b094e6e4c97e6413..78bdb43b39897119a1265f71f35981e981bd3783 100644
--- a/common/utils/itti_analyzer/itti_analyzer.c
+++ b/common/utils/itti_analyzer/itti_analyzer.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdlib.h>
 #include <stdio.h>
diff --git a/common/utils/itti_analyzer/libbuffers/COPYING b/common/utils/itti_analyzer/libbuffers/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..d605b9a3b16a1c69df0007348d238649570a3473 100644
--- a/common/utils/itti_analyzer/libbuffers/COPYING
+++ b/common/utils/itti_analyzer/libbuffers/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/libbuffers/buffers.c b/common/utils/itti_analyzer/libbuffers/buffers.c
index 7927ce646a3344972947d3651989e89bda18b45a..e8a1fc0c20588f29d34955df9ee7c9c0e4f56eeb 100644
--- a/common/utils/itti_analyzer/libbuffers/buffers.c
+++ b/common/utils/itti_analyzer/libbuffers/buffers.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <pthread.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libbuffers/buffers.h b/common/utils/itti_analyzer/libbuffers/buffers.h
index 1346c4aaed981d5621136cb5d8879b1bcd478695..fd57e7b0217d2e10b3780c511c7734c3cad7f94b 100644
--- a/common/utils/itti_analyzer/libbuffers/buffers.h
+++ b/common/utils/itti_analyzer/libbuffers/buffers.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdint.h>
 
diff --git a/common/utils/itti_analyzer/libbuffers/file.c b/common/utils/itti_analyzer/libbuffers/file.c
index 0cfe0edd5914b42ef5345bf9be5c24c14661ba2f..b9404c31c051f63d2ce1609d3ff6ef896eb38a20 100644
--- a/common/utils/itti_analyzer/libbuffers/file.c
+++ b/common/utils/itti_analyzer/libbuffers/file.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include <stdio.h>
 #include <string.h>
diff --git a/common/utils/itti_analyzer/libbuffers/file.h b/common/utils/itti_analyzer/libbuffers/file.h
index 0c1ecf7e0707f2c8dec7d0ed0640818f3d6d5f62..8d2b90a5cf14ed51f753c1d99098fc4b5e39c031 100644
--- a/common/utils/itti_analyzer/libbuffers/file.h
+++ b/common/utils/itti_analyzer/libbuffers/file.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #ifndef FILE_H_
 #define FILE_H_
diff --git a/common/utils/itti_analyzer/libbuffers/socket.c b/common/utils/itti_analyzer/libbuffers/socket.c
index 99cd44bd112eb2a47a29a20726c4d4958d8a98cb..e782ee431b7f98b8a2098bfee6ad171d3b483380 100644
--- a/common/utils/itti_analyzer/libbuffers/socket.c
+++ b/common/utils/itti_analyzer/libbuffers/socket.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <pthread.h>
 #include <stdio.h>
diff --git a/common/utils/itti_analyzer/libbuffers/socket.h b/common/utils/itti_analyzer/libbuffers/socket.h
index 755cf3093c67c2222b428cd019cac8a1968608ea..45881f311b04e4ebd1511a1239cb09df7c40de84 100644
--- a/common/utils/itti_analyzer/libbuffers/socket.h
+++ b/common/utils/itti_analyzer/libbuffers/socket.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <arpa/inet.h>
 #include <netinet/in.h>
diff --git a/common/utils/itti_analyzer/libparser/COPYING b/common/utils/itti_analyzer/libparser/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..d605b9a3b16a1c69df0007348d238649570a3473 100644
--- a/common/utils/itti_analyzer/libparser/COPYING
+++ b/common/utils/itti_analyzer/libparser/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/libparser/array_type.c b/common/utils/itti_analyzer/libparser/array_type.c
index c69351d32acbc6ebb179d79a3481d7c08a6013ae..d88c7fa848bf867ea50eeacfd8e1ff743a3af3fc 100644
--- a/common/utils/itti_analyzer/libparser/array_type.c
+++ b/common/utils/itti_analyzer/libparser/array_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/array_type.h b/common/utils/itti_analyzer/libparser/array_type.h
index 277a2a7db948ffc6c817fb6551e177b8addf4144..dd3eccf3596c5863a84524111a74cdab4a8dc6fd 100644
--- a/common/utils/itti_analyzer/libparser/array_type.h
+++ b/common/utils/itti_analyzer/libparser/array_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/enum_type.c b/common/utils/itti_analyzer/libparser/enum_type.c
index 1a2b90f2caefc450be0f4736d21bac5e053c106f..78328b549287b720bc5dd524f5b5e38061afffaa 100644
--- a/common/utils/itti_analyzer/libparser/enum_type.c
+++ b/common/utils/itti_analyzer/libparser/enum_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/enum_type.h b/common/utils/itti_analyzer/libparser/enum_type.h
index 745140b52dd6291377a387ea877638d0f01cb929..ae19a5c4954063fd9b53269ff748597dc9883d68 100644
--- a/common/utils/itti_analyzer/libparser/enum_type.h
+++ b/common/utils/itti_analyzer/libparser/enum_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.c b/common/utils/itti_analyzer/libparser/enum_value_type.c
index 47d3ba9b37853b4b94cbcf0980db1a3d1b3d909e..eae25817b68e2542c14d5a56dc893ee9f475bff3 100644
--- a/common/utils/itti_analyzer/libparser/enum_value_type.c
+++ b/common/utils/itti_analyzer/libparser/enum_value_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.h b/common/utils/itti_analyzer/libparser/enum_value_type.h
index 6be8eda7437e8c812f55db6301a39d331f56e70e..71ce4f98495057028d7e2b447f8ed9b752c1ef42 100644
--- a/common/utils/itti_analyzer/libparser/enum_value_type.h
+++ b/common/utils/itti_analyzer/libparser/enum_value_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/field_type.c b/common/utils/itti_analyzer/libparser/field_type.c
index 4a9c6df56bcf80295a74784b1aa129af1bfe956d..4ebb7431505a3939a079957101f0ce041128139f 100644
--- a/common/utils/itti_analyzer/libparser/field_type.c
+++ b/common/utils/itti_analyzer/libparser/field_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/field_type.h b/common/utils/itti_analyzer/libparser/field_type.h
index abc09c0fe0645da2595bd6949c984252ce488eca..0437f9e5eca98c7c94587de45d7547238551d819 100644
--- a/common/utils/itti_analyzer/libparser/field_type.h
+++ b/common/utils/itti_analyzer/libparser/field_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/file_type.c b/common/utils/itti_analyzer/libparser/file_type.c
index 84552a836a88f57f9f923cb1284cc1d3a241e50c..c032e6eb8859458d267fb11793c40dab0a509ca8 100644
--- a/common/utils/itti_analyzer/libparser/file_type.c
+++ b/common/utils/itti_analyzer/libparser/file_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/file_type.h b/common/utils/itti_analyzer/libparser/file_type.h
index e6343afad868ac8559b99a649c9a7761c525d8cb..d84f5af34fbdb3b871190c1355959f7e3da37908 100644
--- a/common/utils/itti_analyzer/libparser/file_type.h
+++ b/common/utils/itti_analyzer/libparser/file_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.c b/common/utils/itti_analyzer/libparser/fundamental_type.c
index 1c9c9a0dc9ed04dd280507abf97f079f5165c59e..855991973061177cbe2395b7e6c2db59215d0ddf 100644
--- a/common/utils/itti_analyzer/libparser/fundamental_type.c
+++ b/common/utils/itti_analyzer/libparser/fundamental_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.h b/common/utils/itti_analyzer/libparser/fundamental_type.h
index b0e169c643b646f1d18a39e613fe7e90614304c8..cb13bf2b7965a04a23028de823fcfc57a50f0f13 100644
--- a/common/utils/itti_analyzer/libparser/fundamental_type.h
+++ b/common/utils/itti_analyzer/libparser/fundamental_type.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/intertask_contexts.h b/common/utils/itti_analyzer/libparser/intertask_contexts.h
index 207910ee8766eff272953d385b2e7dd450f5487f..72d3fb2cc6661eff6bff5570ef69f7a0ad81ddef 100644
--- a/common/utils/itti_analyzer/libparser/intertask_contexts.h
+++ b/common/utils/itti_analyzer/libparser/intertask_contexts.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include "fundamental_type.h"
 #include "struct_type.h"
diff --git a/common/utils/itti_analyzer/libparser/pointer_type.c b/common/utils/itti_analyzer/libparser/pointer_type.c
index e888c04b9a1df115abfacf1d722d0596b876667a..921bafcac829403c048c9f5fea1cba97722ae5ed 100644
--- a/common/utils/itti_analyzer/libparser/pointer_type.c
+++ b/common/utils/itti_analyzer/libparser/pointer_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/pointer_type.h b/common/utils/itti_analyzer/libparser/pointer_type.h
index b6eabff9a23b4e7cd91491c4369e049f05261401..0c6b901f5bc6923ca552603f1b3c9336d07f5d17 100644
--- a/common/utils/itti_analyzer/libparser/pointer_type.h
+++ b/common/utils/itti_analyzer/libparser/pointer_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/reference_type.c b/common/utils/itti_analyzer/libparser/reference_type.c
index 7409747d53a566ac788b42a06a4e42578b01ad81..ee49b10cd5a24b93c2549ee6aef748b6b41b41b9 100644
--- a/common/utils/itti_analyzer/libparser/reference_type.c
+++ b/common/utils/itti_analyzer/libparser/reference_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/reference_type.h b/common/utils/itti_analyzer/libparser/reference_type.h
index bcbfc98941627d069447bf3f9b64be11b6548eb8..693bc712d8b5c6fedb2489e76d89869f7926fa99 100644
--- a/common/utils/itti_analyzer/libparser/reference_type.h
+++ b/common/utils/itti_analyzer/libparser/reference_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/struct_type.c b/common/utils/itti_analyzer/libparser/struct_type.c
index b37c86fe5919f90115e781943774ad58ddb10579..af1201b4d2b8f0b63bf13259bfb775d58faae778 100644
--- a/common/utils/itti_analyzer/libparser/struct_type.c
+++ b/common/utils/itti_analyzer/libparser/struct_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/struct_type.h b/common/utils/itti_analyzer/libparser/struct_type.h
index e132c31690c2badb3a6e102f9584c2837ee9e7e6..7bbb9ee10033e2f7f7dbb4155b71c84e30e37dcb 100644
--- a/common/utils/itti_analyzer/libparser/struct_type.h
+++ b/common/utils/itti_analyzer/libparser/struct_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/typedef_type.c b/common/utils/itti_analyzer/libparser/typedef_type.c
index 08f9eb5b3839e99271298b292a6bd05db3edf595..285acfad5cb8b277ad5dc0814978e2936a3971a3 100644
--- a/common/utils/itti_analyzer/libparser/typedef_type.c
+++ b/common/utils/itti_analyzer/libparser/typedef_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/typedef_type.h b/common/utils/itti_analyzer/libparser/typedef_type.h
index aac3a680b7b00ae72cef4cdfaa2d98b82710ba60..0657f50c98e536cf82c3dca8bc094a8d4cdabb36 100644
--- a/common/utils/itti_analyzer/libparser/typedef_type.h
+++ b/common/utils/itti_analyzer/libparser/typedef_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/types.c b/common/utils/itti_analyzer/libparser/types.c
index dbd87e8eb74a5a709fd065af11198424afd3072f..7ae55bb737bc648ab79699b871a41dfb04141679 100644
--- a/common/utils/itti_analyzer/libparser/types.c
+++ b/common/utils/itti_analyzer/libparser/types.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/types.h b/common/utils/itti_analyzer/libparser/types.h
index ad502d3a1317cbf8b00c6ff844342a59a83de6ec..339029839df752cf45f5b06ed0e521b8db72ad2f 100644
--- a/common/utils/itti_analyzer/libparser/types.h
+++ b/common/utils/itti_analyzer/libparser/types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 
diff --git a/common/utils/itti_analyzer/libparser/union_type.c b/common/utils/itti_analyzer/libparser/union_type.c
index 08ce06b389b050e93c1c5d052921ec463208524d..ef8fd393ac8908d22675a7a565bbf95def87df8b 100644
--- a/common/utils/itti_analyzer/libparser/union_type.c
+++ b/common/utils/itti_analyzer/libparser/union_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libparser/union_type.h b/common/utils/itti_analyzer/libparser/union_type.h
index faf0cecfa05ed9dd72fca7290c0a88d8c6ee0182..c1817dea6e674ac2fd77dd1de7f9d8b6292727fb 100644
--- a/common/utils/itti_analyzer/libparser/union_type.h
+++ b/common/utils/itti_analyzer/libparser/union_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include "types.h"
 
diff --git a/common/utils/itti_analyzer/libparser/xml_parse.c b/common/utils/itti_analyzer/libparser/xml_parse.c
index 98b93976eb77d55bb4e341241371e535648e65bb..cdad8ee3ed495354ae489ab8f8685e1853380602 100644
--- a/common/utils/itti_analyzer/libparser/xml_parse.c
+++ b/common/utils/itti_analyzer/libparser/xml_parse.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <string.h>
 #include <unistd.h>
diff --git a/common/utils/itti_analyzer/libparser/xml_parse.h b/common/utils/itti_analyzer/libparser/xml_parse.h
index 7b1f28527ff2e36a7a0b9ec375399c3858718dd0..5d23a6157a4b9d8ac1b321550b8837a9e1c6c259 100644
--- a/common/utils/itti_analyzer/libparser/xml_parse.h
+++ b/common/utils/itti_analyzer/libparser/xml_parse.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include "rc.h"
 #include "types.h"
diff --git a/common/utils/itti_analyzer/libresolver/COPYING b/common/utils/itti_analyzer/libresolver/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..d605b9a3b16a1c69df0007348d238649570a3473 100644
--- a/common/utils/itti_analyzer/libresolver/COPYING
+++ b/common/utils/itti_analyzer/libresolver/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/libresolver/locate_root.c b/common/utils/itti_analyzer/libresolver/locate_root.c
index 18f3a2d18849998d6d1e9a2acfc151c5dcd8bb2d..8d1b101e734b73e216d2b81f05520ee6f5703862 100644
--- a/common/utils/itti_analyzer/libresolver/locate_root.c
+++ b/common/utils/itti_analyzer/libresolver/locate_root.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <string.h>
diff --git a/common/utils/itti_analyzer/libresolver/locate_root.h b/common/utils/itti_analyzer/libresolver/locate_root.h
index 9e9a5f204dd2ad4845c70065c072a04c03baf729..103e7b96ef7d47256b53791dc745d7c1dd3e371d 100644
--- a/common/utils/itti_analyzer/libresolver/locate_root.h
+++ b/common/utils/itti_analyzer/libresolver/locate_root.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #ifndef LOCATE_ROOT_H_
 #define LOCATE_ROOT_H_
diff --git a/common/utils/itti_analyzer/libresolver/resolvers.c b/common/utils/itti_analyzer/libresolver/resolvers.c
index 312effbcaf3ddb71e268947242776aa90e1d5f0a..685cd84d879227c8c5a3318078104fec900fc8ee 100644
--- a/common/utils/itti_analyzer/libresolver/resolvers.c
+++ b/common/utils/itti_analyzer/libresolver/resolvers.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libresolver/resolvers.h b/common/utils/itti_analyzer/libresolver/resolvers.h
index 1b24e921e9076b9d151ef862cd00c7d0efa9c858..84d2e15ecf1508312f7ef9e135edd107b1978eab 100644
--- a/common/utils/itti_analyzer/libresolver/resolvers.h
+++ b/common/utils/itti_analyzer/libresolver/resolvers.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #ifndef RESOLVERS_H_
 #define RESOLVERS_H_
diff --git a/common/utils/itti_analyzer/libui/COPYING b/common/utils/itti_analyzer/libui/COPYING
index 818433ecc0e094a4db1023c68b33f24344643ad8..d605b9a3b16a1c69df0007348d238649570a3473 100644
--- a/common/utils/itti_analyzer/libui/COPYING
+++ b/common/utils/itti_analyzer/libui/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.c b/common/utils/itti_analyzer/libui/ui_callbacks.c
index bec4dc302412dd73b8b70cb645ab5811557ad8db..725a453334754e3c3d32fb2d04081e8a0691608a 100644
--- a/common/utils/itti_analyzer/libui/ui_callbacks.c
+++ b/common/utils/itti_analyzer/libui/ui_callbacks.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #if HAVE_CONFIG_H
 # include "config.h"
diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.h b/common/utils/itti_analyzer/libui/ui_callbacks.h
index 8ca5665f084806bf74ca5196c4ed7ba3c7102de7..f408441548ee26619c64d1408b94f8c07e20ffb2 100644
--- a/common/utils/itti_analyzer/libui/ui_callbacks.h
+++ b/common/utils/itti_analyzer/libui/ui_callbacks.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #ifndef UI_CALLBACKS_H_
 #define UI_CALLBACKS_H_
diff --git a/common/utils/itti_analyzer/libui/ui_filters.c b/common/utils/itti_analyzer/libui/ui_filters.c
index 8d66904c991786534f3db20017db57626f23fe1b..e2fb993933164c4c99309de6f4fad4524f3f08be 100644
--- a/common/utils/itti_analyzer/libui/ui_filters.c
+++ b/common/utils/itti_analyzer/libui/ui_filters.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libui/ui_filters.h b/common/utils/itti_analyzer/libui/ui_filters.h
index 4eb051e918f507284b46a6f64d87c19350b90134..9e168ad62f4aa3cf7586a4909956e9a29eb3b186 100644
--- a/common/utils/itti_analyzer/libui/ui_filters.h
+++ b/common/utils/itti_analyzer/libui/ui_filters.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #ifndef UI_FILTERS_H_
 #define UI_FILTERS_H_
diff --git a/common/utils/itti_analyzer/libui/ui_interface.c b/common/utils/itti_analyzer/libui/ui_interface.c
index cbb3b9fc98fe81bc79f51168914a118511d42f38..8f0f5a841514e0599cc7e51463231c3b7c42407a 100644
--- a/common/utils/itti_analyzer/libui/ui_interface.c
+++ b/common/utils/itti_analyzer/libui/ui_interface.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <pthread.h>
 #include <stdint.h>
diff --git a/common/utils/itti_analyzer/libui/ui_interface.h b/common/utils/itti_analyzer/libui/ui_interface.h
index ef7fe31f6bb60f2a7d58e1c73b2167cacef65429..de120e6565702d8c5c289017a15ee1b10a0314e6 100644
--- a/common/utils/itti_analyzer/libui/ui_interface.h
+++ b/common/utils/itti_analyzer/libui/ui_interface.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
- *******************************************************************************/
 
 #include <glib.h>
 
diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.c b/common/utils/itti_analyzer/libui/ui_main_screen.c
index ae3ab125c06d1019f16778807d5c8f4236e6feb5..e440bfb50e5c7bc681d70d128c918bdcce8105fa 100644
--- a/common/utils/itti_analyzer/libui/ui_main_screen.c
+++ b/common/utils/itti_analyzer/libui/ui_main_screen.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #if HAVE_CONFIG_H
 # include "config.h"
diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.h b/common/utils/itti_analyzer/libui/ui_main_screen.h
index 9d0805f4cd950e3bfd8481bf1e6c3587e9253ce5..4455195a1d039a68c63ca04b7b5f6e37fb0a8c6d 100644
--- a/common/utils/itti_analyzer/libui/ui_main_screen.h
+++ b/common/utils/itti_analyzer/libui/ui_main_screen.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #ifndef UI_MAIN_SCREEN_H_
 #define UI_MAIN_SCREEN_H_
diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.c b/common/utils/itti_analyzer/libui/ui_menu_bar.c
index b4ec50141aad98c79309362bd888f3850ec12506..a5c7c2810f47ebe9c400185eb77c83c1a307390c 100644
--- a/common/utils/itti_analyzer/libui/ui_menu_bar.c
+++ b/common/utils/itti_analyzer/libui/ui_menu_bar.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #define G_LOG_DOMAIN ("UI")
 
diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.h b/common/utils/itti_analyzer/libui/ui_menu_bar.h
index 03e069b96b698e1bf4b12304a5b88285e97b3bf3..7644862c7a3eb902ed09e7d7e52eed6b9a1e4b07 100644
--- a/common/utils/itti_analyzer/libui/ui_menu_bar.h
+++ b/common/utils/itti_analyzer/libui/ui_menu_bar.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #ifndef UI_MENU_BAR_H_
 #define UI_MENU_BAR_H_
diff --git a/common/utils/itti_analyzer/libui/ui_notebook.c b/common/utils/itti_analyzer/libui/ui_notebook.c
index d5e81ffa4eca405b036d8096a916c90064000226..07bf12fe7c7dd5af9dc05b5b494a22d7efdb35b7 100644
--- a/common/utils/itti_analyzer/libui/ui_notebook.c
+++ b/common/utils/itti_analyzer/libui/ui_notebook.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #if HAVE_CONFIG_H
 # include "config.h"
diff --git a/common/utils/itti_analyzer/libui/ui_notebook.h b/common/utils/itti_analyzer/libui/ui_notebook.h
index 741eb901e973eeb05d90c924843c53125b4d7801..cf574608ca853d342cb8cba4a41314bf4d8e05bb 100644
--- a/common/utils/itti_analyzer/libui/ui_notebook.h
+++ b/common/utils/itti_analyzer/libui/ui_notebook.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #ifndef UI_NOTEBOOK_H_
 #define UI_NOTEBOOK_H_
diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.c b/common/utils/itti_analyzer/libui/ui_notif_dlg.c
index 0b278e64296875191df7f22e490beff208d51f94..6d442a733ca4620df77011e7de2420b0ccdd5c02 100644
--- a/common/utils/itti_analyzer/libui/ui_notif_dlg.c
+++ b/common/utils/itti_analyzer/libui/ui_notif_dlg.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #define G_LOG_DOMAIN ("UI")
 
diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.h b/common/utils/itti_analyzer/libui/ui_notif_dlg.h
index ea6d2754cec48915364454efd9e77f982d298504..871b7ddb0c687e53dcaad596de4a8cdc86c0d3b2 100644
--- a/common/utils/itti_analyzer/libui/ui_notif_dlg.h
+++ b/common/utils/itti_analyzer/libui/ui_notif_dlg.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #include <gtk/gtk.h>
 
diff --git a/common/utils/itti_analyzer/libui/ui_notifications.c b/common/utils/itti_analyzer/libui/ui_notifications.c
index 50fed85645a01f3b6f82914f7e6aa64dae1dc67b..5a3b57656b43f9b113837ee9befe56b0b6278d95 100644
--- a/common/utils/itti_analyzer/libui/ui_notifications.c
+++ b/common/utils/itti_analyzer/libui/ui_notifications.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <fcntl.h>
 #include <stdlib.h>
diff --git a/common/utils/itti_analyzer/libui/ui_notifications.h b/common/utils/itti_analyzer/libui/ui_notifications.h
index 377c0938493b578cfd47ead9447ef769cfbc7458..9ea36aa1f2c3570028ad1ed1aeb248b5073b617e 100644
--- a/common/utils/itti_analyzer/libui/ui_notifications.h
+++ b/common/utils/itti_analyzer/libui/ui_notifications.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #ifndef UI_NOTIFICATIONS_H_
 #define UI_NOTIFICATIONS_H_
diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
index 41af8410ac16a2e78ff058e573dbcb4ad17f4efb..49e8df315d5485bc79edaaaf43c3cac9353855d3 100644
--- a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
+++ b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <string.h>
 
diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h
index 1c9688f68d20b4423a26946a84a9179512b1d431..36d8d55de568d279e4a6f0b5e83579cdbd5384bb 100644
--- a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h
+++ b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
 
 #ifndef UI_SIGNAL_DISSECT_VIEW_H_
 #define UI_SIGNAL_DISSECT_VIEW_H_
diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.c b/common/utils/itti_analyzer/libui/ui_tree_view.c
index 69b6b6b324527c6e288b5b17c00b168ce0dec71c..94a612dac6299426cd439ad292f541c527967c85 100644
--- a/common/utils/itti_analyzer/libui/ui_tree_view.c
+++ b/common/utils/itti_analyzer/libui/ui_tree_view.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.h b/common/utils/itti_analyzer/libui/ui_tree_view.h
index 8abdf7f53db5fd6a41075ff2d9536358e64a5579..cee24eba38aa396727e7beca3e5021b5993c5a7a 100644
--- a/common/utils/itti_analyzer/libui/ui_tree_view.h
+++ b/common/utils/itti_analyzer/libui/ui_tree_view.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface 
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is 
-   included in this distribution in the file called "COPYING". If not, 
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-  
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
 
 #ifndef UI_TREE_VIEW_H_
 #define UI_TREE_VIEW_H_
diff --git a/common/utils/msc/msc.c b/common/utils/msc/msc.c
index 9f7ed5ac3c6b7b7caa7378b1ca628562b688d302..c05c1bf7cece9b9ef9c9e7e2792edd7555c247bb 100644
--- a/common/utils/msc/msc.c
+++ b/common/utils/msc/msc.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
- *******************************************************************************/
 /*! \file msc.c
  * \brief Message chart generator logging utility (generated files to processed by a script to produce a mscgen input file for generating a sequence diagram document)
  * \author  Lionel GAUTHIER
diff --git a/common/utils/msc/msc.h b/common/utils/msc/msc.h
index b5c0c8328064d81ffc128f7fd8a64ec1b605c026..e73f826ac36fc5ccb02dcfb0eb903888ecb48b3e 100644
--- a/common/utils/msc/msc.h
+++ b/common/utils/msc/msc.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #ifndef MSC_H_
 #define MSC_H_
diff --git a/openair-cn/AUTHORS b/openair-cn/AUTHORS
deleted file mode 100644
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000
--- a/openair-cn/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/openair-cn/COMMON/common_types.h b/openair-cn/COMMON/common_types.h
index ff9a595ec8a116418d1176274cb726b8fb937b47..18cba9fb811d0c5ec8df27652de47f052a51194a 100644
--- a/openair-cn/COMMON/common_types.h
+++ b/openair-cn/COMMON/common_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 
 
 #include <stdint.h>
diff --git a/openair-cn/COMMON/gtpv1_u_messages_def.h b/openair-cn/COMMON/gtpv1_u_messages_def.h
index dfaa0429dcbdb507da891cba419b0a151bb0a4bf..d58b2dfc2e930eebbac0bf91dc5073496f79b22d 100644
--- a/openair-cn/COMMON/gtpv1_u_messages_def.h
+++ b/openair-cn/COMMON/gtpv1_u_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 MESSAGE_DEF(GTPV1U_CREATE_TUNNEL_REQ,   MESSAGE_PRIORITY_MED, Gtpv1uCreateTunnelReq,  gtpv1uCreateTunnelReq)
 MESSAGE_DEF(GTPV1U_CREATE_TUNNEL_RESP,  MESSAGE_PRIORITY_MED, Gtpv1uCreateTunnelResp, gtpv1uCreateTunnelResp)
 MESSAGE_DEF(GTPV1U_UPDATE_TUNNEL_REQ,   MESSAGE_PRIORITY_MED, Gtpv1uUpdateTunnelReq,  gtpv1uUpdateTunnelReq)
diff --git a/openair-cn/COMMON/gtpv1_u_messages_types.h b/openair-cn/COMMON/gtpv1_u_messages_types.h
index 0fe662e9eaa2f80b0ea456df442ce03b709ede78..13fd0fd8a030bf5cc9c8e7a0303c494aa7a43c7c 100644
--- a/openair-cn/COMMON/gtpv1_u_messages_types.h
+++ b/openair-cn/COMMON/gtpv1_u_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 #ifndef GTPV1_U_MESSAGES_TYPES_H_
 #define GTPV1_U_MESSAGES_TYPES_H_
 
diff --git a/openair-cn/COMMON/intertask_interface_conf.h b/openair-cn/COMMON/intertask_interface_conf.h
index c6e8f021008ee27d8c8de38d8a263c83abdf1068..9ab7cc315103f3ea8a93b6d7d12420fe33b516c0 100644
--- a/openair-cn/COMMON/intertask_interface_conf.h
+++ b/openair-cn/COMMON/intertask_interface_conf.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
- *******************************************************************************/
 
 /*
  * intertask_interface_conf.h
diff --git a/openair-cn/COMMON/ip_forward_messages_def.h b/openair-cn/COMMON/ip_forward_messages_def.h
deleted file mode 100755
index 37ea73781a444556744ace4d6f636e37eff62293..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/ip_forward_messages_def.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-MESSAGE_DEF(SGI_CREATE_ENDPOINT_REQUEST,  MESSAGE_PRIORITY_MED,       SGICreateEndpointReq,     sgiCreateEndpointReq)
-MESSAGE_DEF(SGI_CREATE_ENDPOINT_RESPONSE, MESSAGE_PRIORITY_MED,       SGICreateEndpointResp,    sgiCreateEndpointResp)
-MESSAGE_DEF(SGI_UPDATE_ENDPOINT_REQUEST,  MESSAGE_PRIORITY_MED,       SGIUpdateEndpointReq,     sgiUpdateEndpointReq)
-MESSAGE_DEF(SGI_UPDATE_ENDPOINT_RESPONSE, MESSAGE_PRIORITY_MED,       SGIUpdateEndpointResp,    sgiUpdateEndpointResp)
-MESSAGE_DEF(SGI_DELETE_ENDPOINT_REQUEST,  MESSAGE_PRIORITY_MED,       SGIDeleteEndpointReq,     sgiDeleteEndpointReq)
-MESSAGE_DEF(SGI_DELETE_ENDPOINT_RESPONSE, MESSAGE_PRIORITY_MED,       SGIDeleteEndpointResp,    sgiDeleteEndpointResp)
diff --git a/openair-cn/COMMON/ip_forward_messages_types.h b/openair-cn/COMMON/ip_forward_messages_types.h
deleted file mode 100755
index 40db8d5c388e66457b487024b4b03849f1a1ffc1..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/ip_forward_messages_types.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef SGI_FORWARD_MESSAGES_TYPES_H_
-#define SGI_FORWARD_MESSAGES_TYPES_H_
-
-typedef enum SGIStatus_e {
-  SGI_STATUS_OK               = 0,
-  SGI_STATUS_ERROR_CONTEXT_ALREADY_EXIST       = 50,
-  SGI_STATUS_ERROR_CONTEXT_NOT_FOUND           = 51,
-  SGI_STATUS_ERROR_INVALID_MESSAGE_FORMAT      = 52,
-  SGI_STATUS_ERROR_SERVICE_NOT_SUPPORTED       = 53,
-  SGI_STATUS_ERROR_SYSTEM_FAILURE              = 54,
-  SGI_STATUS_ERROR_NO_RESOURCES_AVAILABLE      = 55,
-  SGI_STATUS_ERROR_NO_MEMORY_AVAILABLE         = 56,
-  SGI_STATUS_MAX,
-} SGIStatus_t;
-
-
-typedef struct {
-  Teid_t           context_teid;        ///< Tunnel Endpoint Identifier S11
-  Teid_t           sgw_S1u_teid;        ///< Tunnel Endpoint Identifier S1-U
-  ebi_t            eps_bearer_id;       ///< EPS bearer identifier
-  pdn_type_t       pdn_type;            ///< PDN Type
-  PAA_t            paa;                 ///< PDN Address Allocation
-} SGICreateEndpointReq;
-
-typedef struct {
-  SGIStatus_t      status;              ///< Status of  endpoint creation (Failed = 0xFF or Success = 0x0)
-  Teid_t           context_teid;        ///< Tunnel Endpoint Identifier S11
-  Teid_t           sgw_S1u_teid;        ///< Tunnel Endpoint Identifier S1-U
-  ebi_t            eps_bearer_id;       ///< EPS bearer identifier
-  pdn_type_t       pdn_type;            ///< PDN Type
-  PAA_t            paa;                 ///< PDN Address Allocation
-  pco_flat_t       pco;                 ///< Protocol configuration options
-} SGICreateEndpointResp;
-
-typedef struct {
-  Teid_t           context_teid;        ///< Tunnel Endpoint Identifier S11
-  Teid_t           sgw_S1u_teid;        ///< Tunnel Endpoint Identifier S1-U
-  Teid_t           enb_S1u_teid;        ///< Tunnel Endpoint Identifier S1-U
-  ebi_t            eps_bearer_id;       ///< EPS bearer identifier
-} SGIUpdateEndpointReq;
-
-typedef struct {
-  SGIStatus_t      status;              ///< Status of  endpoint creation (Failed = 0xFF or Success = 0x0)
-  Teid_t           context_teid;        ///< Tunnel Endpoint Identifier S11
-  Teid_t           sgw_S1u_teid;        ///< Tunnel Endpoint Identifier S1-U
-  Teid_t           enb_S1u_teid;        ///< Tunnel Endpoint Identifier S1-U
-  ebi_t            eps_bearer_id;       ///< EPS bearer identifier
-} SGIUpdateEndpointResp;
-
-
-typedef struct {
-  Teid_t           context_teid;        ///< Tunnel Endpoint Identifier S11
-  Teid_t           sgw_S1u_teid;        ///< Tunnel Endpoint Identifier S1-U
-  ebi_t            eps_bearer_id;       ///< EPS bearer identifier
-  pdn_type_t       pdn_type;            ///< PDN Type
-  PAA_t            paa;                 ///< PDN Address Allocation
-} SGIDeleteEndpointReq;
-
-typedef struct {
-  SGIStatus_t      status;              ///< Status of  endpoint deletion (Failed = 0xFF or Success = 0x0)
-  Teid_t           context_teid;        ///< Tunnel Endpoint Identifier S11
-  Teid_t           sgw_S1u_teid;        ///< Tunnel Endpoint Identifier S1-U
-  ebi_t            eps_bearer_id;       ///< EPS bearer identifier
-  pdn_type_t       pdn_type;            ///< PDN Type
-  PAA_t            paa;                 ///< PDN Address Allocation
-} SGIDeleteEndpointResp;
-
-#endif /* SGI_FORWARD_MESSAGES_TYPES_H_ */
diff --git a/openair-cn/COMMON/messages_def.h b/openair-cn/COMMON/messages_def.h
index 2e4dac22e8f2ed65c7488f99bb0e75f5f03d2577..2b8667507bd803c00a4a955e092ad28abdafc985 100644
--- a/openair-cn/COMMON/messages_def.h
+++ b/openair-cn/COMMON/messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 // These messages files are mandatory and must always be placed in first position
 #include "intertask_messages_def.h"
 #include "timer_messages_def.h"
diff --git a/openair-cn/COMMON/messages_types.h b/openair-cn/COMMON/messages_types.h
index fd5da40bb5f6da8f49b56b90a1b414fba476ea7c..46a7261c59206cddfb02c2f80e8247bd4f74ec01 100644
--- a/openair-cn/COMMON/messages_types.h
+++ b/openair-cn/COMMON/messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 
 #ifndef MESSAGES_TYPES_H_
 #define MESSAGES_TYPES_H_
diff --git a/openair-cn/COMMON/mme_app_messages_def.h b/openair-cn/COMMON/mme_app_messages_def.h
deleted file mode 100644
index 68d904d4aec00ceefcc4acaf017e7d58c2eb697a..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/mme_app_messages_def.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-//WARNING: Do not include this header directly. Use intertask_interface.h instead.
-
-MESSAGE_DEF(MME_APP_CONNECTION_ESTABLISHMENT_IND  , MESSAGE_PRIORITY_MED, mme_app_connection_establishment_ind_t  , mme_app_connection_establishment_ind)
-MESSAGE_DEF(MME_APP_CONNECTION_ESTABLISHMENT_CNF  , MESSAGE_PRIORITY_MED, mme_app_connection_establishment_cnf_t  , mme_app_connection_establishment_cnf)
-MESSAGE_DEF(MME_APP_INITIAL_CONTEXT_SETUP_RSP     , MESSAGE_PRIORITY_MED, mme_app_initial_context_setup_rsp_t  ,    mme_app_initial_context_setup_rsp)
diff --git a/openair-cn/COMMON/mme_app_messages_types.h b/openair-cn/COMMON/mme_app_messages_types.h
deleted file mode 100644
index b9caa41547fe32ba70954cf8ea76580f7ffa31b4..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/mme_app_messages_types.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef MME_APP_MESSAGES_TYPES_H_
-#define MME_APP_MESSAGES_TYPES_H_
-
-
-#define MME_APP_CONNECTION_ESTABLISHMENT_IND(mSGpTR)     (mSGpTR)->ittiMsg.mme_app_connection_establishment_ind
-#define MME_APP_CONNECTION_ESTABLISHMENT_CNF(mSGpTR)     (mSGpTR)->ittiMsg.mme_app_connection_establishment_cnf
-#define MME_APP_INITIAL_CONTEXT_SETUP_RSP(mSGpTR)        (mSGpTR)->ittiMsg.mme_app_initial_context_setup_rsp
-
-typedef struct mme_app_connection_establishment_ind_s {
-  uint32_t            mme_ue_s1ap_id;
-  nas_establish_ind_t nas;
-
-  /* Transparent message from s1ap to be forwarded to MME_APP or
-   * to S1AP if connection establishment is rejected by NAS.
-   */
-  s1ap_initial_ue_message_t transparent;
-} mme_app_connection_establishment_ind_t;
-
-typedef struct mme_app_connection_establishment_cnf_s {
-
-  ebi_t                   eps_bearer_id;
-  FTeid_t                 bearer_s1u_sgw_fteid;
-  qci_t                   bearer_qos_qci;
-  priority_level_t        bearer_qos_prio_level;
-  pre_emp_vulnerability_t bearer_qos_pre_emp_vulnerability;
-  pre_emp_capability_t    bearer_qos_pre_emp_capability;
-  ambr_t                  ambr;
-
-  /* Key eNB */
-  uint8_t                 keNB[32];
-  uint16_t                security_capabilities_encryption_algorithms;
-  uint16_t                security_capabilities_integrity_algorithms;
-
-  nas_conn_est_cnf_t       nas_conn_est_cnf;
-} mme_app_connection_establishment_cnf_t;
-
-typedef struct mme_app_initial_context_setup_rsp_s {
-  uint32_t                mme_ue_s1ap_id;
-  ebi_t                   eps_bearer_id;
-  FTeid_t                 bearer_s1u_enb_fteid;
-} mme_app_initial_context_setup_rsp_t;
-
-
-#endif /* MME_APP_MESSAGES_TYPES_H_ */
diff --git a/openair-cn/COMMON/nas_messages_def.h b/openair-cn/COMMON/nas_messages_def.h
index ddd7ca392c2af8a9d2f4b43145dcb604e7634868..7c7e67051115e35e9f0e7e2ca3dfa55eb9595d88 100644
--- a/openair-cn/COMMON/nas_messages_def.h
+++ b/openair-cn/COMMON/nas_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 //WARNING: Do not include this header directly. Use intertask_interface.h instead.
 
 // Messages for NAS logging
diff --git a/openair-cn/COMMON/nas_messages_types.h b/openair-cn/COMMON/nas_messages_types.h
index 6c03d25252ced5f6d0a4563cbb8095eed3fae914..4cbdad2c990cffb2d38e23a60b62ff26c770d574 100644
--- a/openair-cn/COMMON/nas_messages_types.h
+++ b/openair-cn/COMMON/nas_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 #include "as_message.h"
 #include "nas_message.h"
 
diff --git a/openair-cn/COMMON/s11_messages_def.h b/openair-cn/COMMON/s11_messages_def.h
deleted file mode 100644
index 3859ce7d62013f49bb3bf19287df9ae76299cf5d..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/s11_messages_def.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-//WARNING: Do not include this header directly. Use intertask_interface.h instead.
diff --git a/openair-cn/COMMON/s11_messages_types.h b/openair-cn/COMMON/s11_messages_types.h
deleted file mode 100644
index 62882569a050beae69770a4d6197e5bfaa45acdd..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/s11_messages_types.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef S11_MESSAGES_TYPES_H_
-#define S11_MESSAGES_TYPES_H_
-
-#endif /* S11_MESSAGES_TYPES_H_ */
diff --git a/openair-cn/COMMON/s1ap_messages_def.h b/openair-cn/COMMON/s1ap_messages_def.h
index 2e39e264b2272ec1e751a3748b8ce3c2970a3d63..eeb48a64b096409e8857c3215ba4f82b3db49e92 100644
--- a/openair-cn/COMMON/s1ap_messages_def.h
+++ b/openair-cn/COMMON/s1ap_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 //WARNING: Do not include this header directly. Use intertask_interface.h instead.
 
 /* Messages for S1AP logging */
diff --git a/openair-cn/COMMON/s1ap_messages_types.h b/openair-cn/COMMON/s1ap_messages_types.h
index 23ff59a85833cddaa4fe7f152e8645ba1044a44c..af45f570298e6ba480615ef9e047f3a114d0f447 100644
--- a/openair-cn/COMMON/s1ap_messages_types.h
+++ b/openair-cn/COMMON/s1ap_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 #ifndef S1AP_MESSAGES_TYPES_H_
 #define S1AP_MESSAGES_TYPES_H_
 
diff --git a/openair-cn/COMMON/s6a_messages_def.h b/openair-cn/COMMON/s6a_messages_def.h
deleted file mode 100644
index db8284aed5f8bbff9f93230f18de79b6a4ec1b5b..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/s6a_messages_def.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-//WARNING: Do not include this header directly. Use intertask_interface.h instead.
-MESSAGE_DEF(S6A_UPDATE_LOCATION_REQ, MESSAGE_PRIORITY_MED,      s6a_update_location_req_t, s6a_update_location_req)
-MESSAGE_DEF(S6A_UPDATE_LOCATION_ANS, MESSAGE_PRIORITY_MED,      s6a_update_location_ans_t, s6a_update_location_ans)
-MESSAGE_DEF(S6A_AUTH_INFO_REQ, MESSAGE_PRIORITY_MED,            s6a_auth_info_req_t, s6a_auth_info_req)
-MESSAGE_DEF(S6A_AUTH_INFO_ANS, MESSAGE_PRIORITY_MED,            s6a_auth_info_ans_t, s6a_auth_info_ans)
diff --git a/openair-cn/COMMON/s6a_messages_types.h b/openair-cn/COMMON/s6a_messages_types.h
deleted file mode 100644
index 0999afabbdb3ee89deecf2db2208369c39012cad..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/s6a_messages_types.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef S6A_MESSAGES_TYPES_H_
-#define S6A_MESSAGES_TYPES_H_
-
-#define AUTS_LENGTH 14
-
-typedef struct s6a_update_location_req_s {
-#define SKIP_SUBSCRIBER_DATA (0x1)
-  unsigned skip_subscriber_data:1;
-#define INITIAL_ATTACH       (0x1)
-  unsigned initial_attach:1;
-
-  char       imsi[IMSI_DIGITS_MAX + 1]; // username
-  uint8_t    imsi_length;               // username
-
-  plmn_t     visited_plmn;              // visited plmn id
-  rat_type_t rat_type;                  // rat type
-
-  // missing                           // origin host
-  // missing                           // origin realm
-
-  // missing                           // destination host
-  // missing                           // destination realm
-} s6a_update_location_req_t;
-
-typedef struct s6a_update_location_ans_s {
-  s6a_result_t        result;              // Result of the update location request procedure
-  subscription_data_t subscription_data;   // subscriber status,
-  // Maximum Requested Bandwidth Uplink, downlink
-  // access restriction data
-  // msisdn
-  apn_config_profile_t  apn_config_profile;// APN configuration profile
-
-  network_access_mode_t access_mode;
-  rau_tau_timer_t       rau_tau_timer;
-  char    imsi[IMSI_DIGITS_MAX + 1];
-  uint8_t imsi_length;
-
-
-} s6a_update_location_ans_t;
-
-typedef struct s6a_auth_info_req_s {
-  char    imsi[IMSI_DIGITS_MAX + 1];
-  uint8_t imsi_length;
-  plmn_t  visited_plmn;
-  /* Number of vectors to retrieve from HSS, should be equal to one */
-  uint8_t nb_of_vectors;
-
-  /* Bit to indicate that USIM has requested a re-synchronization of SQN */
-  unsigned re_synchronization:1;
-  /* AUTS to provide to AUC.
-   * Only present and interpreted if re_synchronization == 1.
-   */
-  uint8_t auts[AUTS_LENGTH];
-} s6a_auth_info_req_t;
-
-typedef struct s6a_auth_info_ans_s {
-  char       imsi[IMSI_DIGITS_MAX + 1];
-  uint8_t    imsi_length;
-
-  /* Result of the authentication information procedure */
-  s6a_result_t result;
-  /* Authentication info containing the vector(s) */
-  authentication_info_t auth_info;
-} s6a_auth_info_ans_t;
-
-#endif /* S6A_MESSAGES_TYPES_H_ */
diff --git a/openair-cn/COMMON/sctp_messages_def.h b/openair-cn/COMMON/sctp_messages_def.h
index 3b840f1bf6133dd1aedd81c05fc2b3afd7bef123..e56598bc4499f2ecc332b86e7b4ce51df4e49885 100644
--- a/openair-cn/COMMON/sctp_messages_def.h
+++ b/openair-cn/COMMON/sctp_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 //WARNING: Do not include this header directly. Use intertask_interface.h instead.
 
 MESSAGE_DEF(SCTP_INIT_MSG,          MESSAGE_PRIORITY_MED, SctpInit,                 sctpInit)
diff --git a/openair-cn/COMMON/sctp_messages_types.h b/openair-cn/COMMON/sctp_messages_types.h
index ac991e2f07ddc1f9598cf9de273f7e4cd0ea9f58..5d1aef92ed14d811a7666d27019c131eba798148 100644
--- a/openair-cn/COMMON/sctp_messages_types.h
+++ b/openair-cn/COMMON/sctp_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 #ifndef SCTP_MESSAGES_TYPES_H_
 #define SCTP_MESSAGES_TYPES_H_
 
diff --git a/openair-cn/COMMON/security_types.h b/openair-cn/COMMON/security_types.h
index debe695c90ea574ff4bccc3c0cd0c48ca958066b..3428b23e7a535df50a309b231b284adb110c4d04 100644
--- a/openair-cn/COMMON/security_types.h
+++ b/openair-cn/COMMON/security_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
- *******************************************************************************/
 #if HAVE_CONFIG_H
 # include "config.h"
 #endif
diff --git a/openair-cn/COMMON/sgw_lite_def.h b/openair-cn/COMMON/sgw_lite_def.h
deleted file mode 100644
index 3f1814b028d318fcd7afa9cb53f975b5dab12178..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/sgw_lite_def.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-MESSAGE_DEF(SGW_CREATE_SESSION_REQUEST,  MESSAGE_PRIORITY_MED, SgwCreateSessionRequest,  sgwCreateSessionRequest)
-MESSAGE_DEF(SGW_CREATE_SESSION_RESPONSE, MESSAGE_PRIORITY_MED, SgwCreateSessionResponse, sgwCreateSessionResponse)
-MESSAGE_DEF(SGW_MODIFY_BEARER_REQUEST,   MESSAGE_PRIORITY_MED, SgwModifyBearerRequest,   sgwModifyBearerRequest)
-MESSAGE_DEF(SGW_MODIFY_BEARER_RESPONSE,  MESSAGE_PRIORITY_MED, SgwModifyBearerResponse,  sgwModifyBearerResponse)
-MESSAGE_DEF(SGW_DELETE_SESSION_REQUEST,  MESSAGE_PRIORITY_MED, SgwDeleteSessionRequest,  sgwDeleteSessionRequest)
-MESSAGE_DEF(SGW_DELETE_SESSION_RESPONSE, MESSAGE_PRIORITY_MED, SgwDeleteSessionResponse, sgwDeleteSessionResponse)
-MESSAGE_DEF(SGW_RELEASE_ACCESS_BEARERS_REQUEST, MESSAGE_PRIORITY_MED, SgwReleaseAccessBearersRequest, sgwReleaseAccessBearersRequest)
-MESSAGE_DEF(SGW_RELEASE_ACCESS_BEARERS_RESPONSE, MESSAGE_PRIORITY_MED, SgwReleaseAccessBearersResponse, sgwReleaseAccessBearersResponse)
diff --git a/openair-cn/COMMON/sgw_lite_messages_types.h b/openair-cn/COMMON/sgw_lite_messages_types.h
deleted file mode 100644
index f83015b6bb9fdb6f85391541d40b17215f0e3da1..0000000000000000000000000000000000000000
--- a/openair-cn/COMMON/sgw_lite_messages_types.h
+++ /dev/null
@@ -1,928 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-/*! \file sgw_lite_messages_types.h
- * \brief S11 definitions for interaction between MME and S11
- * 3GPP TS 29.274.
- * Messages are the same as for GTPv2-C but here we abstract the UDP layer
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-#include "../SGW-LITE/sgw_lite_ie_defs.h"
-
-#ifndef SGW_LITE_MESSAGES_TYPES_H_
-#define SGW_LITE_MESSAGES_TYPES_H_
-
-#define SGW_CREATE_SESSION_REQUEST(mSGpTR)         (mSGpTR)->ittiMsg.sgwCreateSessionRequest
-#define SGW_CREATE_SESSION_RESPONSE(mSGpTR)        (mSGpTR)->ittiMsg.sgwCreateSessionResponse
-#define SGW_MODIFY_BEARER_REQUEST(mSGpTR)          (mSGpTR)->ittiMsg.sgwModifyBearerRequest
-#define SGW_MODIFY_BEARER_RESPONSE(mSGpTR)         (mSGpTR)->ittiMsg.sgwModifyBearerResponse
-#define SGW_DELETE_SESSION_REQUEST(mSGpTR)         (mSGpTR)->ittiMsg.sgwDeleteSessionRequest
-#define SGW_DELETE_SESSION_RESPONSE(mSGpTR)        (mSGpTR)->ittiMsg.sgwDeleteSessionResponse
-#define SGW_RELEASE_ACCESS_BEARERS_REQUEST(mSGpTR) (mSGpTR)->ittiMsg.sgwReleaseAccessBearersRequest
-#define SGW_RELEASE_ACCESS_BEARERS_RESPONSE(mSGpTR) (mSGpTR)->ittiMsg.sgwReleaseAccessBearersResponse
-
-
-/** @struct SgwCreateSessionRequest
- *  @brief Create Session Request
- *
- * Spec 3GPP TS 29.274, Universal Mobile Telecommunications System (UMTS);
- *                      LTE; 3GPP Evolved Packet System (EPS);
- *                      Evolved General Packet Radio Service (GPRS);
- *                      Tunnelling Protocol for Control plane (GTPv2-C); Stage 3
- * The Create Session Request will be sent on S11 interface as
- * part of these procedures:
- * - E-UTRAN Initial Attach
- * - UE requested PDN connectivity
- * - Tracking Area Update procedure with Serving GW change
- * - S1/X2-based handover with SGW change
- */
-typedef struct SgwCreateSessionRequest_s {
-  Teid_t             teid;                ///< S11- S-GW Tunnel Endpoint Identifier
-
-  Imsi_t             imsi;                ///< The IMSI shall be included in the message on the S4/S11
-  ///< interface, and on S5/S8 interface if provided by the
-  ///< MME/SGSN, except for the case:
-  ///<     - If the UE is emergency attached and the UE is UICCless.
-  ///< The IMSI shall be included in the message on the S4/S11
-  ///< interface, and on S5/S8 interface if provided by the
-  ///< MME/SGSN, but not used as an identifier
-  ///<     - if UE is emergency attached but IMSI is not authenticated.
-  ///< The IMSI shall be included in the message on the S2b interface.
-
-  Msisdn_t           msisdn;              ///< For an E-UTRAN Initial Attach the IE shall be included
-  ///< when used on the S11 interface, if provided in the
-  ///< subscription data from the HSS.
-  ///< For a PDP Context Activation procedure the IE shall be
-  ///< included when used on the S4 interface, if provided in the
-  ///< subscription data from the HSS.
-  ///< The IE shall be included for the case of a UE Requested
-  ///< PDN Connectivity, if the MME has it stored for that UE.
-  ///< It shall be included when used on the S5/S8 interfaces if
-  ///< provided by the MME/SGSN.
-  ///< The ePDG shall include this IE on the S2b interface during
-  ///< an Attach with GTP on S2b and a UE initiated Connectivity
-  ///< to Additional PDN with GTP on S2b, if provided by the
-  ///< HSS/AAA.
-
-  Mei_t              mei;                 ///< The MME/SGSN shall include the ME Identity (MEI) IE on
-  ///< the S11/S4 interface:
-  ///<     - If the UE is emergency attached and the UE is UICCless
-  ///<     - If the UE is emergency attached and the IMSI is not authenticated
-  ///< For all other cases the MME/SGSN shall include the ME
-  ///< Identity (MEI) IE on the S11/S4 interface if it is available.
-  ///< If the SGW receives this IE, it shall forward it to the PGW
-  ///< on the S5/S8 interface.
-
-  Uli_t              uli;                 ///< This IE shall be included on the S11 interface for E-
-  ///< UTRAN Initial Attach and UE-requested PDN Connectivity
-  ///< procedures. It shall include ECGI&TAI. The MME/SGSN
-  ///< shall also include it on the S11/S4 interface for
-  ///< TAU/RAU/X2-Handover/Enhanced SRNS Relocation
-  ///< procedure if the PGW has requested location information
-  ///< change reporting and MME/SGSN support location
-  ///< information change reporting. The SGW shall include this
-  ///< IE on S5/S8 if it receives the ULI from MME/SGSN.
-
-  ServingNetwork_t   serving_network;     ///< This IE shall be included on the S4/S11, S5/S8 and S2b
-  ///< interfaces for an E-UTRAN initial attach, a PDP Context
-  ///< Activation, a UE requested PDN connectivity, an Attach
-  ///< with GTP on S2b, a UE initiated Connectivity to Additional
-  ///< PDN with GTP on S2b and a Handover to Untrusted Non-
-  ///< 3GPP IP Access with GTP on S2b.
-
-  rat_type_t         rat_type;            ///< This IE shall be set to the 3GPP access type or to the
-  ///< value matching the characteristics of the non-3GPP access
-  ///< the UE is using to attach to the EPS.
-  ///< The ePDG may use the access technology type of the
-  ///< untrusted non-3GPP access network if it is able to acquire
-  ///< it; otherwise it shall indicate Virtual as the RAT Type.
-  ///< See NOTE 3, NOTE 4.
-
-  indication_flags_t indication_flags;    ///< This IE shall be included if any one of the applicable flags
-  ///< is set to 1.
-  ///< Applicable flags are:
-  ///<     - S5/S8 Protocol Type: This flag shall be used on
-  ///<       the S11/S4 interfaces and set according to the
-  ///<       protocol chosen to be used on the S5/S8
-  ///<       interfaces.
-  ///<
-  ///<     - Dual Address Bearer Flag: This flag shall be used
-  ///<       on the S2b, S11/S4 and S5/S8 interfaces and shall
-  ///<       be set to 1 when the PDN Type, determined based
-  ///<       on UE request and subscription record, is set to
-  ///<       IPv4v6 and all SGSNs which the UE may be
-  ///<       handed over to support dual addressing. This shall
-  ///<       be determined based on node pre-configuration by
-  ///<       the operator.
-  ///<
-  ///<     - Handover Indication: This flag shall be set to 1 on
-  ///<       the S11/S4 and S5/S8 interface during an E-
-  ///<       UTRAN Initial Attach or a UE Requested PDN
-  ///<       Connectivity or aPDP Context Activation procedure
-  ///<       if the PDN connection/PDP Context is handed-over
-  ///<       from non-3GPP access.
-  ///<       This flag shall be set to 1 on the S2b interface
-  ///<       during a Handover to Untrusted Non-3GPP IP
-  ///<       Access with GTP on S2b and IP address
-  ///<       preservation is requested by the UE.
-  ///<
-  ///<       ....
-  ///<     - Unauthenticated IMSI: This flag shall be set to 1
-  ///<       on the S4/S11 and S5/S8 interfaces if the IMSI
-  ///<       present in the message is not authenticated and is
-  ///<       for an emergency attached UE.
-
-  FTeid_t            sender_fteid_for_cp; ///< Sender F-TEID for control plane (MME)
-
-  FTeid_t            pgw_address_for_cp;  ///< PGW S5/S8 address for control plane or PMIP
-  ///< This IE shall be sent on the S11 / S4 interfaces. The TEID
-  ///< or GRE Key is set to "0" in the E-UTRAN initial attach, the
-  ///< PDP Context Activation and the UE requested PDN
-  ///< connectivity procedures.
-
-  char               apn[APN_MAX_LENGTH + 1]; ///< Access Point Name
-
-  SelectionMode_t    selection_mode;      ///< Selection Mode
-  ///< This IE shall be included on the S4/S11 and S5/S8
-  ///< interfaces for an E-UTRAN initial attach, a PDP Context
-  ///< Activation and a UE requested PDN connectivity.
-  ///< This IE shall be included on the S2b interface for an Initial
-  ///< Attach with GTP on S2b and a UE initiated Connectivity to
-  ///< Additional PDN with GTP on S2b.
-  ///< It shall indicate whether a subscribed APN or a non
-  ///< subscribed APN chosen by the MME/SGSN/ePDG was
-  ///< selected.
-  ///< CO: When available, this IE shall be sent by the MME/SGSN on
-  ///< the S11/S4 interface during TAU/RAU/HO with SGW
-  ///< relocation.
-
-  pdn_type_t         pdn_type;            ///< PDN Type
-  ///< This IE shall be included on the S4/S11 and S5/S8
-  ///< interfaces for an E-UTRAN initial attach, a PDP Context
-  ///< Activation and a UE requested PDN connectivity.
-  ///< This IE shall be set to IPv4, IPv6 or IPv4v6. This is based
-  ///< on the UE request and the subscription record retrieved
-  ///< from the HSS (for MME see 3GPP TS 23.401 [3], clause
-  ///< 5.3.1.1, and for SGSN see 3GPP TS 23.060 [35], clause
-  ///< 9.2.1). See NOTE 1.
-
-  PAA_t              paa;                 ///< PDN Address Allocation
-  ///< This IE shall be included the S4/S11, S5/S8 and S2b
-  ///< interfaces for an E-UTRAN initial attach, a PDP Context
-  ///< Activation, a UE requested PDN connectivity, an Attach
-  ///< with GTP on S2b, a UE initiated Connectivity to Additional
-  ///< PDN with GTP on S2b and a Handover to Untrusted Non-
-  ///< 3GPP IP Access with GTP on S2b. For PMIP-based
-  ///< S5/S8, this IE shall also be included on the S4/S11
-  ///< interfaces for TAU/RAU/Handover cases involving SGW
-  ///< relocation.
-  ///< The PDN type field in the PAA shall be set to IPv4, or IPv6
-  ///< or IPv4v6 by MME, based on the UE request and the
-  ///< subscription record retrieved from the HSS.
-  ///< For static IP address assignment (for MME see 3GPP TS
-  ///< 23.401 [3], clause 5.3.1.1, for SGSN see 3GPP TS 23.060
-  ///< [35], clause 9.2.1, and for ePDG see 3GPP TS 23.402 [45]
-  ///< subclause 4.7.3), the MME/SGSN/ePDG shall set the IPv4
-  ///< address and/or IPv6 prefix length and IPv6 prefix and
-  ///< Interface Identifier based on the subscribed values
-  ///< received from HSS, if available. The value of PDN Type
-  ///< field shall be consistent with the value of the PDN Type IE,
-  ///< if present in this message.
-  ///< For a Handover to Untrusted Non-3GPP IP Access with
-  ///< GTP on S2b, the ePDG shall set the IPv4 address and/or
-  ///< IPv6 prefix length and IPv6 prefix and Interface Identifier
-  ///< based on the IP address(es) received from the UE.
-  ///< If static IP address assignment is not used, and for
-  ///< scenarios other than a Handover to Untrusted Non-3GPP
-  ///< IP Access with GTP on S2b, the IPv4 address shall be set
-  ///< to 0.0.0.0, and/or the IPv6 Prefix Length and IPv6 prefix
-  ///< and Interface Identifier shall all be set to zero.
-  ///<
-  ///< CO: This IE shall be sent by the MME/SGSN on S11/S4
-  ///< interface during TAU/RAU/HO with SGW relocation.
-
-  // APN Restriction Maximum_APN_Restriction ///< This IE shall be included on the S4/S11 and S5/S8
-  ///< interfaces in the E-UTRAN initial attach, PDP Context
-  ///< Activation and UE Requested PDN connectivity
-  ///< procedures.
-  ///< This IE denotes the most stringent restriction as required
-  ///< by any already active bearer context. If there are no
-  ///< already active bearer contexts, this value is set to the least
-  ///< restrictive type.
-
-  ambr_t             ambr;                ///< Aggregate Maximum Bit Rate (APN-AMBR)
-  ///< This IE represents the APN-AMBR. It shall be included on
-  ///< the S4/S11, S5/S8 and S2b interfaces for an E-UTRAN
-  ///< initial attach, UE requested PDN connectivity, the PDP
-  ///< Context Activation procedure using S4, the PS mobility
-  ///< from the Gn/Gp SGSN to the S4 SGSN/MME procedures,
-  ///< Attach with GTP on S2b and a UE initiated Connectivity to
-  ///< Additional PDN with GTP on S2b.
-
-  // EBI Linked EPS Bearer ID             ///< This IE shall be included on S4/S11 in RAU/TAU/HO
-  ///< except in the Gn/Gp SGSN to MME/S4-SGSN
-  ///< RAU/TAU/HO procedures with SGW change to identify the
-  ///< default bearer of the PDN Connection
-
-  pco_flat_t         pco;                 /// PCO protocol_configuration_options
-  ///< This IE is not applicable to TAU/RAU/Handover. If
-  ///< MME/SGSN receives PCO from UE (during the attach
-  ///< procedures), the MME/SGSN shall forward the PCO IE to
-  ///< SGW. The SGW shall also forward it to PGW.
-
-  bearer_to_create_t bearer_to_create;    ///< Bearer Contexts to be created
-  ///< Several IEs with the same type and instance value shall be
-  ///< included on the S4/S11 and S5/S8 interfaces as necessary
-  ///< to represent a list of Bearers. One single IE shall be
-  ///< included on the S2b interface.
-  ///< One bearer shall be included for an E-UTRAN Initial
-  ///< Attach, a PDP Context Activation, a UE requested PDN
-  ///< Connectivity, an Attach with GTP on S2b, a UE initiated
-  ///< Connectivity to Additional PDN with GTP on S2b and a
-  ///< Handover to Untrusted Non-3GPP IP Access with GTP on
-  ///< S2b.
-  ///< One or more bearers shall be included for a
-  ///< Handover/TAU/RAU with an SGW change.
-
-  ///bearer_to_remove_t bearer_to_remove;    ///< This IE shall be included on the S4/S11 interfaces for the
-  ///< TAU/RAU/Handover cases where any of the bearers
-  ///< existing before the TAU/RAU/Handover procedure will be
-  ///< deactivated as consequence of the TAU/RAU/Handover
-  ///< procedure.
-  ///< For each of those bearers, an IE with the same type and
-  ///< instance value shall be included.
-
-  // Trace Information trace_information  ///< This IE shall be included on the S4/S11 interface if an
-  ///< SGW trace is activated, and/or on the S5/S8 and S2b
-  ///< interfaces if a PGW trace is activated. See 3GPP TS
-  ///< 32.422 [18].
-
-  // Recovery Recovery                    ///< This IE shall be included on the S4/S11, S5/S8 and S2b
-  ///< interfaces if contacting the peer for the first time
-
-  FQ_CSID_t          mme_fq_csid;         ///< This IE shall be included by the MME on the S11 interface
-  ///< and shall be forwarded by an SGW on the S5/S8 interfaces
-  ///< according to the requirements in 3GPP TS 23.007 [17].
-
-  FQ_CSID_t          sgw_fq_csid;         ///< This IE shall included by the SGW on the S5/S8 interfaces
-  ///< according to the requirements in 3GPP TS 23.007 [17].
-
-  //FQ_CSID_t          epdg_fq_csid;      ///< This IE shall be included by the ePDG on the S2b interface
-  ///< according to the requirements in 3GPP TS 23.007 [17].
-
-  UETimeZone_t       ue_time_zone;        ///< This IE shall be included by the MME over S11 during
-  ///< Initial Attach, UE Requested PDN Connectivity procedure.
-  ///< This IE shall be included by the SGSN over S4 during PDP
-  ///< Context Activation procedure.
-  ///< This IE shall be included by the MME/SGSN over S11/S4
-  ///< TAU/RAU/Handover with SGW relocation.
-  ///< C: If SGW receives this IE, SGW shall forward it to PGW
-  ///< across S5/S8 interface.
-
-  UCI_t              uci;                 ///< User CSG Information
-  ///< CO This IE shall be included on the S4/S11 interface for E-
-  ///< UTRAN Initial Attach, UE-requested PDN Connectivity and
-  ///< PDP Context Activation using S4 procedures if the UE is
-  ///< accessed via CSG cell or hybrid cell. The MME/SGSN
-  ///< shall also include it for TAU/RAU/Handover procedures if
-  ///< the PGW has requested CSG info reporting and
-  ///< MME/SGSN support CSG info reporting. The SGW shall
-  ///< include this IE on S5/S8 if it receives the User CSG
-  ///< information from MME/SGSN.
-
-  // Charging Characteristics
-  // MME/S4-SGSN LDN
-  // SGW LDN
-  // ePDG LDN
-  // Signalling Priority Indication
-  // MMBR Max MBR/APN-AMBR
-  // Private Extension
-
-  /* S11 stack specific parameter. Not used in standalone epc mode */
-  void              *trxn;                ///< Transaction identifier
-  uint32_t           peer_ip;             ///< MME ipv4 address for S-GW or S-GW ipv4 address for MME
-  uint16_t           peer_port;           ///< MME port for S-GW or S-GW port for MME
-} SgwCreateSessionRequest;
-
-/** @struct SgwCreateSessionResponse
- *  @brief Create Session Response
- *
- * The Create Session Response will be sent on S11 interface as
- * part of these procedures:
- * - E-UTRAN Initial Attach
- * - UE requested PDN connectivity
- * - Tracking Area Update procedure with SGW change
- * - S1/X2-based handover with SGW change
- */
-typedef struct SgwCreateSessionResponse_s {
-  Teid_t                   teid;                ///< Tunnel Endpoint Identifier
-
-  // here fields listed in 3GPP TS 29.274
-  SGWCause_t               cause;               ///< If the SGW cannot accept any of the "Bearer Context Created" IEs within Create Session Request
-  ///< message, the SGW shall send the Create Session Response with appropriate reject Cause value.
-
-  // change_reporting_action                    ///< This IE shall be included on the S5/S8 and S4/S11
-  ///< interfaces with the appropriate Action field if the location
-  ///< Change Reporting mechanism is to be started or stopped
-  ///< for this subscriber in the SGSN/MME.
-
-  // csg_Information_reporting_action           ///< This IE shall be included on the S5/S8 and S4/S11
-  ///< interfaces with the appropriate Action field if the CSG Info
-  ///< reporting mechanism is to be started or stopped for this
-  ///< subscriber in the SGSN/MME.
-
-  FTeid_t                  s11_sgw_teid;        ///< Sender F-TEID for control plane
-  ///< This IE shall be sent on the S11/S4 interfaces. For the
-  ///< S5/S8/S2b interfaces it is not needed because its content
-  ///< would be identical to the IE PGW S5/S8/S2b F-TEID for
-  ///< PMIP based interface or for GTP based Control Plane
-  ///< interface.
-
-  FTeid_t                  s5_s8_pgw_teid;      ///< PGW S5/S8/S2b F-TEID for PMIP based interface or for GTP based Control Planeinterface
-  ///< PGW shall include this IE on the S5/S8 interfaces during
-  ///< the Initial Attach, UE requested PDN connectivity and PDP
-  ///< Context Activation procedures.
-  ///< If SGW receives this IE it shall forward the IE to MME/S4-
-  ///< SGSN on S11/S4 interface.
-  ///< This IE shall include the TEID in the GTP based S5/S8
-  ///< case and the GRE key in the PMIP based S5/S8 case.
-  ///< In PMIP based S5/S8 case, same IP address is used for
-  ///< both control plane and the user plane communication.
-  ///<
-  ///< PGW shall include this IE on the S2b interface during the
-  ///< Attach with GTP on S2b, UE initiated Connectivity to
-  ///< Additional PDN with GTP on S2b and Handover to
-  ///< Untrusted Non-3GPP IP Access with GTP on S2b
-  ///< procedures.
-
-
-  PAA_t                    paa;                 ///< PDN Address Allocation
-  ///< This IE shall be included on the S5/S8, S4/S11 and S2b
-  ///< interfaces for the E-UTRAN initial attach, PDP Context
-  ///< Activation, UE requested PDN connectivity, Attach with
-  ///< GTP on S2b, UE initiated Connectivity to Additional PDN
-  ///< with GTP on S2b and Handover to Untrusted Non-3GPP IP
-  ///< Access with GTP on S2b procedures.
-  ///< The PDN type field in the PAA shall be set to IPv4, or IPv6
-  ///< or IPv4v6 by the PGW.
-  ///< For the interfaces other than S2b, if the DHCPv4 is used
-  ///< for IPv4 address allocation, the IPv4 address field shall be
-  ///< set to 0.0.0.0.
-
-  APNRestriction_t         apn_restriction;     ///< This IE shall be included on the S5/S8 and S4/S11
-  ///< interfaces in the E-UTRAN initial attach, PDP Context
-  ///< Activation and UE Requested PDN connectivity
-  ///< procedures.
-  ///< This IE shall also be included on S4/S11 during the Gn/Gp
-  ///< SGSN to S4 SGSN/MME RAU/TAU procedures.
-  ///< This IE denotes the restriction on the combination of types
-  ///< of APN for the APN associated with this EPS bearer
-  ///< Context.
-
-  ambr_t             ambr;                      ///< Aggregate Maximum Bit Rate (APN-AMBR)
-  ///< This IE represents the APN-AMBR. It shall be included on
-  ///< the S5/S8, S4/S11 and S2b interfaces if the received APN-
-  ///< AMBR has been modified by the PCRF.
-
-  // EBI Linked EPS Bearer ID                   ///< This IE shall be sent on the S4/S11 interfaces during
-  ///< Gn/Gp SGSN to S4-SGSN/MME RAU/TAU procedure to
-  ///< identify the default bearer the PGW selects for the PDN
-  ///< Connection.
-
-  pco_flat_t         pco;// PCO protocol_configuration_options
-  ///< This IE is not applicable for TAU/RAU/Handover. If PGW
-  ///< decides to return PCO to the UE, PGW shall send PCO to
-  ///< SGW. If SGW receives the PCO IE, SGW shall forward it
-  ///< MME/SGSN.
-
-  bearer_context_created_t bearer_context_created;///< EPS bearers corresponding to Bearer Contexts sent in
-  ///< request message. Several IEs with the same type and
-  ///< instance value may be included on the S5/S8 and S4/S11
-  ///< as necessary to represent a list of Bearers. One single IE
-  ///< shall be included on the S2b interface.
-  ///< One bearer shall be included for E-UTRAN Initial Attach,
-  ///< PDP Context Activation or UE Requested PDN
-  ///< Connectivity , Attach with GTP on S2b, UE initiated
-  ///< Connectivity to Additional PDN with GTP on S2b, and
-  ///< Handover to Untrusted Non-3GPP IP Access with GTP on
-  ///< S2b.
-  ///< One or more created bearers shall be included for a
-  ///< Handover/TAU/RAU with an SGW change. See NOTE 2.
-
-  // Bearer_Context bearer_contexts_marked_for_removal ///< EPS bearers corresponding to Bearer Contexts to be
-  ///< removed that were sent in the Create Session Request
-  ///< message.
-  ///< For each of those bearers an IE with the same type and
-  ///< instance value shall be included on the S4/S11 interfaces.
-
-  // Recovery Recovery                          ///< This IE shall be included on the S4/S11, S5/S8 and S2b
-  ///< interfaces if contacting the peer for the first time
-
-  // FQDN charging_Gateway_name                 ///< When Charging Gateway Function (CGF) Address is
-  ///< configured, the PGW shall include this IE on the S5
-  ///< interface.
-  ///< NOTE 1: Both Charging Gateway Name and Charging Gateway Address shall not be included at the same
-  ///< time. When both are available, the operator configures a preferred value.
-
-  // IP Address charging_Gateway_address        ///< When Charging Gateway Function (CGF) Address is
-  ///< configured, the PGW shall include this IE on the S5
-  ///< interface. See NOTE 1.
-
-
-  FQ_CSID_t                pgw_fq_csid;         ///< This IE shall be included by the PGW on the S5/S8 and
-  ///< S2b interfaces and, when received from S5/S8 be
-  ///< forwarded by the SGW on the S11 interface according to
-  ///< the requirements in 3GPP TS 23.007 [17].
-
-  FQ_CSID_t                sgw_fq_csid;         ///< This IE shall be included by the SGW on the S11 interface
-  ///< according to the requirements in 3GPP TS 23.007 [17].
-
-  // Local Distinguished Name (LDN) SGW LDN     ///< This IE is optionally sent by the SGW to the MME/SGSN
-  ///< on the S11/S4 interfaces (see 3GPP TS 32.423 [44]),
-  ///< when contacting the peer node for the first time.
-  ///< Also:
-  ///< This IE is optionally sent by the SGW to the MME/SGSN
-  ///< on the S11/S4 interfaces (see 3GPP TS 32.423 [44]),
-  ///< when communicating the LDN to the peer node for the first
-  ///< time.
-
-  // Local Distinguished Name (LDN) PGW LDN     ///< This IE is optionally included by the PGW on the S5/S8
-  ///< and S2b interfaces (see 3GPP TS 32.423 [44]), when
-  ///< contacting the peer node for the first time.
-  ///< Also:
-  ///< This IE is optionally included by the PGW on the S5/S8
-  ///< interfaces (see 3GPP TS 32.423 [44]), when
-  ///< communicating the LDN to the peer node for the first time.
-
-  // EPC_Timer pgw_back_off_time                ///< This IE may be included on the S5/S8 and S4/S11
-  ///< interfaces when the PDN GW rejects the Create Session
-  ///< Request with the cause "APN congestion". It indicates the
-  ///< time during which the MME or S4-SGSN should refrain
-  ///< from sending subsequent PDN connection establishment
-  ///< requests to the PGW for the congested APN for services
-  ///< other than Service Users/emergency services.
-  ///< See NOTE 3:
-  ///< The last received value of the PGW Back-Off Time IE shall supersede any previous values received
-  ///< from that PGW and for this APN in the MME/SGSN.
-
-  // Private Extension                          ///< This IE may be sent on the S5/S8, S4/S11 and S2b
-  ///< interfaces.
-
-  /* S11 stack specific parameter. Not used in standalone epc mode */
-  void                    *trxn;               ///< Transaction identifier
-  uint32_t                 peer_ip;            ///< MME ipv4 address
-} SgwCreateSessionResponse;
-
-/** @struct SgwModifyBearerRequest
- *  @brief Modify Bearer Request
- *
- * The Modify Bearer Request will be sent on S11 interface as
- * part of these procedures:
- * - E-UTRAN Tracking Area Update without SGW Change
- * - UE triggered Service Request
- * - S1-based Handover
- * - E-UTRAN Initial Attach
- * - UE requested PDN connectivity
- * - X2-based handover without SGWrelocation
- */
-typedef struct SgwModifyBearerRequest_s {
-  Teid_t                     teid;             ///< S11 SGW Tunnel Endpoint Identifier
-
-  // MEI                    ME Identity (MEI)  ///< C:This IE shall be sent on the S5/S8 interfaces for the Gn/Gp
-  ///< SGSN to MME TAU.
-
-  Uli_t                      uli;              ///< C: The MME/SGSN shall include this IE for
-  ///< TAU/RAU/Handover procedures if the PGW has requested
-  ///< location information change reporting and MME/SGSN
-  ///< support location information change reporting.
-  ///< An MME/SGSN which supports location information
-  ///< change shall include this IE for UE-initiated Service
-  ///< Request procedure if the PGW has requested location
-  ///< information change reporting and the UE’s location info
-  ///< has changed.
-  ///< The SGW shall include this IE on S5/S8 if it receives the
-  ///< ULI from MME/SGSN.
-  ///< CO:This IE shall also be included on the S4/S11 interface for a
-  ///< TAU/RAU/Handover with MME/SGSN change without
-  ///< SGW change procedure, if the level of support (User
-  ///< Location Change Reporting and/or CSG Information
-  ///< Change Reporting) changes the MME shall include the
-  ///< ECGI/TAI in the ULI, the SGSN shall include the CGI/SAI
-  ///< in the ULI.
-  ///< The SGW shall include this IE on S5/S8 if it receives the
-  ///< ULI from MME/SGSN.
-
-  ServingNetwork_t           serving_network;  ///< CO:This IE shall be included on S11/S4 interface during the
-  ///< following procedures:
-  ///< - TAU/RAU/handover if Serving Network is changed.
-  ///< - TAU/RAU when the UE was ISR activated which is
-  ///<   indicated by ISRAU flag.
-  ///< - UE triggered Service Request when UE is ISR
-  ///<   activated.
-  ///< - UE initiated Service Request if ISR is not active, but
-  ///<   the Serving Network has changed during previous
-  ///<   mobility procedures, i.e. intra MME/S4-SGSN
-  ///<   TAU/RAU and the change has not been reported to
-  ///<   the PGW yet.
-  ///< - TAU/RAU procedure as part of the optional network
-  ///<   triggered service restoration procedure with ISR, as
-  ///<   specified by 3GPP TS 23.007 [17].
-  ///<
-  ///< CO:This IE shall be included on S5/S8 if the SGW receives this
-  ///< IE from MME/SGSN and if ISR is not active.
-  ///< This IE shall be included on S5/S8 if the SGW receives this
-  ///< IE from MME/SGSN and ISR is active and the Modify
-  ///< Bearer Request message needs to be sent to the PGW as
-  ///< specified in the 3GPP TS 23.401 [3].
-
-  rat_type_t                 rat_type;         ///< C: This IE shall be sent on the S11 interface for a TAU with
-  ///< an SGSN interaction, UE triggered Service Request or an I-
-  ///< RAT Handover.
-  ///< This IE shall be sent on the S4 interface for a RAU with
-  ///< MME interaction, a RAU with an SGSN change, a UE
-  ///< Initiated Service Request or an I-RAT Handover.
-  ///< This IE shall be sent on the S5/S8 interface if the RAT type
-  ///< changes.
-  ///< CO: CO If SGW receives this IE from MME/SGSN during a
-  ///< TAU/RAU/Handover with SGW change procedure, the
-  ///< SGW shall forward it across S5/S8 interface to PGW.
-  ///< CO: The IE shall be sent on the S11/S4 interface during the
-  ///< following procedures:
-  ///< - an inter MM TAU or inter SGSN RAU when UE was
-  ///<   ISR activated which is indicated by ISRAU flag.
-  ///< - TAU/RAU procedure as part of optional network
-  ///<   triggered service restoration procedure with ISR, as
-  ///<   specified by 3GPP TS 23.007 [17].
-  ///< If ISR is active, this IE shall also be included on the S11
-  ///< interface in the S1-U GTP-U tunnel setup procedure during
-  ///< an intra-MME intra-SGW TAU procedure.
-
-  indication_flags_t         indication_flags; ///< C:This IE shall be included if any one of the applicable flags
-  ///< is set to 1.
-  ///< Applicable flags are:
-  ///< -ISRAI: This flag shall be used on S4/S11 interface
-  ///<   and set to 1 if the ISR is established between the
-  ///<   MME and the S4 SGSN.
-  ///< - Handover Indication: This flag shall be set to 1 on
-  ///<   the S4/S11 and S5/S8 interfaces during an E-
-  ///<   UTRAN Initial Attach or for a UE Requested PDN
-  ///<   Connectivity or a PDP Context Activation
-  ///<   procedure, if the PDN connection/PDP context is
-  ///<   handed-over from non-3GPP access.
-  ///< - Direct Tunnel Flag: This flag shall be used on the
-  ///<   S4 interface and set to 1 if Direct Tunnel is used.
-  ///< - Change Reporting support Indication: shall be
-  ///<   used on S4/S11, S5/S8 and set if the SGSN/MME
-  ///<   supports location Info Change Reporting. This flag
-  ///<   should be ignored by SGW if no message is sent
-  ///<   on S5/S8. See NOTE 4.
-  ///< - CSG Change Reporting Support Indication: shall
-  ///<   be used on S4/S11, S5/S8 and set if the
-  ///<   SGSN/MME supports CSG Information Change
-  ///<   Reporting. This flag shall be ignored by SGW if no
-  ///<   message is sent on S5/S8. See NOTE 4.
-  ///< - Change F-TEID support Indication: This flag shall
-  ///<   be used on S4/S11 for an IDLE state UE initiated
-  ///<   TAU/RAU procedure and set to 1 to allow the
-  ///<   SGW changing the GTP-U F-TEID.
-
-  FTeid_t                  sender_fteid_for_cp; ///< C: Sender F-TEID for control plane
-  ///< This IE shall be sent on the S11 and S4 interfaces for a
-  ///< TAU/RAU/ Handover with MME/SGSN change and without
-  ///< any SGW change.
-  ///< This IE shall be sent on the S5 and S8 interfaces for a
-  ///< TAU/RAU/Handover with a SGW change.
-
-  ambr_t                   apn_ambr;            ///< C: Aggregate Maximum Bit Rate (APN-AMBR)
-  ///< The APN-AMBR shall be sent for the PS mobility from the
-  ///< Gn/Gp SGSN to the S4 SGSN/MME procedures..
-
-  /* Delay Value in integer multiples of 50 millisecs, or zero */
-  DelayValue_t               delay_dl_packet_notif_req; ///<C:This IE shall be sent on the S11 interface for a UE
-  ///< triggered Service Request.
-  ///< CO: This IE shall be sent on the S4 interface for a UE triggered
-  ///< Service Request.
-
-  bearer_context_to_modify_t bearer_context_to_modify;///< C: This IE shall be sent on the S4/S11 interface and S5/S8
-  ///< interface except on the S5/S8 interface for a UE triggered
-  ///< Service Request.
-  ///< When Handover Indication flag is set to 1 (i.e., for
-  ///< EUTRAN Initial Attach or UE Requested PDN Connectivity
-  ///< when the UE comes from non-3GPP access), the PGW
-  ///< shall ignore this IE. See NOTE 1.
-  ///< Several IEs with the same type and instance value may be
-  ///< included as necessary to represent a list of Bearers to be
-  ///< modified.
-  ///< During a TAU/RAU/Handover procedure with an SGW
-  ///< change, the SGW includes all bearers it received from the
-  ///< MME/SGSN (Bearer Contexts to be created, or Bearer
-  ///< Contexts to be modified and also Bearer Contexts to be
-  ///< removed) into the list of 'Bearer Contexts to be modified'
-  ///< IEs, which are then sent on the S5/S8 interface to the
-  ///< PGW (see NOTE 2).
-
-  // Bearer Context   Bearer Contexts to be removed; ///< C: This IE shall be included on the S4 and S11 interfaces for
-  ///< the TAU/RAU/Handover and Service Request procedures
-  ///< where any of the bearers existing before the
-  ///< TAU/RAU/Handover procedure and Service Request
-  ///< procedures will be deactivated as consequence of the
-  ///< TAU/RAU/Handover procedure and Service Request
-  ///< procedures. (NOTE 3)
-  ///< For each of those bearers, an IE with the same type and
-  ///< instance value, shall be included.
-
-  // recovery_t(restart counter) recovery;      ///< C: This IE shall be included if contacting the peer for the first
-  ///< time.
-
-  UETimeZone_t               ue_time_zone;      ///< CO: This IE shall be included by the MME/SGSN on the S11/S4
-  ///< interfaces if the UE Time Zone has changed in the case of
-  ///< TAU/RAU/Handover.
-  ///< C: If SGW receives this IE, SGW shall forward it to PGW
-  ///< across S5/S8 interface.
-
-  FQ_CSID_t                  mme_fq_csid;       ///< C: This IE shall be included by MME on S11 and shall be
-  ///< forwarded by SGW on S5/S8 according to the
-  ///< requirements in 3GPP TS 23.007 [17].
-
-  FQ_CSID_t                  sgw_fq_csid;       ///< C: This IE shall be included by SGW on S5/S8 according to
-  ///< the requirements in 3GPP TS 23.007 [17].
-
-  UCI_t                      uci;               ///< CO: The MME/SGSN shall include this IE for
-  ///< TAU/RAU/Handover procedures and UE-initiated Service
-  ///< Request procedure if the PGW has requested CSG Info
-  ///< reporting and the MME/SGSN support the CSG
-  ///< information reporting. The SGW shall include this IE on
-  ///< S5/S8 if it receives the User CSG Information from
-  ///< MME/SGSN.
-
-  // Local Distinguished Name (LDN) MME/S4-SGSN LDN ///< O: This IE is optionally sent by the MME to the SGW on the
-  ///< S11 interface and by the SGSN to the SGW on the S4
-  ///< interface (see 3GPP TS 32.423 [44]), when communicating
-  ///< the LDN to the peer node for the first time.
-
-  // Local Distinguished Name (LDN) SGW LDN     ///< O: This IE is optionally sent by the SGW to the PGW on the
-  ///< S5/S8 interfaces (see 3GPP TS 32.423 [44]), for inter-
-  ///< SGW mobity, when communicating the LDN to the peer
-  ///< node for the first time.
-
-  // MMBR           Max MBR/APN-AMBR            ///< CO: If the S4-SGSN supports Max MBR/APN-AMBR, this IE
-  ///< shall be included by the S4-SGSN over S4 interface in the
-  ///< following cases:
-  ///< - during inter SGSN RAU/SRNS relocation without
-  ///<   SGW relocation and inter SGSN SRNS relocation
-  ///<   with SGW relocation if Higher bitrates than
-  ///<   16 Mbps flag is not included in the MM Context IE
-  ///<   in the Context Response message or in the MM
-  ///<   Context IE in the Forward Relocation Request
-  ///<   message from the old S4-SGSN, while it is
-  ///<   received from target RNC or a local Max
-  ///<   MBR/APN-AMBR is configured based on
-  ///<   operator's policy.
-  ///<   - during Service Request procedure if Higher
-  ///<   bitrates than 16 Mbps flag is received but the S4-
-  ///<   SGSN has not received it before from an old RNC
-  ///<   or the S4-SGSN has not updated the Max
-  ///<   MBR/APN-AMBR to the PGW yet.
-  ///< If SGW receives this IE, SGW shall forward it to PGW
-  ///< across S5/S8 interface.
-
-  // Private Extension   Private Extension
-
-  /* S11 stack specific parameter. Not used in standalone epc mode */
-  void                      *trxn;                        ///< Transaction identifier
-} SgwModifyBearerRequest;
-
-/** @struct SgwModifyBearerResponse
- *  @brief Modify Bearer Response
- *
- * The Modify Bearer Response will be sent on S11 interface as
- * part of these procedures:
- * - E-UTRAN Tracking Area Update without SGW Change
- * - UE triggered Service Request
- * - S1-based Handover
- * - E-UTRAN Initial Attach
- * - UE requested PDN connectivity
- * - X2-based handover without SGWrelocation
- */
-typedef struct SgwModifyBearerResponse_s {
-  Teid_t                   teid;                ///< S11 MME Tunnel Endpoint Identifier
-
-  // here fields listed in 3GPP TS 29.274
-  SGWCause_t               cause;               ///<
-
-  ebi_t                    linked_eps_bearer_id;///< This IE shall be sent on S5/S8 when the UE moves from a
-  ///< Gn/Gp SGSN to the S4 SGSN or MME to identify the
-  ///< default bearer the PGW selects for the PDN Connection.
-  ///< This IE shall also be sent by SGW on S11, S4 during
-  ///< Gn/Gp SGSN to S4-SGSN/MME HO procedures to identify
-  ///< the default bearer the PGW selects for the PDN
-  ///< Connection.
-
-  ambr_t                   apn_ambr;            ///< Aggregate Maximum Bit Rate (APN-AMBR)
-  ///< This IE shall be included in the PS mobility from Gn/Gp
-  ///< SGSN to the S4 SGSN/MME procedures if the received
-  ///< APN-AMBR has been modified by the PCRF.
-
-  APNRestriction_t         apn_restriction;     ///< This IE denotes the restriction on the combination of types
-  ///< of APN for the APN associated with this EPS bearer
-  ///< Context. This IE shall be included over S5/S8 interfaces,
-  ///< and shall be forwarded over S11/S4 interfaces during
-  ///< Gn/Gp SGSN to MME/S4-SGSN handover procedures.
-  ///< This IE shall also be included on S5/S8 interfaces during
-  ///< the Gn/Gp SGSN to S4 SGSN/MME RAU/TAU
-  ///< procedures.
-  ///< The target MME or SGSN determines the Maximum APN
-  ///< Restriction using the APN Restriction.
-  // PCO protocol_configuration_options         ///< If SGW receives this IE from PGW on GTP or PMIP based
-  ///< S5/S8, the SGW shall forward PCO to MME/S4-SGSN
-  ///< during Inter RAT handover from the UTRAN or from the
-  ///< GERAN to the E-UTRAN. See NOTE 2:
-  ///< If MME receives the IE, but no NAS message is sent, MME discards the IE.
-
-#define MODIFY_BEARER_RESPONSE_MOD  0x0
-#define MODIFY_BEARER_RESPONSE_REM  0x1
-  unsigned                 bearer_present:1;    ///< Choice present in union choice
-  union {
-    bearer_context_modified_t bearer_contexts_modified;///< EPS bearers corresponding to Bearer Contexts to be
-    ///< modified that were sent in Modify Bearer Request
-    ///< message. Several IEs with the same type and instance
-    ///< value may be included as necessary to represent a list of
-    ///< the Bearers which are modified.
-    bearer_for_removal_t      bearer_for_removal;///< EPS bearers corresponding to Bearer Contexts to be
-    ///< removed sent in the Modify Bearer Request message.
-    ///< Shall be included if request message contained Bearer
-    ///< Contexts to be removed.
-    ///< For each of those bearers an IE with the same type and
-    ///< instance value shall be included.
-  } bearer_choice;
-
-  // change_reporting_action                    ///< This IE shall be included with the appropriate Action field If
-  ///< the location Change Reporting mechanism is to be started
-  ///< or stopped for this subscriber in the SGSN/MME.
-
-  // csg_Information_reporting_action           ///< This IE shall be included with the appropriate Action field if
-  ///< the location CSG Info change reporting mechanism is to be
-  ///< started or stopped for this subscriber in the SGSN/MME.
-
-  // FQDN Charging Gateway Name                 ///< When Charging Gateway Function (CGF) Address is
-  ///< configured, the PGW shall include this IE on the S5
-  ///< interface during SGW relocation and when the UE moves
-  ///< from Gn/Gp SGSN to S4-SGSN/MME. See NOTE 1:
-  ///< Both Charging Gateway Name and Charging Gateway Address shall not be included at the same
-  ///< time. When both are available, the operator configures a preferred value.
-
-  // IP Address Charging Gateway Address        ///< When Charging Gateway Function (CGF) Address is
-  ///< configured, the PGW shall include this IE on the S5
-  ///< interface during SGW relocation and when the UE moves
-  ///< from Gn/Gp SGSN to S4-SGSN/MME. See NOTE 1:
-  ///< Both Charging Gateway Name and Charging Gateway Address shall not be included at the same
-  ///< time. When both are available, the operator configures a preferred value.
-
-  FQ_CSID_t                pgw_fq_csid;         ///< This IE shall be included by PGW on S5/S8and shall be
-  ///< forwarded by SGW on S11 according to the requirements
-  ///< in 3GPP TS 23.007 [17].
-
-  FQ_CSID_t                sgw_fq_csid;         ///< This IE shall be included by SGW on S11 according to the
-  ///< requirements in 3GPP TS 23.007 [17].
-
-  // recovery_t(restart counter) recovery;      ///< This IE shall be included if contacting the peer for the first
-  ///< time.
-
-  // Local Distinguished Name (LDN) SGW LDN     ///< This IE is optionally sent by the SGW to the MME/SGSN
-  ///< on the S11/S4 interfaces (see 3GPP TS 32.423 [44]),
-  ///< when contacting the peer node for the first time.
-
-  // Local Distinguished Name (LDN) PGW LDN     ///< This IE is optionally included by the PGW on the S5/S8
-  ///< and S2b interfaces (see 3GPP TS 32.423 [44]), when
-  ///< contacting the peer node for the first time.
-
-  // Private Extension Private Extension        ///< optional
-
-  /* S11 stack specific parameter. Not used in standalone epc mode */
-  void                         *trxn;                      ///< Transaction identifier
-} SgwModifyBearerResponse;
-
-typedef struct SgwDeleteSessionRequest_s {
-  Teid_t      teid;                   ///< Tunnel Endpoint Identifier
-  EBI_t       lbi;                    ///< Linked EPS Bearer ID
-  FTeid_t     sender_fteid_for_cp;    ///< Sender F-TEID for control plane
-
-  /* Operation Indication: This flag shall be set over S4/S11 interface
-   * if the SGW needs to forward the Delete Session Request message to
-   * the PGW. This flag shall not be set if the ISR associated GTP
-   * entity sends this message to the SGW in the Detach procedure.
-   * This flag shall also not be set to 1 in the SRNS Relocation Cancel
-   * Using S4 (6.9.2.2.4a in 3GPP TS 23.060 [4]), Inter RAT handover
-   * Cancel procedure with SGW change TAU with Serving GW change,
-   * Gn/Gb based RAU (see 5.5.2.5, 5.3.3.1, D.3.5 in 3GPP TS 23.401 [3],
-   * respectively), S1 Based handover Cancel procedure with SGW change.
-   */
-  indication_flags_t indication_flags;
-
-  /* GTPv2-C specific parameters */
-  void       *trxn;
-  uint32_t    peer_ip;
-} SgwDeleteSessionRequest;
-
-/** @struct SgwDeleteSessionResponse
- *  @brief Delete Session Response
- *
- * The Delete Session Response will be sent on S11 interface as
- * part of these procedures:
- * - EUTRAN Initial Attach
- * - UE, HSS or MME Initiated Detach
- * - UE or MME Requested PDN Disconnection
- * - Tracking Area Update with SGW Change
- * - S1 Based Handover with SGW Change
- * - X2 Based Handover with SGW Relocation
- * - S1 Based handover cancel with SGW change
- */
-typedef struct SgwDeleteSessionResponse_s {
-  Teid_t      teid;                   ///< Remote Tunnel Endpoint Identifier
-  SGWCause_t  cause;
-
-  /* GTPv2-C specific parameters */
-  void       *trxn;
-  uint32_t    peer_ip;
-} SgwDeleteSessionResponse;
-
-/** @struct SgwReleaseAccessBearersRequest
- *  @brief Release AccessBearers Request
- *
- * The Release Access Bearers Request message shall sent on the S11 interface by
- * the MME to the SGW as part of the S1 release procedure.
- * The message shall also be sent on the S4 interface by the SGSN to the SGW as
- * part of the procedures:
- * -    RAB release using S4
- * -    Iu Release using S4
- * -    READY to STANDBY transition within the network
- */
-typedef struct SgwReleaseAccessBearersRequest_s {
-	Teid_t     teid;                     ///< Tunnel Endpoint Identifier
-	uint32_t   num_rabs;
-	EBI_t      list_of_rabs[8]  ;        ///< Shall be present on S4 interface when this message is
-                                         ///< used to release a subset of all active RABs according to
-                                         ///< the RAB release procedure.
-                                         ///< Several IEs with this type and instance values shall be
-                                         ///< included as necessary to represent a list of RABs to be
-                                         ///< released.
-
-	node_type_t originating_node;        ///< This IE shall be sent on S11 interface, if ISR is active in the MME.
-                                         ///< This IE shall be sent on S4 interface, if ISR is active in the SGSN
-	// Private Extension Private Extension ///< optional
-
-} SgwReleaseAccessBearersRequest;
-
-/** @struct SgwReleaseAccessBearersResponse
- *  @brief Release AccessBearers Response
- *
- * The Release Access Bearers Response message is sent on the S11 interface by the SGW to the MME as part of the S1
- * release procedure.
- * The message shall also be sent on the S4 interface by the SGW to the SGSN as part of the procedures:
- * -  RAB release using S4
- * -  Iu Release using S4
- * -  READY to STANDBY transition within the network
- * Possible Cause values are specified in Table 8.4-1. Message specific cause values are:
- * - "Request accepted".
- * - "Request accepted partially".
- * - "Context not found
- */
-typedef struct SgwReleaseAccessBearersResponse_s {
-	Teid_t      teid;                   ///< Tunnel Endpoint Identifier
-	SGWCause_t  cause;
-	// Recovery           ///< optional This IE shall be included if contacting the peer for the first time
-	// Private Extension  ///< optional
-
-} SgwReleaseAccessBearersResponse;
-
-#endif
diff --git a/openair-cn/COMMON/tasks_def.h b/openair-cn/COMMON/tasks_def.h
index e2577780522996a1d642c17045779479025997b6..4590bc002ad2d8e83ba66a18d06946a9f98c885c 100644
--- a/openair-cn/COMMON/tasks_def.h
+++ b/openair-cn/COMMON/tasks_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 // This task is mandatory and must always be placed in first position
 TASK_DEF(TASK_TIMER,    TASK_PRIORITY_MED, 10)
 
diff --git a/openair-cn/COMMON/udp_messages_def.h b/openair-cn/COMMON/udp_messages_def.h
index 809e31bab20be930fb0d2350f29892a4a2a91f17..551788a2bbb57278bbfbf2be927dc2b920c46ade 100644
--- a/openair-cn/COMMON/udp_messages_def.h
+++ b/openair-cn/COMMON/udp_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 MESSAGE_DEF(UDP_INIT,     MESSAGE_PRIORITY_MED, udp_init_t,     udp_init)
 MESSAGE_DEF(UDP_DATA_REQ, MESSAGE_PRIORITY_MED, udp_data_req_t, udp_data_req)
 MESSAGE_DEF(UDP_DATA_IND, MESSAGE_PRIORITY_MED, udp_data_ind_t, udp_data_ind)
diff --git a/openair-cn/COMMON/udp_messages_types.h b/openair-cn/COMMON/udp_messages_types.h
index 464d1575b1b0aa35a3f54cbc1b81d24412cdfc3c..a44ab44c162f34b4aa2861b1263b2d2d69d9c6c0 100644
--- a/openair-cn/COMMON/udp_messages_types.h
+++ b/openair-cn/COMMON/udp_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
 #ifndef UDP_MESSAGES_TYPES_H_
 #define UDP_MESSAGES_TYPES_H_
 
diff --git a/openair-cn/ChangeLog b/openair-cn/ChangeLog
deleted file mode 100644
index 0db17ac628c7a2f9b5c4d64cde025adda3dc20d5..0000000000000000000000000000000000000000
--- a/openair-cn/ChangeLog
+++ /dev/null
@@ -1,15 +0,0 @@
-v0.1:
-- Build system
-- SCTP layer v0.1
-- S1AP layer v0.1
-v0.2:
-- Updated S1AP messages to RELEASE9 v9.8
-- S1-U layer using nw-gtpv1u
-v0.3:
-- Updated S1AP messages to RELEASE10 v10.5
-- Added NAS interface
-- Added MME APPlication
-- Converted sctp_bind to sctp_bindx for multi-homing support
-- Added configuration file parsing
-- S6a layer v0.1 using freeDiameter
-- KeNB key derivy function
\ No newline at end of file
diff --git a/openair-cn/DOCS/DOXYGEN/Makefile.am b/openair-cn/DOCS/DOXYGEN/Makefile.am
index 31f49b260d8f4c8cf2ab27f2bc09f06a459fbf7d..f80ebfdfe016a34bc77e4883c2659a3b2c51b068 100644
--- a/openair-cn/DOCS/DOXYGEN/Makefile.am
+++ b/openair-cn/DOCS/DOXYGEN/Makefile.am
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/DOCS/EPC_User_Guide.docx b/openair-cn/DOCS/EPC_User_Guide.docx
deleted file mode 100644
index b9cca8254cdd3b319aaa5ed907d114082f464140..0000000000000000000000000000000000000000
Binary files a/openair-cn/DOCS/EPC_User_Guide.docx and /dev/null differ
diff --git a/openair-cn/DOCS/EPC_User_Guide.pdf b/openair-cn/DOCS/EPC_User_Guide.pdf
deleted file mode 100644
index 6b8a476bad9b6b1e186edd4f6651e3e2496a25a1..0000000000000000000000000000000000000000
Binary files a/openair-cn/DOCS/EPC_User_Guide.pdf and /dev/null differ
diff --git a/openair-cn/DOCS/Latex/EPC/Makefile b/openair-cn/DOCS/Latex/EPC/Makefile
index 4c218c90fbb507e16ba364e59652f0614d06a0c3..a29da4a53c2ba4cfcfd0c7c3ef386632e8f399c7 100644
--- a/openair-cn/DOCS/Latex/EPC/Makefile
+++ b/openair-cn/DOCS/Latex/EPC/Makefile
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/DOCS/Makefile.am b/openair-cn/DOCS/Makefile.am
index 4f16edea72fdfaace1663c9d2ad3e68e6d1b269e..daf460186ff8b447ac892aa3837af2974431bc87 100644
--- a/openair-cn/DOCS/Makefile.am
+++ b/openair-cn/DOCS/Makefile.am
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/GTPV1-U/GTPU_SP/COPYING b/openair-cn/GTPV1-U/GTPU_SP/COPYING
deleted file mode 100755
index d511905c1647a1e311e8b20d5930a37a9c2531cd..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/openair-cn/GTPV1-U/GTPU_SP/INSTALL b/openair-cn/GTPV1-U/GTPU_SP/INSTALL
deleted file mode 100755
index 0de93a937cf3e0ab2bef2a99a01e23fbc3e640a2..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/INSTALL
+++ /dev/null
@@ -1,33 +0,0 @@
-How to build
-------------
-
-1. Extract the files in a location of your choice. The
-   Files will be extracted in a directory called gtpu.
-
-2. cd <gtpu_dir>/gtpu. 
-
-3. make
-
-If make is successful, the binary files (libxt_GTPU.so and xt_GTPU.ko) 
-will be created in the Bin folder.
-
-
-How to install
---------------
-There is no "make install" as that will be difficult to support all
-possible Linux distro. The cmd.sh file demonstrates how to install
-the two binary files in the system.
-
-
-In case of problem:
- - check you got the last release of the library (see README),
- - contact the mailing list (see README),
- - check the bugtracker for known bugs (see README).
-
-
-Documentation
--------------
-Please have a look at the "Architecture" section in the README.
-
-
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/Makefile b/openair-cn/GTPV1-U/GTPU_SP/Makefile
deleted file mode 100755
index f8b59266e1c4a0e9d56552b13dbd83487120ff00..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/Makefile
+++ /dev/null
@@ -1,104 +0,0 @@
-####################################################################################
-# Makefile for iptables extension for the GTPUSP target and GTPUSP klm
-#
-# Copyright (c) 2010-2011 Polaris Networks
-# Author: Pradip Biswas <pradip_biswas@polarisnetworks.net>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-####################################################################################
-
-export BIN_DIR ?= $(shell pwd)/Bin
-KVERSION = $(shell uname -r)
-KVERSION_LAST_DIGIT = $(shell echo ${KVERSION} | cut -d "." -f 3 | cut -d "-" -f 1)
-
-obj-m = xt_GTPUSP.o
-EXTRA_CFLAGS += -DKVERSION=$(KVERSION_LAST_DIGIT)
-
-all: xtlib
-	echo "Building for Kernel Version: $(KVERSION_LAST_DIGIT)"
-	make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
-	chmod 777 xt_GTPUSP.ko
-	mv xt_GTPUSP.ko $(BIN_DIR)/
-
-clean: libclean
-	make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
-
-################################################################################
-# The next section is used by libxt_GTPUSP
-################################################################################
-
-XT_IPTABLES_VERSION = $(shell /sbin/iptables -V | cut -d " " -f 2 | cut -b 2-)
-IPT_FIRST_NUM = $(shell echo ${XT_IPTABLES_VERSION} | cut -d "." -f 1 | cut -d "-" -f 1)
-IPT_SECOND_NUM = $(shell echo ${XT_IPTABLES_VERSION} | cut -d "." -f 2 | cut -d "-" -f 1)
-IPT_THIRD_NUM = $(shell echo ${XT_IPTABLES_VERSION} | cut -d "." -f 3 | cut -d "-" -f 1)
-IPTVERSION = $(IPT_FIRST_NUM)$(IPT_SECOND_NUM)$(IPT_THIRD_NUM)
-IPTABLES_VERSION_STRING = \"$(IPT_FIRST_NUM).$(IPT_SECOND_NUM).$(IPT_THIRD_NUM)\"
-
-LIB_CC := gcc
-
-ifeq ($(IPTVERSION), 135)
-    LIB_LD := ld 
-else
-    LIB_LD := gcc 
-endif
-
-LIB_CFLAGS := -fPIC -Wall -MMD -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 \
-          -D_REENTRANT -pipe -DXTABLES_LIBDIR=\"/usr/local/libexec/xtables\" -DXTABLES_INTERNAL \
-          -D_INIT=libxt_GTPUSP_init -DPIC -fPIC -O2 \
-          -DIPTVERSION=$(IPTVERSION) \
-          -DIPTABLES_VERSION_STRING=$(IPTABLES_VERSION_STRING)
-
-XT_TARGET := xt_GTPUSP
-XT_LIBNAME := lib$(XT_TARGET).so
-XT_BUILD_DIR = $(BIN_DIR)/$(XT_TARGET)
-
-# Get the system distribution type
-IsDebian=$(shell /bin/cat /proc/version | grep -i -e ubuntu -e debian)
-IsRedHat=$(shell /bin/cat /proc/version | grep -i -e centos -e "red hat" -e suse -e fedora) 
-
-# Change the ipq library name for 64-bit Debian-based distributions
-ifeq ($(X86_64),x86_64)
-    ifneq ($(strip $(IsDebian)),)
-        LIB_IPQ=_pic
-    endif
-endif
-
-INCLUDE_DIR = -I. \
-              -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \
-              -I/usr/lib64/glib-2.0/include
-
-XT_SOURCES = libxt_GTPUSP.c
-
-XT_OBJECTS := $(addprefix $(XT_BUILD_DIR)/, $(notdir $(XT_SOURCES:.c=.o)))
-
-xtlib: XT
-
-XT: DF = $(XT_BUILD_DIR)/$(*F)
-XT: $(XT_BUILD_DIR) $(BIN_DIR)/$(XT_LIBNAME)
-
--include $(addprefix $(XT_BUILD_DIR)/, $(notdir $(XT_SOURCES:.c=.P)))
-
-$(XT_BUILD_DIR):
-	@echo Build Directory is $@
-	@if [ ! -d $(BIN_DIR) ]; then mkdir $(BIN_DIR); fi
-	@if [ ! -d $@ ]; then mkdir $@; fi
-
-$(BIN_DIR)/$(XT_LIBNAME): $(XT_OBJECTS)
-	@echo Linking $@
-	@$(LIB_LD) -shared $(XT_OBJECTS) -o $@
-
-$(XT_BUILD_DIR)/%.o : %.c
-	@echo "Building GTPUSP ext for version $(IPTVERSION) $(IPTABLES_VERSION_STRING)"
-	@echo Compiling $<
-	@$(LIB_CC) $(LIB_CFLAGS) -MF $(DF).d $(INCLUDE_DIR) -o $@ -c $<
-	@cp $(DF).d $(DF).P; \
-	sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-		-e '/^$$/ d' -e 's/$$/ :/' < $(DF).d >> $(DF).P; \
-	rm -f $(DF).d
-
-libclean:
-	@rm -rf $(BIN_DIR)/$(XT_LIBNAME) $(XT_BUILD_DIR)
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/README b/openair-cn/GTPV1-U/GTPU_SP/README
deleted file mode 100755
index f29b8421c3ea8a9c76e26473ffb0b770a9184951..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/README
+++ /dev/null
@@ -1,80 +0,0 @@
-Introduction
-------------
-This piece of software implementes GPRS Tunneling Protocol (GTP) for user plane.
-The software has two components - one is the extension of iptables that
-run in user-space. The other is the counterpart of the iptables extension
-that runs in kernel space.
-
-
-License
--------
-The project is licensed under GPL2+, see the COPYING and AUTHORS files for more
-details.
-
-
-Architecture
-------------
-The GTPu tunneling is handled in two parts. The first part is the user-space 
-iptables target extension library (let's call it libxt). The second
-part is the GTPu kernel loadable module (let's call it gtpu). The way it 
-is, once the user configures a GTPu tunnel attributes using iptables, the klm
-is loaded by the kernel automatically and handles the IP packets according to
-the GTPu tunnel attributes set by the user. 
-
-The user can set the action to be taken on a matching IP packet. The action can be
-either of "add", "remove" or "transport" .
-
-A GTPu tunnel has the following attributes:
-  - own IP address
-  - own GTPu tunnel id
-  - peer's IP address
-  - peer's GTPu tunnel id
-
-The GTPU target is designed to work only on mangle table. Also, the user is 
-expected to add GTPU target to the PREROUTING chain, as the GTPU target will
-modify the original IP packet before it is routed.
-
-Once the user creates the rule in iptables, the matching IP packets go through 
-the gtpu klm, which acts upon the IP packet according to the action set by the
-user. The action "Add" means the klm will add a GTPu header to the IP packet.
-"Remove" will remove the GTPu header from the IP packet and "Transport" will
-do a Remove first followed by an "Add" on the IP packet.
-
-For example, consider the following command:
-
-iptables -t mangle -A PREROUTING -d 10.10.10.1 -j GTPU --own-ip 192.168.0.98 --own-tun 100 --peer-ip 192.168.0.109 --peer-tun 101 --action add
-
-This command will configure the system to add a GTPu header to any IP packet destined to 10.10.10.1. 
-The source IP address outer IP will be 192.168.0.109, the dest IP will be 192.168.0.98 and
-the destination GTP tunnel id will be 101.
-
-Similarly, consider the following command:
-
-iptables -t mangle -A PREROUTING -s 192.168.0.109 -d 192.168.0.98 -p udp --dport 2152 -j GTPU --action remove
-
-This command will process all the GTPu packets coming from 192.168.0.109 to 192.168.0.98 to
-strip the GTPu header and forward the inner IP packet to the kernel's routing engine.
-
-
-Files
----------
-There are two source C files and one header file:
- - libxt_GTPU.c  : source file for iptables GTPU extension library (libxt)
- - xt_GTPU.c     : source file for gtpu kernel loadable module (klm)
- - xt_GTPU.h     : common header file, shared between the libxt and the klm
- - Makefile      : Makefile to build both the libxt and the klm
- - cmd.sh        : sample cmd file to show how the binaries can be used
-
-See the INSTALL file to learn how to build the binaries.
-
-
-References
-----------
-3GPP TS 29.281      General Packet Radio System (GPRS)
-                    Tunnelling Protocol User Plane (GTP-u)
-
-
-Authors
--------
-Pradip Biswas <pradip_biswas@polarisnetworks.net>
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/RELEASE_NOTES b/openair-cn/GTPV1-U/GTPU_SP/RELEASE_NOTES
deleted file mode 100755
index 022846fcd5911095d094ebde95086e33565c2ec2..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/RELEASE_NOTES
+++ /dev/null
@@ -1,6 +0,0 @@
-
-Known issues in GTPU v1.0
--------------------------
-
-1. Does not implement the "Transport" action.
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/cmd.sh b/openair-cn/GTPV1-U/GTPU_SP/cmd.sh
deleted file mode 100755
index 428b5b155a5899f2ad911e0a5a1fad77af4d0ad4..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/cmd.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# Clear the iptables mangle table
-iptables -t mangle -F
-
-# Remove GTPU KLM
-rmmod xt_GTPUSP
-
-# Insert the GTPUSP KLM
-insmod ./Bin/xt_GTPUSP.ko
-
-# Copy the userland iptables extenstion library
-if [ -d /lib/xtables ]; then
-    /bin/cp -f ./Bin/libxt_GTPUSP.so /lib/xtables/
-fi
-
-if [ -d /lib/iptables ]; then
-    /bin/cp -f ./Bin/libxt_GTPUSP.so /lib/iptables/libipt_GTPUSP.so
-fi
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/libxt_GTPUSP.c b/openair-cn/GTPV1-U/GTPU_SP/libxt_GTPUSP.c
deleted file mode 100755
index 0b749a875931ce47b314b6b30c532f7d7a9a452f..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/libxt_GTPUSP.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/* Shared library add-on to iptables for the GTPUSP target
- *
- * Copyright (c) 2010-2011 Polaris Networks
- * Author: Pradip Biswas <pradip_biswas@polarisnetworks.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <getopt.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <linux/netfilter.h>
-
-#include "xt_GTPUSP.h"
-
-#if (IPTVERSION <= 135)
-#include <iptables.h>
-#elif (IPTVERSION > 135)
-#include <xtables.h>
-#endif
-
-#if (IPTVERSION <= 135)
-#define GTPUSP_PARAM_BAD_VALUE 0
-#define GTPUSP_PARAM_ONLY_ONCE 1
-#define XT_GTPUSP_VERSION IPTABLES_VERSION_STRING
-#define gtpusp_strtoui(s,v,m,M) !string_to_number(s,m,M,v)
-#define gtpusp_exit_error exit_error
-#elif (IPTVERSION > 135) && (IPTVERSION <= 141)
-#define GTPUSP_PARAM_BAD_VALUE P_BAD_VALUE
-#define GTPUSP_PARAM_ONLY_ONCE P_ONLY_ONCE
-#define XT_GTPUSP_VERSION XTABLES_VERSION
-#define gtpusp_param_act param_act
-#define gtpusp_strtoui(s,v,m,M) !string_to_number(s,m,M,v)
-#define gtpusp_exit_error exit_error
-#elif (IPTVERSION > 141)
-#define GTPUSP_PARAM_BAD_VALUE XTF_BAD_VALUE
-#define GTPUSP_PARAM_ONLY_ONCE XTF_ONLY_ONCE
-#define XT_GTPUSP_VERSION XTABLES_VERSION
-#define gtpusp_param_act xtables_param_act
-#define gtpusp_strtoui(s,v,m,M) xtables_strtoui(s,NULL,v,m,M)
-#define gtpusp_exit_error xtables_error
-#endif
-
-enum {
-  PARAM_LADDR = 1 << 0,
-  PARAM_LTUN = 1 << 1,
-  PARAM_RADDR = 1 << 2,
-  PARAM_RTUN = 1 << 3,
-  PARAM_ACTION = 1 << 4,
-};
-
-static void GTPUSP_help(void)
-{
-  printf(
-    "GTPUSP target options\n"
-    "  --action         value        Set action <value: add>\n"
-    "  --own-ip         value        Set own IP address\n"
-    "  --own-tun        value        Set own tunnel id <value: 1-2^31>\n"
-    "  --peer-ip        value        Set peer IP address\n"
-    "  --peer-tun       value        Set peer tunnel id <value: 1-2^31>\n");
-}
-
-#if (IPTVERSION <= 135)
-/* Stolen from iptables v1.4.7 code */
-void gtpusp_param_act(unsigned int status, const char *p1, ...)
-{
-  const char *p2, *p3;
-  va_list args;
-  int b;
-
-  va_start(args, p1);
-
-  switch (status) {
-  case GTPUSP_PARAM_ONLY_ONCE:
-    p2 = va_arg(args, const char *);
-    b  = va_arg(args, unsigned int);
-
-    if (!b)
-      return;
-
-    exit_error(PARAMETER_PROBLEM,
-               "%s: \"%s\" option may only be specified once",
-               p1, p2);
-    break;
-
-  case GTPUSP_PARAM_BAD_VALUE:
-    p2 = va_arg(args, const char *);
-    p3 = va_arg(args, const char *);
-    exit_error(PARAMETER_PROBLEM,
-               "%s: Bad value for \"%s\" option: \"%s\"",
-               p1, p2, p3);
-    break;
-
-  default:
-    exit_error(status, "%s", "Unknown error");
-    break;
-  }
-
-  va_end(args);
-}
-
-#endif
-
-static void parse_gtpusp_addr(const char *s, struct xt_gtpusp_target_info *info, int flag)
-{
-  in_addr_t addr;
-
-  if ((addr = inet_addr(s)) == -1) {
-    switch (flag) {
-    case PARAM_LADDR:
-      gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--own-ip", s);
-      break;
-
-    case PARAM_RADDR:
-      gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--peer-ip", s);
-      break;
-    }
-  }
-
-  switch (flag) {
-  case PARAM_LADDR:
-    info->laddr = addr;
-    break;
-
-  case PARAM_RADDR:
-    info->raddr = addr;
-    break;
-  }
-}
-
-static void parse_gtpusp_tunid(char *s, struct xt_gtpusp_target_info *info, int flag)
-{
-  unsigned int value;
-
-  if (!gtpusp_strtoui(s, &value, 0, UINT32_MAX)) {
-    switch (flag) {
-    case PARAM_LTUN:
-      gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--own-tun", s);
-      break;
-
-    case PARAM_RTUN:
-      gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--peer-tun", s);
-      break;
-    }
-  }
-
-  switch (flag) {
-  case PARAM_LTUN:
-    info->ltun = value;
-    break;
-
-  case PARAM_RTUN:
-    info->rtun = value;
-    break;
-  }
-}
-
-static void parse_gtpusp_action(char *s, struct xt_gtpusp_target_info *info, unsigned int *flags)
-{
-  if (!strcmp(s, "add")) {
-    info->action = PARAM_GTPUSP_ACTION_ADD;
-    *flags |= PARAM_GTPUSP_ACTION_ADD;
-  } else {
-    gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--action", s);
-  }
-}
-
-#if (IPTVERSION <= 135)
-static int
-GTPUSP_parse(int c, char **argv, int invert, unsigned int *flags,
-             const struct ipt_entry *entry,
-             struct ipt_entry_target **target)
-#else
-static int
-GTPUSP_parse(int c, char **argv, int invert, unsigned int *flags,
-             const void *entry, struct xt_entry_target **target)
-#endif
-{
-  struct xt_gtpusp_target_info *info = (struct xt_gtpusp_target_info *) (*target)->data;
-
-  switch (c) {
-  case '1':
-    gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--own-ip", *flags & PARAM_LADDR);
-    parse_gtpusp_addr(optarg, info, PARAM_LADDR);
-    *flags |= PARAM_LADDR;
-    return 1;
-
-  case '2':
-    gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--own-tun", *flags & PARAM_LTUN);
-    parse_gtpusp_tunid(optarg, info, PARAM_LTUN);
-    *flags |= PARAM_LTUN;
-    return 1;
-
-  case '3':
-    gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--peer-ip", *flags & PARAM_RADDR);
-    parse_gtpusp_addr(optarg, info, PARAM_RADDR);
-    *flags |= PARAM_RADDR;
-    return 1;
-
-  case '4':
-    gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--peer-tun", *flags & PARAM_RTUN);
-    parse_gtpusp_tunid(optarg, info, PARAM_RTUN);
-    *flags |= PARAM_RTUN;
-    return 1;
-
-  case '5':
-    gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--action", *flags & PARAM_ACTION);
-    parse_gtpusp_action(optarg, info, flags);
-    *flags |= PARAM_ACTION;
-    return 1;
-  }
-
-  return 1;
-}
-
-static void GTPUSP_check(unsigned int flags)
-{
-  if (!(flags & PARAM_ACTION)) {
-    gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify action");
-  }
-
-  if (!(flags & PARAM_LADDR)) {
-    gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify local addr");
-  }
-
-  if (!(flags & PARAM_LTUN)) {
-    gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify local tunnel id");
-  }
-
-  if (!(flags & PARAM_RADDR)) {
-    gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify remote addr");
-  }
-
-  if (!(flags & PARAM_RTUN)) {
-    gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify remote tunnel id");
-  }
-}
-
-static void convert_action_to_string(int action, char *actionstr)
-{
-  switch(action) {
-  case PARAM_GTPUSP_ACTION_ADD:
-    sprintf (actionstr, "add");
-    break;
-
-  default :
-    sprintf (actionstr, "unspecified!!!");
-    break;
-  }
-}
-
-#if (IPTVERSION <= 135)
-static void
-GTPUSP_print(const struct ipt_ip *ip,
-             const struct ipt_entry_target *target,
-             int numeric)
-
-#else
-static void
-GTPUSP_print(const void *ip,
-             const struct xt_entry_target *target,
-             int numeric)
-#endif
-{
-  const struct xt_gtpusp_target_info *info =
-    (struct xt_gtpusp_target_info *) target->data;
-
-  char laddr[64], raddr[64], actionstr[32];
-
-  convert_action_to_string(info->action, actionstr);
-
-  sprintf (laddr, "%s", inet_ntoa(*(struct in_addr*)&info->laddr));
-  sprintf (raddr, "%s", inet_ntoa(*(struct in_addr*)&info->raddr));
-  printf("GTPUSP self: %s tunnel: 0x%x / peer: %s tunnel: 0x%x / action: %s",
-         laddr, info->ltun, raddr, info->rtun, actionstr);
-}
-
-static struct option GTPUSP_opts[] = {
-  { "own-ip", 1, NULL, '1' },
-  { "own-tun", 1, NULL, '2' },
-  { "peer-ip", 1, NULL, '3' },
-  { "peer-tun", 1, NULL, '4' },
-  { "action", 1, NULL, '5' },
-  { .name = NULL }
-};
-
-#if (IPTVERSION <= 135)
-static struct iptables_target gtpusp_tg_reg = {
-#else
-static struct xtables_target gtpusp_tg_reg = {
-#endif
-  .name             = "GTPUSP",
-  .version          = XT_GTPUSP_VERSION,
-#if (IPTVERSION > 135)
-  .family           = NFPROTO_IPV4,
-#endif
-  .size             = XT_ALIGN(sizeof(struct xt_gtpusp_target_info)),
-  .userspacesize    = XT_ALIGN(sizeof(struct xt_gtpusp_target_info)),
-  .help             = GTPUSP_help,
-  .parse            = GTPUSP_parse,
-  .final_check      = GTPUSP_check,
-  .print            = GTPUSP_print,
-  .extra_opts       = GTPUSP_opts,
-};
-
-void _init(void)
-{
-#if (IPTVERSION <= 135)
-  register_target(&gtpusp_tg_reg);
-#else
-  xtables_register_target(&gtpusp_tg_reg);
-#endif
-}
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.c b/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.c
deleted file mode 100755
index 24f210e371df3e69b8c3801d61c044077118019d..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.c
+++ /dev/null
@@ -1,780 +0,0 @@
-/*
- * GTPu klm for Linux/iptables
- *
- * Copyright (c) 2010-2011 Polaris Networks
- * Author: Pradip Biswas <pradip_biswas@polarisnetworks.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- */
-
-#include <linux/module.h>
-#include <linux/kallsyms.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/skbuff.h>
-#include <linux/ip.h>
-#include <linux/if_ether.h>
-#include <linux/route.h>
-#include <linux/time.h>
-#include <net/checksum.h>
-#include <net/ip.h>
-#include <linux/in.h>
-#include <linux/icmp.h>
-#include <net/udp.h>
-#include <net/inet_sock.h>
-#include <net/route.h>
-#include <net/addrconf.h>
-#include <net/ip6_checksum.h>
-#include <net/ip6_route.h>
-#include <net/ipv6.h>
-#include <linux/netfilter/x_tables.h>
-#include <linux/netfilter_ipv4/ip_tables.h>
-#include <linux/kthread.h>
-#include <linux/errno.h>
-#include <linux/types.h>
-#include <linux/netdevice.h>
-#include <linux/delay.h>
-#include <linux/inet.h>
-
-// CONNMARK
-#include <net/netfilter/nf_conntrack.h>
-#include <net/netfilter/nf_conntrack_ecache.h>
-#include <linux/netfilter/x_tables.h>
-#include <linux/netfilter/xt_connmark.h>
-#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
-#    define WITH_IPV6 1
-#endif
-#include "xt_GTPUSP.h"
-#if !(defined KVERSION)
-#    error "Kernel version is not defined!!!! Exiting."
-#endif
-
-#define GTPU_TRACE_IN_KERN_LOG 0
-
-#if defined(GTPU_TRACE_IN_KERN_LOG)
-#define PR_INFO(fORMAT, aRGS...) pr_info(fORMAT, ##aRGS)
-#else
-#define PR_INFO(fORMAT, aRGS...)
-#endif
-#define INT_MODULE_PARM(n, v) static int n = v; module_param(n, int, 0444)
-#define STRING_MODULE_PARM(s, v) static char* s = v; module_param(s, charp, 0000);
-//-----------------------------------------------------------------------------
-static char*        _gtpusp_nf_inet_hook_2_string(int nf_inet_hookP);
-static void         _gtpusp_print_hex_octets(unsigned char* data_pP, unsigned short sizeP);
-static void         _gtpusp_tg4_add(struct sk_buff *old_skb_pP, const struct xt_action_param *par_pP);
-#ifdef WITH_IPV6
-static void         _gtpusp_tg6_add(struct sk_buff *old_skb_pP, const struct xt_action_param *par_pP);
-static unsigned int _gtpusp_tg6(struct sk_buff *skb_pP, const struct xt_action_param *par_pP);
-#endif
-static unsigned int _gtpusp_tg4(struct sk_buff *skb_pP, const struct xt_action_param *par_pP);
-static int          __init gtpusp_tg_init(void);
-static void         __exit gtpusp_tg_exit(void);
-static int          _udp_thread(void *data);
-static int          _gtpusp_ksocket_send(struct socket *sock_pP, struct sockaddr_in *addr_pP, unsigned char *gtpuh_pP, int len_gtpP, unsigned char *buf_ip_pP, int len_ipP);
-static int          _gtpusp_ksocket_receive(struct socket* sock_pP, struct sockaddr_in* addr_pP, unsigned char* buf_pP, int lenP);
-static int          _gtpusp_ksocket_process_gtp(const unsigned char * const rx_buf_pP, const int lenP, unsigned char* tx_buf_pP);
-//-----------------------------------------------------------------------------
-#define MODULE_NAME "GTPUSP"
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Pradip Biswas <pradip_biswas@polarisnetworks.net>");
-MODULE_DESCRIPTION("GTPu Data Path extension on netfilter");
-//-----------------------------------------------------------------------------
-static struct xt_target gtpusp_tg_reg[] __read_mostly = {
-  {
-    .name           = MODULE_NAME,
-    .revision       = 0,
-    .family         = NFPROTO_IPV4,
-    .hooks          = (1 << NF_INET_POST_ROUTING) |
-    (1 << NF_INET_LOCAL_IN) |
-    (1 << NF_INET_FORWARD),
-    .table          = "mangle",
-    .target         = _gtpusp_tg4,
-    .targetsize     = sizeof(struct xt_gtpusp_target_info),
-    .me             = THIS_MODULE,
-  },
-#ifdef WITH_IPV6
-  {
-    .name           = MODULE_NAME,
-    .revision       = 0,
-    .family         = NFPROTO_IPV6,
-    .hooks          = (1 << NF_INET_POST_ROUTING) |
-    (1 << NF_INET_LOCAL_IN) |
-    (1 << NF_INET_FORWARD),
-    .table          = "mangle",
-    .target         = _gtpusp_tg6,
-    .targetsize     = sizeof(struct xt_gtpusp_target_info),
-    .me             = THIS_MODULE,
-  },
-#endif
-};
-#define GTP_ECHO_REQ           1
-#define GTP_ECHO_RSP           2
-#define GTP_ERROR_INDICATION   26
-#define GTP_GPDU               255
-
-typedef struct gtpv1u_msg_s {
-  unsigned char    version;
-  unsigned char    protocol_type;
-  unsigned char    ext_hdr_flag;
-  unsigned char    seq_num_flag;
-  u_int16_t        npdu_num_flag;
-  u_int32_t        msg_type;
-  u_int16_t        msg_len;
-  u_int32_t        teid;
-  u_int16_t        seq_num;
-  unsigned char    npdu_num;
-  unsigned char    next_ext_hdr_type;
-  u_int32_t        msg_buf_len;
-  u_int32_t        msg_buf_offset;
-  struct gtpv1u_msg_s* next;
-} gtpv1u_msg_t;
-
-struct gtpuhdr {
-  char      flags;
-  char      msgtype;
-  u_int16_t length;
-  u_int32_t tunid;
-};
-typedef struct gtpusp_sock_s {
-  struct task_struct *thread;
-  struct sockaddr_in  addr;
-  struct socket      *sock;
-  struct sockaddr_in  addr_send;
-  int running;
-  int thread_stop_requested;
-} gtpusp_sock_t;
-
-//-----------------------------------------------------------------------------
-#define GTPU_HDR_PNBIT 1
-#define GTPU_HDR_SBIT 1 << 1
-#define GTPU_HDR_EBIT 1 << 2
-#define GTPU_ANY_EXT_HDR_BIT (GTPU_HDR_PNBIT | GTPU_HDR_SBIT | GTPU_HDR_EBIT)
-
-#define GTPU_FAILURE 1
-#define GTPU_SUCCESS !GTPU_FAILURE
-#define GTPUSP_2_PRINT_BUFFER_LEN 8192
-
-#define IP_MORE_FRAGMENTS 0x2000
-#define NIPADDR(addr) \
-        (uint8_t)(addr & 0x000000FF), \
-        (uint8_t)((addr & 0x0000FF00) >> 8), \
-        (uint8_t)((addr & 0x00FF0000) >> 16), \
-        (uint8_t)((addr & 0xFF000000) >> 24)
-//-----------------------------------------------------------------------------
-static char _gtpusp_print_buffer[GTPUSP_2_PRINT_BUFFER_LEN];
-gtpusp_sock_t _gtpusp_sock;
-
-INT_MODULE_PARM(gtpu_sgw_port, 2152);
-MODULE_PARM_DESC(gtpu_sgw_port, "UDP port number for S1U interface (s-GW side)");
-INT_MODULE_PARM(gtpu_enb_port, 2153);
-MODULE_PARM_DESC(gtpu_enb_port, "UDP port number for S1U interface (eNB side)");
-STRING_MODULE_PARM(sgw_addr, "127.0.0.1");
-MODULE_PARM_DESC(sgw_addr, "IPv4 address of the S1U IP interface");
-
-
-
-//-----------------------------------------------------------------------------
-static char*
-_gtpusp_icmph_type_2_string(uint8_t typeP)
-//-----------------------------------------------------------------------------
-{
-  switch (typeP) {
-    case ICMP_ECHOREPLY:return "ECHOREPLY";break;
-    case ICMP_DEST_UNREACH:return "DEST_UNREACH";break;
-    case ICMP_SOURCE_QUENCH:return "SOURCE_QUENCH";break;
-    case ICMP_REDIRECT:return "REDIRECT";break;
-    case ICMP_ECHO:return "ECHO";break;
-    case ICMP_TIME_EXCEEDED:return "TIME_EXCEEDED";break;
-    case ICMP_PARAMETERPROB:return "PARAMETERPROB";break;
-    case ICMP_TIMESTAMP:return "TIMESTAMP";break;
-    case ICMP_TIMESTAMPREPLY:return "TIMESTAMPREPLY";break;
-    case ICMP_INFO_REQUEST:return "INFO_REQUEST";break;
-    case ICMP_INFO_REPLY:return "INFO_REPLY";break;
-    case ICMP_ADDRESS:return "ADDRESS";break;
-    case ICMP_ADDRESSREPLY:return "ADDRESSREPLY";break;
-    default:return "TYPE?";
-  }
-}
-//-----------------------------------------------------------------------------
-static char*
-_gtpusp_nf_inet_hook_2_string(int nf_inet_hookP)
-{
-  //-----------------------------------------------------------------------------
-  switch (nf_inet_hookP) {
-  case NF_INET_PRE_ROUTING:
-    return "NF_INET_PRE_ROUTING";
-    break;
-
-  case NF_INET_LOCAL_IN:
-    return "NF_INET_LOCAL_IN";
-    break;
-
-  case NF_INET_FORWARD:
-    return "NF_INET_FORWARD";
-    break;
-
-  case NF_INET_LOCAL_OUT:
-    return "NF_INET_LOCAL_OUT";
-    break;
-
-  case NF_INET_POST_ROUTING:
-    return "NF_INET_POST_ROUTING";
-    break;
-
-  default:
-    return "NF_INET_UNKNOWN";
-  }
-}
-//-----------------------------------------------------------------------------
-void
-_gtpusp_print_hex_octets(unsigned char* data_pP, unsigned short sizeP)
-{
-  //-----------------------------------------------------------------------------
-
-  unsigned long octet_index = 0;
-  unsigned long buffer_marker = 0;
-  unsigned char aindex;
-  struct timeval tv;
-  char timeofday[64];
-  unsigned int h,m,s;
-
-  if (data_pP == NULL) {
-    return;
-  }
-
-  if (sizeP > 2000) {
-    return;
-  }
-
-  do_gettimeofday(&tv);
-  h = (tv.tv_sec/3600) % 24;
-  m = (tv.tv_sec / 60) % 60;
-  s = tv.tv_sec % 60;
-  snprintf(timeofday, 64, "%02d:%02d:%02d.%06ld", h,m,s,tv.tv_usec);
-
-  buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker,"%s------+-------------------------------------------------+\n",timeofday);
-  buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker,"%s      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n",timeofday);
-  buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker,"%s------+-------------------------------------------------+\n",timeofday);
-  pr_info("%s",_gtpusp_print_buffer);
-  buffer_marker = 0;
-
-  for (octet_index = 0; octet_index < sizeP; octet_index++) {
-    if ((octet_index % 16) == 0) {
-      if (octet_index != 0) {
-        buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, " |\n");
-        pr_info("%s",_gtpusp_print_buffer);
-        buffer_marker = 0;
-      }
-
-      buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, "%s %04ld |",timeofday, octet_index);
-    }
-
-    /*
-     * Print every single octet in hexadecimal form
-     */
-    buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, " %02x", data_pP[octet_index]);
-    /*
-     * Align newline and pipes according to the octets in groups of 2
-     */
-  }
-
-  /*
-   * Append enough spaces and put final pipe
-   */
-  for (aindex = octet_index; aindex < 16; ++aindex)
-    buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, "   ");
-
-  //SGI_IF_DEBUG("   ");
-  buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, " |\n");
-  pr_info("%s",_gtpusp_print_buffer);
-}
-
-// for uplink GTPU traffic on S-GW
-//-----------------------------------------------------------------------------
-static int _udp_thread(void *data)
-//-----------------------------------------------------------------------------
-{
-  int size, tx_size;
-  int bufsize       = 8192;
-#if defined(FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT)
-  int success_read  = 0;
-  int failed_read   = 0;
-#endif
-  unsigned char buf[bufsize+1];
-  unsigned char gtp_resp[1024];
-
-  /* kernel thread initialization */
-  _gtpusp_sock.running = 1;
-
-  PR_INFO(MODULE_NAME": listening on port %d\n", gtpu_sgw_port);
-
-  /* main loop */
-  while(_gtpusp_sock.thread_stop_requested == 0){
-    if (kthread_should_stop()) {
-    	_gtpusp_sock.running = 0;
-    	PR_INFO(MODULE_NAME": kthread_stop initiated exit at %lu \n", jiffies);
-		return -1; //Exit from the thread. Return value will be passed to kthread_stop()
-    }
-	size = _gtpusp_ksocket_receive(_gtpusp_sock.sock, &_gtpusp_sock.addr, buf, bufsize);
-
-	if (size <= 0) {
-	  if (size != -EAGAIN) {
-        pr_info(MODULE_NAME": error getting datagram, sock_recvmsg error = %d\n", size);
-	  }
-#if defined(FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT)
-	  success_read  = 0;
-	  failed_read  += 1;
-	  if (failed_read > 10) failed_read = 10;
-      usleep_range(failed_read*20,failed_read*200);
-#endif
-    } else {
-#if defined(FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT)
-      success_read += 1;
-      failed_read   = 0;
-#endif
-      PR_INFO(MODULE_NAME": received %d bytes\n", size);
-
-      if ((tx_size = _gtpusp_ksocket_process_gtp(buf, size, gtp_resp)) > 0) {
-        //ksocket_send(_gtpusp_sock.sock, &_gtpusp_sock.addr_send, buf, gtp_resp, tx_size, NULL, 0));
-      }
-    }
-  }
-  _gtpusp_sock.running = 0;
-  if (kthread_should_stop()) {
-    PR_INFO(MODULE_NAME": kthread_stop initiated exit at %lu \n", jiffies);
-    return -1; //Exit from the thread. Return value will be passed to kthread_stop()
-  }
-  PR_INFO(MODULE_NAME": kthread do_exit()\n");
-  do_exit(0);
-}
-
-//-----------------------------------------------------------------------------
-static int _gtpusp_ksocket_process_gtp(const unsigned char * const rx_buf_pP, const int lenP, unsigned char* tx_buf_pP)
-//-----------------------------------------------------------------------------
-{
-  gtpv1u_msg_t                gtpv1u_msg;
-  uint8_t                     msg_type;
-  struct iphdr               *iph_p    = NULL;
-  struct iphdr               *new_iph_p= NULL;
-  struct sk_buff             *skb_p    = NULL;
-  const unsigned char *       rx_buf_p = rx_buf_pP;
-  int                         err      = 0;
-  struct rtable  *rt              = NULL;
-  struct flowi                fl = {
-	      .u = {
-	        .ip4 = {
-		          .daddr        = 0,
-		          .flowi4_tos   = 0,
-		          .flowi4_scope = RT_SCOPE_UNIVERSE,
-		    }
-	      }
-	    };
-
-  msg_type = rx_buf_pP[1];
-
-  switch(msg_type) {
-  case GTP_ECHO_REQ:
-    PR_INFO(MODULE_NAME": TODO GTP ECHO_REQ, SEND TO GTPV1U TASK USER SPACE\n");
-    //TODO;
-    return 0;
-    break;
-
-  case GTP_ERROR_INDICATION:
-	PR_INFO(MODULE_NAME":TODO GTP ERROR INDICATION, SEND TO GTPV1U TASK USER SPACE\n");
-    //TODO;
-    return 0;
-    break;
-
-  case GTP_ECHO_RSP:
-    PR_INFO(MODULE_NAME":GTP ECHO_RSP, SEND TO GTPV1U TASK USER SPACE\n");
-    return 0;
-    break;
-
-  case GTP_GPDU: {
-    gtpv1u_msg.version       = ((*rx_buf_p) & 0xE0) >> 5;
-    gtpv1u_msg.protocol_type = ((*rx_buf_p) & 0x10) >> 4;
-    gtpv1u_msg.ext_hdr_flag  = ((*rx_buf_p) & 0x04) >> 2;
-    gtpv1u_msg.seq_num_flag  = ((*rx_buf_p) & 0x02) >> 1;
-    gtpv1u_msg.npdu_num_flag = ((*rx_buf_p) & 0x01);
-    rx_buf_p++;
-
-    gtpv1u_msg.msg_type      = *(rx_buf_p);
-    rx_buf_p++;
-
-    rx_buf_p += 2;
-
-    gtpv1u_msg.teid          = ntohl(*((u_int32_t *)rx_buf_p));
-    rx_buf_p += 4;
-
-    if(gtpv1u_msg.ext_hdr_flag || gtpv1u_msg.seq_num_flag || gtpv1u_msg.npdu_num_flag) {
-      gtpv1u_msg.seq_num             = ntohs(*(((u_int16_t *)rx_buf_p)));
-      rx_buf_p                         += 2;
-      gtpv1u_msg.npdu_num            = *(rx_buf_p++);
-      gtpv1u_msg.next_ext_hdr_type   = *(rx_buf_p++);
-    }
-
-    gtpv1u_msg.msg_buf_offset = (u_int32_t)(rx_buf_p - rx_buf_pP);
-    gtpv1u_msg.msg_buf_len = lenP - gtpv1u_msg.msg_buf_offset;
-    gtpv1u_msg.msg_len    = lenP;
-
-	iph_p            = (struct iphdr*)(&rx_buf_pP[gtpv1u_msg.msg_buf_offset]);
-
-    fl.u.ip4.daddr        = iph_p->daddr;
-    fl.u.ip4.flowi4_tos   = RT_TOS(iph_p->tos);
-
-    rt = ip_route_output_key(&init_net, &fl.u.ip4);
-
-    if (rt == NULL) {
-      PR_INFO("GTPURH: Failed to route packet to dst 0x%x. Error: (%d)\n", fl.u.ip4.daddr, err);
-      return NF_DROP;
-    }
-
-    if (rt->dst.dev == NULL) {
-      pr_info("GTPURH: dst dev NULL\n");
-      return 0;
-    }
-
-    skb_p = alloc_skb(LL_MAX_HEADER + ntohs(iph_p->tot_len), GFP_ATOMIC);
-    if (skb_p == NULL) {
-      return 0;
-      }
-    skb_p->priority = rt_tos2priority(iph_p->tos);
-    skb_p->pkt_type = PACKET_OTHERHOST;
-    skb_dst_set(skb_p, dst_clone(&rt->dst));
-    skb_p->dev      = skb_dst(skb_p)->dev;
-
-    skb_reserve(skb_p, LL_MAX_HEADER + ntohs(iph_p->tot_len));
-    skb_p->protocol = htons(ETH_P_IP);
-
-    new_iph_p = (void *)skb_push(skb_p, ntohs(iph_p->tot_len) - (iph_p->ihl << 2));
-    skb_reset_transport_header(skb_p);
-    new_iph_p = (void *)skb_push(skb_p, iph_p->ihl << 2);
-    memcpy(new_iph_p, iph_p, ntohs(iph_p->tot_len));
-    skb_reset_network_header(skb_p);
-    skb_reset_inner_network_header(skb_p);
-    skb_reset_inner_transport_header(skb_p);
-
-    skb_p->mark = gtpv1u_msg.teid;
-
-    new_iph_p->ttl        = ip4_dst_hoplimit(skb_dst(skb_p));
-    skb_p->ip_summed = CHECKSUM_NONE;
-
-    if (skb_p->len > dst_mtu(skb_dst(skb_p))) {
-      PR_INFO("GTPURH: bad length\n");
-      goto free_skb;
-        }
-    ip_local_out(skb_p);
-    return 0;
-free_skb:
-    pr_info("GTPURH: Dropped skb\n");
-    kfree_skb(skb_p);
-    return 0;
-  }
-  break;
-
-  default:
-    PR_INFO(MODULE_NAME":ERROR GTPU msg type %u\n", msg_type);
-    return 0;
-  }
-}
-
-//-----------------------------------------------------------------------------
-static int _gtpusp_ksocket_receive(struct socket* sock_pP, struct sockaddr_in* addr_pP, unsigned char* buf_pP, int lenP)
-//-----------------------------------------------------------------------------
-{
-  struct msghdr msg;
-  struct iovec iov;
-  mm_segment_t oldfs;
-  int size = 0;
-
-  if (sock_pP->sk==NULL) return 0;
-
-  iov.iov_base = buf_pP;
-  iov.iov_len = lenP;
-
-#if defined(FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT)
-  msg.msg_flags = MSG_DONTWAIT;
-#else
-  msg.msg_flags = 0;
-#endif
-  msg.msg_name = addr_pP;
-  msg.msg_namelen  = sizeof(struct sockaddr_in);
-  msg.msg_control = NULL;
-  msg.msg_controllen = 0;
-  msg.msg_iov = &iov;
-  msg.msg_iovlen = 1;
-  msg.msg_control = NULL;
-
-  oldfs = get_fs();
-  set_fs(KERNEL_DS);
-  size = sock_recvmsg(sock_pP,&msg,lenP,msg.msg_flags);
-  set_fs(oldfs);
-
-  return size;
-}
-
-//-----------------------------------------------------------------------------
-static int _gtpusp_ksocket_send(struct socket *sock_pP, struct sockaddr_in *addr_pP, unsigned char *gtpuh_pP, int len_gtpP, unsigned char *buf_ip_pP, int len_ipP)
-//-----------------------------------------------------------------------------
-{
-  struct msghdr msg;
-  struct iovec  iov[2];
-  mm_segment_t  oldfs;
-  int           size = 0;
-  int           err = 0;
-  int           iov_index = 0;
-
-  if ( (err = sock_pP->ops->connect(sock_pP, (struct sockaddr *)addr_pP, sizeof(struct sockaddr), 0)) < 0 ) {
-	PR_INFO(MODULE_NAME": Could not connect to socket, error = %d\n", -err);
-	return 0;
-  }
-  if (sock_pP->sk == NULL) {
-	return 0;
-  }
-  if ((gtpuh_pP != NULL) && (len_gtpP > 0)) {
-    iov[iov_index].iov_base       = gtpuh_pP;
-    iov[iov_index].iov_len        = len_gtpP;
-    iov_index += 1;
-  }
-
-  if ((buf_ip_pP != NULL) && (len_ipP > 0)) {
-    iov[iov_index].iov_base       = buf_ip_pP;
-    iov[iov_index].iov_len        = len_ipP;
-    iov_index += 1;
-  }
-
-  msg.msg_flags      = 0;
-  msg.msg_name       = addr_pP;
-  msg.msg_namelen    = sizeof(struct sockaddr_in);
-  msg.msg_control    = NULL;
-  msg.msg_controllen = 0;
-  msg.msg_iov        = iov;
-  msg.msg_iovlen     = iov_index;
-  msg.msg_control    = NULL;
-
-  oldfs = get_fs();
-  set_fs(KERNEL_DS);
-  size = sock_sendmsg(sock_pP,&msg,len_ipP+len_gtpP);
-  set_fs(oldfs);
-
-  return size;
-        }
-
-#ifdef WITH_IPV6
-//-----------------------------------------------------------------------------
-static void
-_gtpusp_tg6_add(struct sk_buff *old_skb_pP, const struct xt_action_param *par_pP)
-{
-  //-----------------------------------------------------------------------------
-      }
-#endif
-
-//-----------------------------------------------------------------------------
-static void
-_gtpusp_tg4_add(struct sk_buff *old_skb_pP, const struct xt_action_param *par_pP)
-{
-  //-----------------------------------------------------------------------------
-  struct iphdr   *old_iph_p       = ip_hdr(old_skb_pP);
-  struct gtpuhdr  gtpuh;
-  uint16_t        orig_iplen = 0;
-  // CONNMARK
-  enum ip_conntrack_info ctinfo;
-  struct nf_conn *ct = NULL;
-  u_int32_t newmark;
-
-  if (skb_linearize(old_skb_pP) < 0) {
-	PR_INFO(MODULE_NAME": skb no linearize\n");
-    return;
-  }
-  orig_iplen = ntohs(old_iph_p->tot_len);
-
-  //----------------------------------------------------------------------------
-  // CONNMARK
-  //----------------------------------------------------------------------------
-  ct = nf_ct_get(old_skb_pP, &ctinfo);
-  if (ct == NULL) {
-    PR_INFO(MODULE_NAME": _gtpusp_target_add force targinfo ltun %u to skb_pP mark %u\n",
-	            ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->ltun,
-	            old_skb_pP->mark);
-    newmark = ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->ltun;
-  } else {
-    //XT_CONNMARK_RESTORE:
-    newmark          = old_skb_pP->mark ^ ct->mark;
-
-    PR_INFO(MODULE_NAME": _gtpusp_target_add restore mark %u (skb mark %u ct mark %u) len %u sgw addr %x\n",
-			newmark, old_skb_pP->mark, ct->mark, orig_iplen,
-			((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->raddr);
-    if (newmark != ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->ltun) {
-  	  pr_warn(MODULE_NAME": _gtpusp_target_add restore mark 0x%x mismatch ltun 0x%x (rtun 0x%x)",
-  			newmark, ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->ltun,
-  			 ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->rtun);
-    }
-  }
-
-
-  /* Add GTPu header */
-  gtpuh.flags   = 0x30; /* v1 and Protocol-type=GTP */
-  gtpuh.msgtype = 0xff; /* T-PDU */
-  gtpuh.length  = htons(orig_iplen);
-  gtpuh.tunid   = htonl(((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->rtun);
-
-  _gtpusp_sock.addr_send.sin_addr.s_addr = ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->raddr;
-  _gtpusp_ksocket_send(_gtpusp_sock.sock, &_gtpusp_sock.addr_send, (unsigned char*)&gtpuh, sizeof(gtpuh), (unsigned char*)old_iph_p, orig_iplen);
-  return ;
-}
-
-#ifdef WITH_IPV6
-//-----------------------------------------------------------------------------
-static unsigned int
-_gtpusp_tg6(struct sk_buff *skb_pP, const struct xt_action_param *par_pP)
-{
-  //-----------------------------------------------------------------------------
-
-  const struct xt_gtpusp_target_info *tgi_p = par_pP->targinfo;
-
-  if (tgi_p == NULL) {
-    return NF_ACCEPT;
-  }
-
-  if (tgi_p->action == PARAM_GTPUSP_ACTION_ADD) {
-    _gtpusp_tg6_add(skb_pP, par_pP);
-    return NF_DROP; // TODO
-  }
-
-  return NF_ACCEPT;
-}
-#endif
-
-//-----------------------------------------------------------------------------
-static unsigned int
-_gtpusp_tg4(struct sk_buff *skb_pP, const struct xt_action_param *par_pP)
-{
-  //-----------------------------------------------------------------------------
-  const struct xt_gtpusp_target_info *tgi_p = par_pP->targinfo;
-
-  if (tgi_p == NULL) {
-    return NF_ACCEPT;
-  }
-
-  if (tgi_p->action == PARAM_GTPUSP_ACTION_ADD) {
-    _gtpusp_tg4_add(skb_pP, par_pP);
-    return NF_DROP;
-  }
-
-  return NF_ACCEPT;
-}
-
-//-----------------------------------------------------------------------------
-static int
-__init gtpusp_tg_init(void)
-//-----------------------------------------------------------------------------
-{
-  int            err;
-
-  pr_info(MODULE_NAME": Initializing module (KVersion: %d)\n", KVERSION);
-  pr_info(MODULE_NAME": Copyright Polaris Networks 2010-2011\n");
-  pr_info(MODULE_NAME": Modified by EURECOM Lionel GAUTHIER 2014\n");
-#ifndef CMAKER
-  pr_info(MODULE_NAME": Compiled %s at time %s\n",__DATE__,__TIME__);
-#endif
-#if defined(WITH_IPV6)
-  pr_info(MODULE_NAME": IPv4/IPv6 enabled\n");
-#else
-  pr_info(MODULE_NAME": IPv4 only enabled\n");
-#endif
-  pr_info(MODULE_NAME": params gtpu_enb_port=%u, gtpu_sgw_port=%u, sgw_addr=%s\n",
-		  gtpu_enb_port, gtpu_sgw_port, sgw_addr);
-
-  // UDP socket socket
-  memset(&_gtpusp_sock, 0, sizeof(gtpusp_sock_t));
-
-  /* create a socket */
-  if ((err = sock_create(AF_INET, SOCK_DGRAM, IPPROTO_UDP, &_gtpusp_sock.sock)) < 0 ) {
-	PR_INFO(": Could not create a datagram socket, error = %d\n", -ENXIO);
-	return err;
-  }
-
-  _gtpusp_sock.addr.sin_family = AF_INET;
-  _gtpusp_sock.addr.sin_port   = htons(gtpu_sgw_port);
-  _gtpusp_sock.addr.sin_addr.s_addr   = in_aton(sgw_addr);
-
-  _gtpusp_sock.addr_send.sin_family      = AF_INET;
-  _gtpusp_sock.addr_send.sin_port        = htons(gtpu_enb_port);
-  _gtpusp_sock.addr_send.sin_addr.s_addr = in_aton(sgw_addr);
-
-  _gtpusp_sock.thread_stop_requested     = 0;
-
-  if ( (err = _gtpusp_sock.sock->ops->bind(_gtpusp_sock.sock, (struct sockaddr *)&_gtpusp_sock.addr, sizeof(struct sockaddr) ) ) < 0) {
-    pr_info(MODULE_NAME": Could not bind socket, error = %d\n", -err);
-    goto close_and_out;
-  }
-
-  // start kernel thread
-  _gtpusp_sock.thread = kthread_run((void *)_udp_thread, NULL, MODULE_NAME);
-  if (IS_ERR(_gtpusp_sock.thread)) {
-    pr_info(MODULE_NAME": unable to start kernel thread\n");
-    return -ENOMEM;
-  }
-  if((_gtpusp_sock.thread)) {
-    wake_up_process(_gtpusp_sock.thread);
-  }
-  return xt_register_targets(gtpusp_tg_reg, ARRAY_SIZE(gtpusp_tg_reg));
-close_and_out:
-	sock_release(_gtpusp_sock.sock);
-	_gtpusp_sock.sock = NULL;
-	return err;
-}
-
-//-----------------------------------------------------------------------------
-static void
-__exit gtpusp_tg_exit(void)
-//-----------------------------------------------------------------------------
-{
-  int err;
-  int loop = 0;
-
-
-  if (_gtpusp_sock.thread==NULL) {
-	pr_info(MODULE_NAME": no kernel thread to kill\n");
-  } else {
-    if (_gtpusp_sock.running > 0) {
-      _gtpusp_sock.thread_stop_requested     = 1;
-      pr_info(MODULE_NAME": exit kernel thread requested\n");
-      do {
-        pr_info(MODULE_NAME": waking up thread with datagram\n");
-        msleep(5);
-        pr_info(MODULE_NAME": waiting for thread...\n");
-        loop++;
-      } while ((_gtpusp_sock.running > 0) && (loop < 20));
-      if (_gtpusp_sock.running > 0) {
-        pr_info(MODULE_NAME": stopping  kernel thread\n");
-        err = kthread_stop(_gtpusp_sock.thread);
-	    if(!err) {
-          pr_info(MODULE_NAME": Successfully killed kernel thread!\n");
-	    } else {
-          pr_info(MODULE_NAME": Unsuccessfully killed kernel thread!\n");
-        }
-      } else {
-        pr_info(MODULE_NAME": Found thread exited by itself\n");
-      }
-    }
-  }
-
-  /* free allocated resources before exit */
-  if (_gtpusp_sock.sock != NULL) {
-	sock_release(_gtpusp_sock.sock);
-	_gtpusp_sock.sock = NULL;
-  }
-  xt_unregister_targets(gtpusp_tg_reg, ARRAY_SIZE(gtpusp_tg_reg));
-  pr_info(MODULE_NAME": Unloading module\n");
-}
-
-
-module_init(gtpusp_tg_init);
-module_exit(gtpusp_tg_exit);
-MODULE_ALIAS("ipt6_GTPUSP");
-MODULE_ALIAS("ipt_GTPUSP");
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.h b/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.h
deleted file mode 100755
index e4d72f5875779aff0aefe86a192c48b24b0547f8..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Shared header file for iptables extension for the GTPU target and GTPu KLM
- *
- * Copyright (c) 2010-2011 Polaris Networks
- * Author: Pradip Biswas <pradip_biswas@polarisnetworks.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- */
-
-enum xt_gtpusp_mode_ {
-  PARAM_GTPUSP_ACTION_ADD = 1 << 8,
-};
-
-struct xt_gtpusp_target_info {
-  u_int32_t laddr   __attribute__((aligned(8)));
-  u_int32_t raddr   __attribute__((aligned(8)));
-  u_int32_t ltun    __attribute__((aligned(8)));
-  u_int32_t rtun    __attribute__((aligned(8)));
-  u_int32_t action  __attribute__((aligned(8)));
-};
-
diff --git a/openair-cn/GTPV1-U/Makefile.am b/openair-cn/GTPV1-U/Makefile.am
index cb8acf56c383d535cc5d245a8c881429e83465a1..34df3ff5c96e99d0f043788bf0c47bfccf3f5d74 100644
--- a/openair-cn/GTPV1-U/Makefile.am
+++ b/openair-cn/GTPV1-U/Makefile.am
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/GTPV1-U/Makefile.eNB b/openair-cn/GTPV1-U/Makefile.eNB
index 1347eb2c298d936297334c95f729301c9441a608..97920f114fab9ad0266fa314410ae1e5164e81be 100644
--- a/openair-cn/GTPV1-U/Makefile.eNB
+++ b/openair-cn/GTPV1-U/Makefile.eNB
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/GTPV1-U/gtpv1u.h b/openair-cn/GTPV1-U/gtpv1u.h
index 3409505158cf1c56e61946605ee827e8b272f022..264fedfe774e36cc74c1548eb4a108ade733b185 100644
--- a/openair-cn/GTPV1-U/gtpv1u.h
+++ b/openair-cn/GTPV1-U/gtpv1u.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/GTPV1-U/gtpv1u_eNB.c b/openair-cn/GTPV1-U/gtpv1u_eNB.c
index 704123c3b2af9fc4da0d60b0a53f3209e0c294a8..ca492469b1b87de8aa1ef02b2773ae2d5e3cacfa 100644
--- a/openair-cn/GTPV1-U/gtpv1u_eNB.c
+++ b/openair-cn/GTPV1-U/gtpv1u_eNB.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/GTPV1-U/gtpv1u_eNB_defs.h b/openair-cn/GTPV1-U/gtpv1u_eNB_defs.h
index 81f00005d92c6e698fea470ffe03fe9bb2813424..916d4459d99471aa1706d3b1e1e7cf41373df576 100644
--- a/openair-cn/GTPV1-U/gtpv1u_eNB_defs.h
+++ b/openair-cn/GTPV1-U/gtpv1u_eNB_defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/GTPV1-U/gtpv1u_eNB_task.h b/openair-cn/GTPV1-U/gtpv1u_eNB_task.h
index ce6643b131f68216ac131798fa517e0efeb941d9..b06777a55d3fb26c6531e6abd92826dfa0b7b2ca 100755
--- a/openair-cn/GTPV1-U/gtpv1u_eNB_task.h
+++ b/openair-cn/GTPV1-U/gtpv1u_eNB_task.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/GTPV1-U/gtpv1u_sgw_defs.h b/openair-cn/GTPV1-U/gtpv1u_sgw_defs.h
index a525c388a2a1c608b2d0d98e10a68199e1e012bb..d40410f3b7e26203569bbac7b4de880df05590ec 100644
--- a/openair-cn/GTPV1-U/gtpv1u_sgw_defs.h
+++ b/openair-cn/GTPV1-U/gtpv1u_sgw_defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/GTPV1-U/gtpv1u_task.c b/openair-cn/GTPV1-U/gtpv1u_task.c
index f98db6056e2a0f9666b7ebb346bfdfa90d3bb71d..f17a0fdd0e706a0226bc957088b3796eaa7019cd 100644
--- a/openair-cn/GTPV1-U/gtpv1u_task.c
+++ b/openair-cn/GTPV1-U/gtpv1u_task.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/GTPV1-U/gtpv1u_teid_pool.c b/openair-cn/GTPV1-U/gtpv1u_teid_pool.c
index 3cbafd8979fece5915c5907c2e9bbc482515c9ff..32db1ff47e1c17f8eba9c8d3f5600768b731edd9 100644
--- a/openair-cn/GTPV1-U/gtpv1u_teid_pool.c
+++ b/openair-cn/GTPV1-U/gtpv1u_teid_pool.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/GTPV2-C/Makefile.am b/openair-cn/GTPV2-C/Makefile.am
deleted file mode 100644
index 4bbb12ed0daa510961895031a80dff9f2209c79f..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-SUBDIRS = nwgtpv2c-0.11/
\ No newline at end of file
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/AUTHORS b/openair-cn/GTPV2-C/nwgtpv2c-0.11/AUTHORS
deleted file mode 100644
index b068a40fddffeac00e275caa3b266878b6043b0a..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Amit Chawre
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/COPYING b/openair-cn/GTPV2-C/nwgtpv2c-0.11/COPYING
deleted file mode 100644
index d27832d6c118e514fabc7c05adc32d64b63961a0..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/COPYING
+++ /dev/null
@@ -1,26 +0,0 @@
-Copyright (c) 2010-2011 Amit Chawre <http://www.amitchawre.net/contact.html>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
-derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/ChangeLog b/openair-cn/GTPV2-C/nwgtpv2c-0.11/ChangeLog
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/Makefile.am b/openair-cn/GTPV2-C/nwgtpv2c-0.11/Makefile.am
deleted file mode 100644
index 2b8e86b1a216f7a85f2bbcbd4ec8aea7d37922f6..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-# this is example-file: Makefile.am
-
-# the subdirectories of the project to go into
-SUBDIRS =   \
-            src\
-	    test-app
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/NEWS b/openair-cn/GTPV2-C/nwgtpv2c-0.11/NEWS
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/README b/openair-cn/GTPV2-C/nwgtpv2c-0.11/README
deleted file mode 100644
index 8aa79638e9812a85ce61fd5c1a712b53592c40fb..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/README
+++ /dev/null
@@ -1,168 +0,0 @@
-
-INTRODUCTION
-------------
-
-nwGtpv2c library is a free and open source implementation of GPRS Tunneling 
-Protocol v2, also known as eGTP-C, as per 3GPP TS-29274. 
-
-The stack library supports transaction management, message creation and parsing, 
-message validation, echo response and retransmission management. Other than 
-this, timer and memory management functions are also built into the stack.
-
-The library is published under BSD three clause license.
-
-
-DESIGN PHILOSPHY
-----------------
-
-The stack is designed for high portability not only for the hardware and OS 
-it will run on but also for the application software that uses it. The stack 
-doesn't mandate conditions on the user application architecture or design. 
-The stack relies on the user application for infrastructure utilities such 
-as I/O, timers, logs and multithreading. This realized by using callback 
-mechanisms and enables the stack library to seamlessly integrate without or 
-very little changes to the existing application framework. 
-
-The stack is fully-asynchronous in design for compatibility with event loop
-mechanisms such as select, poll, etc. and can also be used for multi-threaded 
-applications. It should compile on Linux,  BSD, Mac OS X, Solaris and Windows 
-(cygwin).
-
-The stack architecture builds upon following mentioned entities that are 
-external to it:
-
-      +-------------+      +---------+        +---------+
-      |  ULP ENTITY |      | TMR MGR |        | LOG MGR |
-      +------+------+      +----+----+        +----+----+ 
-             |                  |                  |
-      +------+------------------+------------------+----+
-      |                                                 |
-      |                 NWGTPv2 STACK                   |
-      |                                                 |
-      +-------------------------+-----------------------+
-                                |
-                         +------+------+
-                         |  UDP ENTITY |
-                         +-------------+ 
-
-
-- User Layer Protocol (ULP) Entity:
-This entity is the one which decides behaviour of the GTP user application. 
-This layer implements the intelligent logic for the GTP application and sits 
-on top of the GTP stack. This layer may also execute functions other than GTP 
-procedures for example authetication.
-
-- UDP Entity:
-This is the layer below the GTP stack and is responsible for UDP I/O between 
-the stack and network. This layer shall manage the socket interface. This entity 
-abstracts the stack library's view of the network. This may be useful in a 
-multiprocess load balancing application wherein the GTP messages are received 
-by a GTP load distribution entity and relayed to multiple GTP stacks over 
-internal messaging. It may or may not be housed with/in ULP. 
-
-- Timer Manager Entity: 
-Timer Manager Entity provides the GTP stack library with infrastructure for 
-timer CRUD operations. It may or may not be housed with/in ULP.
-
-- Log Manager Entity:
-Log Manager Entity provides the GTP stack library with callbacks for logging 
-operations. It may or may not be housed with/in ULP. 
-
-
-Optionally, there may be a user level "Stack Management Entity" which shall be 
-resposible for creating and configuring the stack library, though the stack 
-library is not aware of any such entity. 
-
-The application may implement all above entities as a single or multiple object.
-The external entities need to register callbacks with GTP stack library for 
-receiving APIs from the stack library and stack library exposes API for the same.
-
-The GTP stack library doesn't implement any execution threads of its own. It is 
-up-to user application if it want to call the library APIs via multiple threads. 
-The stack library, though, currently DOES NOT protect its critical section and 
-hence, is NOT threadsafe.
-
-
-FEATURES
---------
-
-- TS 29.274 (Release 9) compliance target for gtp-c
-- Message Encoding
-- Reliable Message Delivery
-- Message Parser
-- Message Integrity and Error Checking
-- Support for S11, S5 and S8 SAE/EPC interfaces
-- Easy Application Integration
-
-
-APPLICATIONS
-------------
-
-In general, the GTP stack library may be used to write any GTP version 2 based 
-application.
-The GTP stack library can also be used by applications implementing LTE MME, SGW
-or PDN Gateways and simulators/emulators for either of them. Please see the test 
-applications involving basic GTP procedures.
-
-The test applications use libevent-1.4 library for I/O and timer infrastructure,
-(http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz).
-Following is a brief description of the test applications:
-
-- nw-helloworld 
-This is minimalistic program demostrating usage of nw-gtpv2 library. It 
-demostrates ulp, udp, tmrmgr and logmgr entities as well as stack construction 
-and destruction. The gtpv2c test application creates a transaction and sends 
-a initial request messages over it. 
-
-- nw-egpting
-egtping is a utility for pinging a GPRS Tunneling Protocol (GTP) version 2, 
-or Evolved GTP (eGTP) using Echo Request/Response.
-
-- nw-epc
-The nw-epc software package is a free and open source framework implementation 
-of SGW and PGW built upon nw-gtpv2.
-
-
-LICENSE
--------
-
-Copyright (c) 2010-2011 Amit Chawre <http://www.amitchawre.net/contact.html>
-All rights reserved.                                                        
-                                                                            
-Redistribution and use in source and binary forms, with or without          
-modification, are permitted provided that the following conditions          
-are met:                                                                    
-                                                                            
-1. Redistributions of source code must retain the above copyright           
-   notice, this list of conditions and the following disclaimer.            
-2. Redistributions in binary form must reproduce the above copyright        
-   notice, this list of conditions and the following disclaimer in the      
-   documentation and/or other materials provided with the distribution.     
-3. The name of the author may not be used to endorse or promote products    
-   derived from this software without specific prior written permission.    
-                                                                            
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR        
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES   
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.     
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,            
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT    
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,   
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY       
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT         
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF    
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.           
-
-
-DISCLAIMER
-----------
-
-THIS INFORMATION IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   
-THIS INFORMATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/configure.ac b/openair-cn/GTPV2-C/nwgtpv2c-0.11/configure.ac
deleted file mode 100644
index c9284f575ebc4186116ef294725ce3707b5d46f7..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/configure.ac
+++ /dev/null
@@ -1,58 +0,0 @@
-# this is example-file: configure.ac
-
-# initial information about the project
-AC_INIT([NwGtpv2c],[0.11],[])
-
-# check if the source folder is correct
-AC_CONFIG_SRCDIR([src/NwGtpv2c.c])
-
-# Checks for programs
-
-# check for C++ preprocessor and compiler and the library compiler
-AC_PROG_CXXCPP
-AC_PROG_CXX
-AC_PROG_RANLIB
-
-# automake initialisation and check for minimal automake API version 1.9
-AM_INIT_AUTOMAKE([1.9])
-
-# use the C compiler for the following checks
-AC_LANG([C])
-AC_C_INLINE
-
-# Checks for header files.
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([string])
-AC_CHECK_HEADERS([iostream])
-AC_CHECK_HEADERS([arpa/inet.h])
-AC_CHECK_HEADERS([sys/time.h])
-AC_CHECK_HEADERS([sys/socket.h])
-
-AC_CHECK_FUNCS([strerror])
-AC_CHECK_FUNCS([socket])
-AC_CHECK_FUNCS([memset])
-AC_CHECK_FUNCS([gettimeofday])
-AC_FUNC_MALLOC
-AC_PROG_LN_S
-
-AC_CHECK_LIB([event], [event_init])
-AM_CONDITIONAL([ENABLE_TESTS_APP], [test x$HAVE_LIBEVENT == xyes])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_TYPE_SIZE_T
-
-# distribute additional compiler and linker flags
-# --> set these variables instead of CXXFLAGS or LDFLAGS
-AC_SUBST([AM_CFLAGS])
-AC_SUBST([AM_LDFLAGS])
-
-# files to generate via autotools (.am or .in source files)
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_FILES([src/Makefile])
-AC_CONFIG_FILES([test-app/Makefile])
-AC_CONFIG_FILES([test-app/nw-helloworld/Makefile])
-AC_CONFIG_FILES([test-app/nw-egtping/Makefile])
-
-# generate the final Makefile etc.
-AC_OUTPUT
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cLog.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cLog.h
deleted file mode 100644
index b35694b96657b340eb4cec6c3ea4b8a903069173..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cLog.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_LOG_H__
-#define __NW_GTPV2C_LOG_H__
-
-#include <stdio.h>
-#include "NwLog.h"
-
-/**
- * @file NwGtpv2cLog.h
- * @brief This header contains logging related definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Log Macro Definition
- *--------------------------------------------------------------------------*/
-
-#define NW_LOG(_gtpv2cHandle, _logLevel, ...)                           \
-  do {                                                                  \
-    if(((NwGtpv2cStackT*)(_gtpv2cHandle))->logLevel >= _logLevel)       \
-    {                                                                   \
-      char _logBuf[1024];                                               \
-      snprintf(_logBuf, 1024, __VA_ARGS__);                             \
-      ((NwGtpv2cStackT*)(_gtpv2cHandle))->logMgr.logReqCallback(((NwGtpv2cStackT*)_gtpv2cHandle)->logMgr.logMgrHandle, _logLevel, __FILE__, __LINE__, _logBuf);\
-    }                                                                   \
-  } while(0)
-
-#define NW_ENTER(_gtpv2cHandle)                                       \
-  do {                                                                  \
-    NW_LOG(_gtpv2cHandle, NW_LOG_LEVEL_DEBG, "Entering '%s'", __func__);\
-  } while(0)
-
-#define NW_LEAVE(_gtpv2cHandle)                                       \
-  do {                                                                  \
-    NW_LOG(_gtpv2cHandle, NW_LOG_LEVEL_DEBG, "Leaving '%s'", __func__);\
-  } while(0)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_TYPES_H__ */
-
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cMsgIeParseInfo.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cMsgIeParseInfo.h
deleted file mode 100644
index 38a37a5d4ade56f2c3d47ccac220ed200308a5b5..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cMsgIeParseInfo.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_MSG_PARSE_INFO_H__
-#define __NW_GTPV2C_MSG_PARSE_INFO_H__
-
-#include "NwTypes.h"
-#include "NwGtpv2c.h"
-
-/**
- * @file NwGtpv2cMsgParseInfo.h
- * @brief This file defines APIs for to parse incoming messages.
-*/
-
-typedef struct {
-  uint8_t                 groupedIeType;
-  uint16_t                mandatoryIeCount;
-  NwGtpv2cStackHandleT  hStack;
-
-  struct {
-    uint8_t ieMinLength;
-    uint8_t iePresence;
-  } ieParseInfo[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-
-} NwGtpv2cGroupedIeParseInfoT;
-
-typedef struct {
-  uint16_t                msgType;
-  uint16_t                mandatoryIeCount;
-  NwGtpv2cStackHandleT  hStack;
-
-  struct {
-    uint8_t ieMinLength;
-    uint8_t iePresence;
-    NwGtpv2cGroupedIeParseInfoT* pGroupedIeInfo;
-  } ieParseInfo[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-
-} NwGtpv2cMsgIeParseInfoT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwGtpv2cMsgIeParseInfoT*
-nwGtpv2cMsgIeParseInfoNew(NwGtpv2cStackHandleT hStack, uint8_t msgType);
-
-NwRcT
-nwGtpv2cMsgIeParseInfoDelete(NwGtpv2cMsgIeParseInfoT* thiz);
-
-NwRcT
-nwGtpv2cMsgIeParse(NW_IN NwGtpv2cMsgIeParseInfoT* thiz,
-                   NW_IN       NwGtpv2cMsgHandleT hMsg,
-                   NW_INOUT    NwGtpv2cErrorT     *pError);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_MSG_PARSE_INFO_H__ */
-
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cPrivate.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cPrivate.h
deleted file mode 100644
index 29be2c3f29d10b88b3917161d2470a68361a7be8..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cPrivate.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_PRIVATE_H__
-#define __NW_GTPV2C_PRIVATE_H__
-
-#include <sys/time.h>
-
-#include "tree.h"
-#include "queue.h"
-
-#include "NwTypes.h"
-#include "NwError.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgIeParseInfo.h"
-#include "NwGtpv2cTunnel.h"
-
-/**
- * @file NwGtpv2cPrivate.h
- * @brief This header file contains nw-gtpv2c private definitions not to be
- * exposed to user application.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NW_GTPV2C_MALLOC(_stack, _size, _mem, _type)                    \
-  do {                                                                  \
-    if(((NwGtpv2cStackT*)(_stack))->memMgr.memAlloc && ((NwGtpv2cStackT*)(_stack))->memMgr.memFree )\
-    {                                                                   \
-      _mem = (_type) ((NwGtpv2cStackT*) (_stack))->memMgr.memAlloc(((NwGtpv2cStackT*) (_stack))->memMgr.hMemMgr, _size, __FILE__, __LINE__);\
-    }                                                                   \
-    else                                                                \
-    {                                                                   \
-      _mem = (_type) malloc (_size);                                    \
-    }                                                                   \
-  } while (0)
-
-#define NW_GTPV2C_FREE(_stack, _mem)                                    \
-  do {                                                                  \
-    if(((NwGtpv2cStackT*)(_stack))->memMgr.memAlloc && ((NwGtpv2cStackT*)(_stack))->memMgr.memFree )\
-    {                                                                   \
-      ((NwGtpv2cStackT*)(_stack))->memMgr.memFree(((NwGtpv2cStackT*) (_stack))->memMgr.hMemMgr, _mem, __FILE__, __LINE__);\
-    }                                                                   \
-    else                                                                \
-    {                                                                   \
-      free ((void*)_mem);                                               \
-    }                                                                   \
-  } while (0)
-
-/*--------------------------------------------------------------------------*
- *  G T P V 2 C   S T A C K   O B J E C T   T Y P E    D E F I N I T I O N  *
- *--------------------------------------------------------------------------*/
-
-/**
- * gtpv2c stack class definition
- */
-
-typedef struct NwGtpv2cStack {
-  uint32_t                        id;
-  NwGtpv2cUlpEntityT            ulp;
-  NwGtpv2cUdpEntityT            udp;
-  NwGtpv2cMemMgrEntityT         memMgr;
-  NwGtpv2cTimerMgrEntityT       tmrMgr;
-  NwGtpv2cLogMgrEntityT         logMgr;
-
-  uint32_t                        seqNum;
-  uint32_t                        logLevel;
-  uint32_t                        restartCounter;
-
-  NwGtpv2cMsgIeParseInfoT       *pGtpv2cMsgIeParseInfo[NW_GTP_MSG_END];
-  struct NwGtpv2cTimeoutInfo    *activeTimerInfo;
-
-  RB_HEAD( NwGtpv2cTunnelMap, NwGtpv2cTunnel                ) tunnelMap;
-  RB_HEAD( NwGtpv2cOutstandingTxSeqNumTrxnMap, NwGtpv2cTrxn ) outstandingTxSeqNumMap;
-  RB_HEAD( NwGtpv2cOutstandingRxSeqNumTrxnMap, NwGtpv2cTrxn ) outstandingRxSeqNumMap;
-  RB_HEAD( NwGtpv2cActiveTimerList, NwGtpv2cTimeoutInfo     ) activeTimerList;
-  NwHandleT                     hTmrMinHeap;
-} NwGtpv2cStackT;
-
-
-/*--------------------------------------------------------------------------*
- * Timeout Info Type Definition
- *--------------------------------------------------------------------------*/
-
-/**
- * gtpv2c timeout info
- */
-
-typedef struct NwGtpv2cTimeoutInfo {
-  NwGtpv2cStackHandleT          hStack;
-  struct timeval                tvTimeout;
-  uint32_t                        tmrType;
-  void*                         timeoutArg;
-  NwRcT                         (*timeoutCallbackFunc)(void*);
-  NwGtpv2cTimerHandleT          hTimer;
-  RB_ENTRY (NwGtpv2cTimeoutInfo)       activeTimerListRbtNode;            /**< RB Tree Data Structure Node        */
-  uint32_t                        timerMinHeapIndex;
-  struct NwGtpv2cTimeoutInfo *next;
-} NwGtpv2cTimeoutInfoT;
-
-
-/*---------------------------------------------------------------------------
- * GTPv2c Message Container Definition
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV2C_MAX_MSG_LEN                                    (1024)  /**< Maximum supported gtpv2c packet length including header */
-
-/**
- * NwGtpv2cMsgT holds gtpv2c messages to/from the peer.
- */
-typedef struct NwGtpv2cMsgS {
-  uint8_t                         version;
-  uint8_t                         teidPresent;
-  uint8_t                         msgType;
-  uint16_t                        msgLen;
-  uint32_t                        teid;
-  uint32_t                        seqNum;
-  uint8_t*                        pMsgStart;
-
-#define NW_GTPV2C_MAX_GROUPED_IE_DEPTH                                  (2)
-  struct {
-    NwGtpv2cIeTlvT *pIe[NW_GTPV2C_MAX_GROUPED_IE_DEPTH];
-    uint8_t         top;
-  } groupedIeEncodeStack;
-
-  NwBoolT                       isIeValid[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-  uint8_t                         *pIe[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-  uint8_t                         msgBuf[NW_GTPV2C_MAX_MSG_LEN];
-  NwGtpv2cStackHandleT          hStack;
-  struct NwGtpv2cMsgS*          next;
-} NwGtpv2cMsgT;
-
-/**
- * Transaction structure
- */
-
-typedef struct NwGtpv2cTrxn {
-  uint32_t                        seqNum;
-  uint32_t                        peerIp;
-  uint32_t                        peerPort;
-  uint8_t                         t3Timer;
-  uint8_t                         maxRetries;
-  NwGtpv2cMsgT*                 pMsg;
-  NwGtpv2cStackT*               pStack;
-  NwGtpv2cTimerHandleT          hRspTmr;                                /**< Handle to reponse timer            */
-  NwGtpv2cTunnelHandleT         hTunnel;                                /**< Handle to local tunnel context     */
-  NwGtpv2cUlpTrxnHandleT        hUlpTrxn;                               /**< Handle to ULP tunnel context       */
-  RB_ENTRY (NwGtpv2cTrxn)       outstandingTxSeqNumMapRbtNode;          /**< RB Tree Data Structure Node        */
-  RB_ENTRY (NwGtpv2cTrxn)       outstandingRxSeqNumMapRbtNode;          /**< RB Tree Data Structure Node        */
-  struct NwGtpv2cTrxn*          next;
-} NwGtpv2cTrxnT;
-
-/**
- *  GTPv2c Path Context
- */
-
-typedef struct NwGtpv2cPathS {
-  uint32_t                        hUlpPath;                               /**< Handle to ULP path contect         */
-  uint32_t                        ipv4Address;
-  uint32_t                        restartCounter;
-  uint16_t                        t3ResponseTimout;
-  uint16_t                        n3RequestCount;
-  NwGtpv2cTimerHandleT          hKeepAliveTmr;                          /**< Handle to path keep alive echo timer */
-  RB_ENTRY (NwGtpv2cPathS)      pathMapRbtNode;
-} NwGtpv2cPathT;
-
-
-RB_PROTOTYPE(NwGtpv2cTunnelMap, NwGtpv2cTunnel, tunnelMapRbtNode, nwGtpv2cCompareTunnel)
-RB_PROTOTYPE(NwGtpv2cOutstandingTxSeqNumTrxnMap, NwGtpv2cTrxn, outstandingTxSeqNumMapRbtNode, nwGtpv2cCompareSeqNum)
-RB_PROTOTYPE(NwGtpv2cOutstandingRxSeqNumTrxnMap, NwGtpv2cTrxn, outstandingRxSeqNumMapRbtNode, nwGtpv2cCompareSeqNum)
-RB_PROTOTYPE(NwGtpv2cActiveTimerList, NwGtpv2cTimeoutInfo, activeTimerListRbtNode, nwGtpv2cCompareOutstandingTxRexmitTime)
-
-/**
- * Start Timer with ULP Timer Manager
- */
-
-NwRcT
-nwGtpv2cStartTimer(NwGtpv2cStackT* thiz,
-                   uint32_t timeoutSec,
-                   uint32_t timeoutUsec,
-                   uint32_t tmrType,
-                   NwRcT (*timeoutCallbackFunc)(void*),
-                   void*  timeoutCallbackArg,
-                   NwGtpv2cTimerHandleT *phTimer);
-
-
-/**
- * Stop Timer with ULP Timer Manager
- */
-
-NwRcT
-nwGtpv2cStopTimer(NwGtpv2cStackT* thiz,
-                  NwGtpv2cTimerHandleT hTimer);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  /* __NW_GTPV2C_PRIVATE_H__ */
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTrxn.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTrxn.h
deleted file mode 100644
index 26ae1875c3dfb9305c8d80af65c2dfc327d49190..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTrxn.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwGtpv2cTrxn.h
- * @author Amit Chawre
- * @brief
- *
- * This header file contains required definitions and functions
- * prototypes used by gtpv2c transactions.
- *
- **/
-
-
-#ifndef __NW_GTPV2C_TRXN_H__
-#define __NW_GTPV2C_TRXN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Constructotr
- */
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnNew( NW_IN  NwGtpv2cStackT* pStack);
-
-/**
- * Overloaded Constructotr
- */
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnWithSeqNumNew( NW_IN  NwGtpv2cStackT* pStack,
-                           NW_IN  uint32_t seqNum);
-
-/**
- * Another overloaded constructor. Create transaction as outstanding
- * RX transaction for detecting duplicated requests.
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] teidLocal : Trxn teid.
- * @param[in] peerIp : Peer Ip address.
- * @param[in] peerPort : Peer Ip port.
- * @param[in] seqNum : Seq Number.
- * @return NW_OK on success.
- */
-
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnOutstandingRxNew( NW_IN  NwGtpv2cStackT* pStack,
-                              NW_IN  uint32_t teidLocal,
-                              NW_IN  uint32_t peerIp,
-                              NW_IN  uint32_t peerPort,
-                              NW_IN  uint32_t seqNum);
-
-NwRcT
-nwGtpv2cTrxnDelete( NW_INOUT NwGtpv2cTrxnT **ppTrxn);
-
-/**
- * Start timer to wait before pruginf a req tran for which response has been sent
- *
- * @param[in] thiz : Pointer to transaction
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cTrxnStartDulpicateRequestWaitTimer(NwGtpv2cTrxnT* thiz);
-
-/**
- * Start timer to wait for rsp of a req message
- *
- * @param[in] thiz : Pointer to transaction
- * @param[in] timeoutCallbackFunc : Timeout handler callback function.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cTrxnStartPeerRspWaitTimer(NwGtpv2cTrxnT* thiz);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_TRXN_H__ */
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTunnel.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTunnel.h
deleted file mode 100644
index 33c437ada70175db43a7b5f3a6c1121e70f55d25..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTunnel.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_TUNNEL_H__
-#define __NW_GTPV2C_TUNNEL_H__
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "tree.h"
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwError.h"
-#include "NwGtpv2c.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct NwGtpv2cStack;
-
-typedef struct NwGtpv2cTunnel {
-  uint32_t                        teid;
-  uint32_t                        ipv4AddrRemote;
-  NwGtpv2cUlpTunnelHandleT      hUlpTunnel;
-  RB_ENTRY (NwGtpv2cTunnel)     tunnelMapRbtNode;            /**< RB Tree Data Structure Node        */
-  struct NwGtpv2cTunnel*        next;
-} NwGtpv2cTunnelT;
-
-NwGtpv2cTunnelT*
-nwGtpv2cTunnelNew(struct NwGtpv2cStack *hStack, uint32_t teid, uint32_t peerIpv4Addr, NwGtpv2cUlpTunnelHandleT hUlpTunnel);
-
-NwRcT
-nwGtpv2cTunnelDelete(struct NwGtpv2cStack *pStack, NwGtpv2cTunnelT* thiz);
-
-NwRcT
-nwGtpv2cTunnelGetUlpTunnelHandle( NwGtpv2cTunnelT* thiz, NwGtpv2cUlpTunnelHandleT* phUlpTunnel);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/queue.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/queue.h
deleted file mode 100644
index 457220bc987403a6285553048aba34b3295d8a81..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/queue.h
+++ /dev/null
@@ -1,566 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- *  The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *  This product includes software developed by the University of
- *  California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *  @(#)queue.h 8.5 (Berkeley) 8/20/94
- * $FreeBSD: src/sys/sys/queue.h,v 1.32.2.6 2001/12/18 10:09:02 ru Exp $
- */
-
-#ifndef _SYS_QUEUE_H_
-#define _SYS_QUEUE_H_
-
-
-/*
- * This file defines five types of data structures: singly-linked lists,
- * singly-linked tail queues, lists, tail queues, and circular queues.
- *
- * A singly-linked list is headed by a single forward pointer. The elements
- * are singly linked for minimum space and pointer manipulation overhead at
- * the expense of O(n) removal for arbitrary elements. New elements can be
- * added to the list after an existing element or at the head of the list.
- * Elements being removed from the head of the list should use the explicit
- * macro for this purpose for tmpimum efficiency. A singly-linked list may
- * only be traversed in the forward direction.  Singly-linked lists are ideal
- * for applications with large datasets and few or no removals or for
- * implementing a LIFO queue.
- *
- * A singly-linked tail queue is headed by a pair of pointers, one to the
- * head of the list and the other to the tail of the list. The elements are
- * singly linked for minimum space and pointer manipulation overhead at the
- * expense of O(n) removal for arbitrary elements. New elements can be added
- * to the list after an existing element, at the head of the list, or at the
- * end of the list. Elements being removed from the head of the tail queue
- * should use the explicit macro for this purpose for tmpimum efficiency.
- * A singly-linked tail queue may only be traversed in the forward direction.
- * Singly-linked tail queues are ideal for applications with large datasets
- * and few or no removals or for implementing a FIFO queue.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may be traversed in either direction.
- *
- * A circle queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the list.
- * A circle queue may be traversed in either direction, but has a more
- * complex end of list detection.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- *
- *
- *      SLIST LIST  STAILQ  TAILQ CIRCLEQ
- * _HEAD    + + + + +
- * _HEAD_INITIALIZER  + + + + +
- * _ENTRY   + + + + +
- * _INIT    + + + + +
- * _EMPTY   + + + + +
- * _FIRST   + + + + +
- * _NEXT    + + + + +
- * _PREV    - - - + +
- * _LAST    - - + + +
- * _FOREACH   + + + + +
- * _FOREACH_REVERSE - - - + +
- * _INSERT_HEAD   + + + + +
- * _INSERT_BEFORE - + - + +
- * _INSERT_AFTER  + + + + +
- * _INSERT_TAIL   - - + + +
- * _REMOVE_HEAD   + - + - -
- * _REMOVE    + + + + +
- *
- */
-
-/*
- * Singly-linked List declarations.
- */
-#define SLIST_HEAD(name, type)            \
-struct name {               \
-  struct type *slh_first; /* first element */     \
-}
-
-#define SLIST_HEAD_INITIALIZER(head)          \
-  { NULL }
-
-#define SLIST_ENTRY(type)           \
-struct {                \
-  struct type *sle_next;  /* next element */      \
-}
-
-/*
- * Singly-linked List functions.
- */
-#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
-
-#define SLIST_FIRST(head) ((head)->slh_first)
-
-#define SLIST_FOREACH(var, head, field)         \
-  for ((var) = SLIST_FIRST((head));       \
-      (var);              \
-      (var) = SLIST_NEXT((var), field))
-
-#define SLIST_INIT(head) do {           \
-  SLIST_FIRST((head)) = NULL;         \
-} while (0)
-
-#define SLIST_INSERT_AFTER(slistelm, elm, field) do {     \
-  SLIST_NEXT((elm), field) = SLIST_NEXT((slistelm), field); \
-  SLIST_NEXT((slistelm), field) = (elm);        \
-} while (0)
-
-#define SLIST_INSERT_HEAD(head, elm, field) do {      \
-  SLIST_NEXT((elm), field) = SLIST_FIRST((head));     \
-  SLIST_FIRST((head)) = (elm);          \
-} while (0)
-
-#define SLIST_NEXT(elm, field)  ((elm)->field.sle_next)
-
-#define SLIST_REMOVE(head, elm, type, field) do {     \
-  if (SLIST_FIRST((head)) == (elm)) {       \
-    SLIST_REMOVE_HEAD((head), field);     \
-  }               \
-  else {                \
-    struct type *curelm = SLIST_FIRST((head));    \
-    while (SLIST_NEXT(curelm, field) != (elm))    \
-      curelm = SLIST_NEXT(curelm, field);   \
-    SLIST_NEXT(curelm, field) =       \
-        SLIST_NEXT(SLIST_NEXT(curelm, field), field); \
-  }               \
-} while (0)
-
-#define SLIST_REMOVE_HEAD(head, field) do {       \
-  SLIST_FIRST((head)) = SLIST_NEXT(SLIST_FIRST((head)), field); \
-} while (0)
-
-/*
- * Singly-linked Tail queue declarations.
- */
-#define STAILQ_HEAD(name, type)           \
-struct name {               \
-  struct type *stqh_first;/* first element */     \
-  struct type **stqh_last;/* addr of last next element */   \
-}
-
-#define STAILQ_HEAD_INITIALIZER(head)         \
-  { NULL, &(head).stqh_first }
-
-#define STAILQ_HEAD_INIT(head) do{                                      \
-  (head).stqh_first = NULL;                                             \
-  (head).stqh_last =  &(head).stqh_first;                               \
-}while(0)
-
-#define STAILQ_ENTRY(type)            \
-struct {                \
-  struct type *stqe_next; /* next element */      \
-}
-
-/*
- * Singly-linked Tail queue functions.
- */
-#define STAILQ_EMPTY(head)  ((head)->stqh_first == NULL)
-
-#define STAILQ_FIRST(head)  ((head)->stqh_first)
-
-#define STAILQ_FOREACH(var, head, field)        \
-  for((var) = STAILQ_FIRST((head));       \
-     (var);             \
-     (var) = STAILQ_NEXT((var), field))
-
-#define STAILQ_INIT(head) do {            \
-  STAILQ_FIRST((head)) = NULL;          \
-  (head)->stqh_last = &STAILQ_FIRST((head));      \
-} while (0)
-
-#define STAILQ_INSERT_AFTER(head, tqelm, elm, field) do {   \
-  if ((STAILQ_NEXT((elm), field) = STAILQ_NEXT((tqelm), field)) == NULL)\
-    (head)->stqh_last = &STAILQ_NEXT((elm), field);   \
-  STAILQ_NEXT((tqelm), field) = (elm);        \
-} while (0)
-
-#define STAILQ_INSERT_HEAD(head, elm, field) do {     \
-  if ((STAILQ_NEXT((elm), field) = STAILQ_FIRST((head))) == NULL) \
-    (head)->stqh_last = &STAILQ_NEXT((elm), field);   \
-  STAILQ_FIRST((head)) = (elm);         \
-} while (0)
-
-#define STAILQ_INSERT_TAIL(head, elm, field) do {     \
-  STAILQ_NEXT((elm), field) = NULL;       \
-  *(head)->stqh_last = (elm);         \
-  (head)->stqh_last = &STAILQ_NEXT((elm), field);     \
-} while (0)
-
-#define STAILQ_LAST(head, type, field)          \
-  (STAILQ_EMPTY(head) ?           \
-    NULL :              \
-          ((struct type *)          \
-    ((char *)((head)->stqh_last) - __offsetof(struct type, field))))
-
-#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
-
-#define STAILQ_REMOVE(head, elm, type, field) do {      \
-  if (STAILQ_FIRST((head)) == (elm)) {        \
-    STAILQ_REMOVE_HEAD(head, field);      \
-  }               \
-  else {                \
-    struct type *curelm = STAILQ_FIRST((head));   \
-    while (STAILQ_NEXT(curelm, field) != (elm))   \
-      curelm = STAILQ_NEXT(curelm, field);    \
-    if ((STAILQ_NEXT(curelm, field) =     \
-         STAILQ_NEXT(STAILQ_NEXT(curelm, field), field)) == NULL)\
-      (head)->stqh_last = &STAILQ_NEXT((curelm), field);\
-  }               \
-} while (0)
-
-#define STAILQ_REMOVE_HEAD(head, field) do {        \
-  if ((STAILQ_FIRST((head)) =         \
-       STAILQ_NEXT(STAILQ_FIRST((head)), field)) == NULL)   \
-    (head)->stqh_last = &STAILQ_FIRST((head));    \
-} while (0)
-
-#define STAILQ_REMOVE_HEAD_UNTIL(head, elm, field) do {     \
-  if ((STAILQ_FIRST((head)) = STAILQ_NEXT((elm), field)) == NULL) \
-    (head)->stqh_last = &STAILQ_FIRST((head));    \
-} while (0)
-
-/*
- * List declarations.
- */
-#define LIST_HEAD(name, type)           \
-struct name {               \
-  struct type *lh_first;  /* first element */     \
-}
-
-#define LIST_HEAD_INITIALIZER(head)         \
-  { NULL }
-
-#define LIST_ENTRY(type)            \
-struct {                \
-  struct type *le_next; /* next element */      \
-  struct type **le_prev;  /* address of previous next element */  \
-}
-
-/*
- * List functions.
- */
-
-#define LIST_EMPTY(head)  ((head)->lh_first == NULL)
-
-#define LIST_FIRST(head)  ((head)->lh_first)
-
-#define LIST_FOREACH(var, head, field)          \
-  for ((var) = LIST_FIRST((head));        \
-      (var);              \
-      (var) = LIST_NEXT((var), field))
-
-#define LIST_INIT(head) do {            \
-  LIST_FIRST((head)) = NULL;          \
-} while (0)
-
-#define LIST_INSERT_AFTER(listelm, elm, field) do {     \
-  if ((LIST_NEXT((elm), field) = LIST_NEXT((listelm), field)) != NULL)\
-    LIST_NEXT((listelm), field)->field.le_prev =    \
-        &LIST_NEXT((elm), field);       \
-  LIST_NEXT((listelm), field) = (elm);        \
-  (elm)->field.le_prev = &LIST_NEXT((listelm), field);    \
-} while (0)
-
-#define LIST_INSERT_BEFORE(listelm, elm, field) do {      \
-  (elm)->field.le_prev = (listelm)->field.le_prev;    \
-  LIST_NEXT((elm), field) = (listelm);        \
-  *(listelm)->field.le_prev = (elm);        \
-  (listelm)->field.le_prev = &LIST_NEXT((elm), field);    \
-} while (0)
-
-#define LIST_INSERT_HEAD(head, elm, field) do {       \
-  if ((LIST_NEXT((elm), field) = LIST_FIRST((head))) != NULL) \
-    LIST_FIRST((head))->field.le_prev = &LIST_NEXT((elm), field);\
-  LIST_FIRST((head)) = (elm);         \
-  (elm)->field.le_prev = &LIST_FIRST((head));     \
-} while (0)
-
-#define LIST_NEXT(elm, field) ((elm)->field.le_next)
-
-#define LIST_REMOVE(elm, field) do {          \
-  if (LIST_NEXT((elm), field) != NULL)        \
-    LIST_NEXT((elm), field)->field.le_prev =    \
-        (elm)->field.le_prev;       \
-  *(elm)->field.le_prev = LIST_NEXT((elm), field);    \
-} while (0)
-
-/*
- * Tail queue declarations.
- */
-#define TAILQ_HEAD(name, type)            \
-struct name {               \
-  struct type *tqh_first; /* first element */     \
-  struct type **tqh_last; /* addr of last next element */   \
-}
-
-#define TAILQ_HEAD_INITIALIZER(head)          \
-  { NULL, &(head).tqh_first }
-
-#define TAILQ_ENTRY(type)           \
-struct {                \
-  struct type *tqe_next;  /* next element */      \
-  struct type **tqe_prev; /* address of previous next element */  \
-}
-
-/*
- * Tail queue functions.
- */
-#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
-
-#define TAILQ_FIRST(head) ((head)->tqh_first)
-
-#define TAILQ_FOREACH(var, head, field)         \
-  for ((var) = TAILQ_FIRST((head));       \
-      (var);              \
-      (var) = TAILQ_NEXT((var), field))
-
-#define TAILQ_FOREACH_REVERSE(var, head, headname, field)   \
-  for ((var) = TAILQ_LAST((head), headname);      \
-      (var);              \
-      (var) = TAILQ_PREV((var), headname, field))
-
-#define TAILQ_INIT(head) do {           \
-  TAILQ_FIRST((head)) = NULL;         \
-  (head)->tqh_last = &TAILQ_FIRST((head));      \
-} while (0)
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do {    \
-  if ((TAILQ_NEXT((elm), field) = TAILQ_NEXT((listelm), field)) != NULL)\
-    TAILQ_NEXT((elm), field)->field.tqe_prev =    \
-        &TAILQ_NEXT((elm), field);        \
-  else                \
-    (head)->tqh_last = &TAILQ_NEXT((elm), field);   \
-  TAILQ_NEXT((listelm), field) = (elm);       \
-  (elm)->field.tqe_prev = &TAILQ_NEXT((listelm), field);    \
-} while (0)
-
-#define TAILQ_INSERT_BEFORE(listelm, elm, field) do {     \
-  (elm)->field.tqe_prev = (listelm)->field.tqe_prev;    \
-  TAILQ_NEXT((elm), field) = (listelm);       \
-  *(listelm)->field.tqe_prev = (elm);       \
-  (listelm)->field.tqe_prev = &TAILQ_NEXT((elm), field);    \
-} while (0)
-
-#define TAILQ_INSERT_HEAD(head, elm, field) do {      \
-  if ((TAILQ_NEXT((elm), field) = TAILQ_FIRST((head))) != NULL) \
-    TAILQ_FIRST((head))->field.tqe_prev =     \
-        &TAILQ_NEXT((elm), field);        \
-  else                \
-    (head)->tqh_last = &TAILQ_NEXT((elm), field);   \
-  TAILQ_FIRST((head)) = (elm);          \
-  (elm)->field.tqe_prev = &TAILQ_FIRST((head));     \
-} while (0)
-
-#define TAILQ_INSERT_TAIL(head, elm, field) do {      \
-  TAILQ_NEXT((elm), field) = NULL;        \
-  (elm)->field.tqe_prev = (head)->tqh_last;     \
-  *(head)->tqh_last = (elm);          \
-  (head)->tqh_last = &TAILQ_NEXT((elm), field);     \
-} while (0)
-
-#define TAILQ_LAST(head, headname)          \
-  (*(((struct headname *)((head)->tqh_last))->tqh_last))
-
-#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
-
-#define TAILQ_PREV(elm, headname, field)        \
-  (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-
-#define TAILQ_REMOVE(head, elm, field) do {       \
-  if ((TAILQ_NEXT((elm), field)) != NULL)       \
-    TAILQ_NEXT((elm), field)->field.tqe_prev =    \
-        (elm)->field.tqe_prev;        \
-  else                \
-    (head)->tqh_last = (elm)->field.tqe_prev;   \
-  *(elm)->field.tqe_prev = TAILQ_NEXT((elm), field);    \
-} while (0)
-
-/*
- * Circular queue declarations.
- */
-#define CIRCLEQ_HEAD(name, type)          \
-struct name {               \
-  struct type *cqh_first;   /* first element */   \
-  struct type *cqh_last;    /* last element */    \
-}
-
-#define CIRCLEQ_HEAD_INITIALIZER(head)          \
-  { (void *)&(head), (void *)&(head) }
-
-#define CIRCLEQ_ENTRY(type)           \
-struct {                \
-  struct type *cqe_next;    /* next element */    \
-  struct type *cqe_prev;    /* previous element */    \
-}
-
-/*
- * Circular queue functions.
- */
-#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head))
-
-#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
-
-#define CIRCLEQ_FOREACH(var, head, field)       \
-  for ((var) = CIRCLEQ_FIRST((head));       \
-      (var) != (void *)(head);          \
-      (var) = CIRCLEQ_NEXT((var), field))
-
-#define CIRCLEQ_FOREACH_REVERSE(var, head, field)     \
-  for ((var) = CIRCLEQ_LAST((head));        \
-      (var) != (void *)(head);          \
-      (var) = CIRCLEQ_PREV((var), field))
-
-#define CIRCLEQ_INIT(head) do {           \
-  CIRCLEQ_FIRST((head)) = (void *)(head);       \
-  CIRCLEQ_LAST((head)) = (void *)(head);        \
-} while (0)
-
-#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {    \
-  CIRCLEQ_NEXT((elm), field) = CIRCLEQ_NEXT((listelm), field);  \
-  CIRCLEQ_PREV((elm), field) = (listelm);       \
-  if (CIRCLEQ_NEXT((listelm), field) == (void *)(head))   \
-    CIRCLEQ_LAST((head)) = (elm);       \
-  else                \
-    CIRCLEQ_PREV(CIRCLEQ_NEXT((listelm), field), field) = (elm);\
-  CIRCLEQ_NEXT((listelm), field) = (elm);       \
-} while (0)
-
-#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {   \
-  CIRCLEQ_NEXT((elm), field) = (listelm);       \
-  CIRCLEQ_PREV((elm), field) = CIRCLEQ_PREV((listelm), field);  \
-  if (CIRCLEQ_PREV((listelm), field) == (void *)(head))   \
-    CIRCLEQ_FIRST((head)) = (elm);        \
-  else                \
-    CIRCLEQ_NEXT(CIRCLEQ_PREV((listelm), field), field) = (elm);\
-  CIRCLEQ_PREV((listelm), field) = (elm);       \
-} while (0)
-
-#define CIRCLEQ_INSERT_HEAD(head, elm, field) do {      \
-  CIRCLEQ_NEXT((elm), field) = CIRCLEQ_FIRST((head));   \
-  CIRCLEQ_PREV((elm), field) = (void *)(head);      \
-  if (CIRCLEQ_LAST((head)) == (void *)(head))     \
-    CIRCLEQ_LAST((head)) = (elm);       \
-  else                \
-    CIRCLEQ_PREV(CIRCLEQ_FIRST((head)), field) = (elm); \
-  CIRCLEQ_FIRST((head)) = (elm);          \
-} while (0)
-
-#define CIRCLEQ_INSERT_TAIL(head, elm, field) do {      \
-  CIRCLEQ_NEXT((elm), field) = (void *)(head);      \
-  CIRCLEQ_PREV((elm), field) = CIRCLEQ_LAST((head));    \
-  if (CIRCLEQ_FIRST((head)) == (void *)(head))      \
-    CIRCLEQ_FIRST((head)) = (elm);        \
-  else                \
-    CIRCLEQ_NEXT(CIRCLEQ_LAST((head)), field) = (elm);  \
-  CIRCLEQ_LAST((head)) = (elm);         \
-} while (0)
-
-#define CIRCLEQ_LAST(head)  ((head)->cqh_last)
-
-#define CIRCLEQ_NEXT(elm,field) ((elm)->field.cqe_next)
-
-#define CIRCLEQ_PREV(elm,field) ((elm)->field.cqe_prev)
-
-#define CIRCLEQ_REMOVE(head, elm, field) do {       \
-  if (CIRCLEQ_NEXT((elm), field) == (void *)(head))   \
-    CIRCLEQ_LAST((head)) = CIRCLEQ_PREV((elm), field);  \
-  else                \
-    CIRCLEQ_PREV(CIRCLEQ_NEXT((elm), field), field) = \
-        CIRCLEQ_PREV((elm), field);       \
-  if (CIRCLEQ_PREV((elm), field) == (void *)(head))   \
-    CIRCLEQ_FIRST((head)) = CIRCLEQ_NEXT((elm), field); \
-  else                \
-    CIRCLEQ_NEXT(CIRCLEQ_PREV((elm), field), field) = \
-        CIRCLEQ_NEXT((elm), field);       \
-} while (0)
-
-#ifdef _KERNEL
-
-/*
- * XXX insque() and remque() are an old way of handling certain queues.
- * They bogusly assumes that all queue heads look alike.
- */
-
-struct quehead {
-  struct quehead *qh_link;
-  struct quehead *qh_rlink;
-};
-
-#ifdef  __GNUC__
-
-static __inline void
-insque(void *a, void *b)
-{
-  struct quehead *element = (struct quehead *)a,
-                  *head = (struct quehead *)b;
-
-  element->qh_link = head->qh_link;
-  element->qh_rlink = head;
-  head->qh_link = element;
-  element->qh_link->qh_rlink = element;
-}
-
-static __inline void
-remque(void *a)
-{
-  struct quehead *element = (struct quehead *)a;
-
-  element->qh_link->qh_rlink = element->qh_rlink;
-  element->qh_rlink->qh_link = element->qh_link;
-  element->qh_rlink = 0;
-}
-
-#else /* !__GNUC__ */
-
-void  insque __P((void *a, void *b));
-void  remque __P((void *a));
-
-#endif /* __GNUC__ */
-
-#endif /* _KERNEL */
-
-#endif /* !_SYS_QUEUE_H_ */
-
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/tree.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/tree.h
deleted file mode 100644
index 351df9dfc5a0bd7f480b1ffd907eac9890f0a62c..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/tree.h
+++ /dev/null
@@ -1,678 +0,0 @@
-/*
- * Copyright 2002 Niels Provos <provos@citi.umich.edu>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _SYS_TREE_H_
-#define _SYS_TREE_H_
-
-/*
- * This file defines data structures for different types of trees:
- * splay trees and red-black trees.
- *
- * A splay tree is a self-organizing data structure.  Every operation
- * on the tree causes a splay to happen.  The splay moves the requested
- * node to the root of the tree and partly rebalances it.
- *
- * This has the benefit that request locality causes faster lookups as
- * the requested nodes move to the top of the tree.  On the other hand,
- * every lookup causes memory writes.
- *
- * The Balance Theorem bounds the total access time for m operations
- * and n inserts on an initially empty tree as O((m + n)lg n).  The
- * amortized cost for a sequence of m accesses to a splay tree is O(lg n);
- *
- * A red-black tree is a binary search tree with the node color as an
- * extra attribute.  It fulfills a set of conditions:
- *  - every search path from the root to a leaf consists of the
- *    same number of black nodes,
- *  - each red node (except for the root) has a black parent,
- *  - each leaf node is black.
- *
- * Every operation on a red-black tree is bounded as O(lg n).
- * The maximum height of a red-black tree is 2lg (n+1).
- */
-
-#define SPLAY_HEAD(name, type)            \
-struct name {               \
-  struct type *sph_root; /* root of the tree */     \
-}
-
-#define SPLAY_INITIALIZER(root)           \
-  { NULL }
-
-#define SPLAY_INIT(root) do {           \
-  (root)->sph_root = NULL;          \
-} while (0)
-
-#define SPLAY_ENTRY(type)           \
-struct {                \
-  struct type *spe_left; /* left element */     \
-  struct type *spe_right; /* right element */     \
-}
-
-#define SPLAY_LEFT(elm, field)    (elm)->field.spe_left
-#define SPLAY_RIGHT(elm, field)   (elm)->field.spe_right
-#define SPLAY_ROOT(head)    (head)->sph_root
-#define SPLAY_EMPTY(head)   (SPLAY_ROOT(head) == NULL)
-
-/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */
-#define SPLAY_ROTATE_RIGHT(head, tmp, field) do {     \
-  SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field);  \
-  SPLAY_RIGHT(tmp, field) = (head)->sph_root;     \
-  (head)->sph_root = tmp;           \
-} while (0)
-
-#define SPLAY_ROTATE_LEFT(head, tmp, field) do {      \
-  SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field);  \
-  SPLAY_LEFT(tmp, field) = (head)->sph_root;      \
-  (head)->sph_root = tmp;           \
-} while (0)
-
-#define SPLAY_LINKLEFT(head, tmp, field) do {       \
-  SPLAY_LEFT(tmp, field) = (head)->sph_root;      \
-  tmp = (head)->sph_root;           \
-  (head)->sph_root = SPLAY_LEFT((head)->sph_root, field);   \
-} while (0)
-
-#define SPLAY_LINKRIGHT(head, tmp, field) do {        \
-  SPLAY_RIGHT(tmp, field) = (head)->sph_root;     \
-  tmp = (head)->sph_root;           \
-  (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);  \
-} while (0)
-
-#define SPLAY_ASSEMBLE(head, node, left, right, field) do {   \
-  SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \
-  SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field);\
-  SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \
-  SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \
-} while (0)
-
-/* Generates prototypes and inline functions */
-
-#define SPLAY_PROTOTYPE(name, type, field, cmp)       \
-void name##_SPLAY(struct name *, struct type *);      \
-void name##_SPLAY_MINMAX(struct name *, int);       \
-struct type *name##_SPLAY_INSERT(struct name *, struct type *);   \
-struct type *name##_SPLAY_REMOVE(struct name *, struct type *);   \
-                  \
-/* Finds the node with the same key as elm */       \
-static __inline struct type *           \
-name##_SPLAY_FIND(struct name *head, struct type *elm)      \
-{                 \
-  if (SPLAY_EMPTY(head))            \
-    return(NULL);           \
-  name##_SPLAY(head, elm);          \
-  if ((cmp)(elm, (head)->sph_root) == 0)        \
-    return (head->sph_root);        \
-  return (NULL);              \
-}                 \
-                  \
-static __inline struct type *           \
-name##_SPLAY_NEXT(struct name *head, struct type *elm)      \
-{                 \
-  name##_SPLAY(head, elm);          \
-  if (SPLAY_RIGHT(elm, field) != NULL) {        \
-    elm = SPLAY_RIGHT(elm, field);        \
-    while (SPLAY_LEFT(elm, field) != NULL) {    \
-      elm = SPLAY_LEFT(elm, field);     \
-    }             \
-  } else                \
-    elm = NULL;           \
-  return (elm);             \
-}                 \
-                  \
-static __inline struct type *           \
-name##_SPLAY_MIN_MAX(struct name *head, int val)      \
-{                 \
-  name##_SPLAY_MINMAX(head, val);         \
-        return (SPLAY_ROOT(head));          \
-}
-
-/* Main splay operation.
- * Moves node close to the key of elm to top
- */
-#define SPLAY_GENERATE(name, type, field, cmp)        \
-struct type *               \
-name##_SPLAY_INSERT(struct name *head, struct type *elm)    \
-{                 \
-    if (SPLAY_EMPTY(head)) {            \
-      SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL;  \
-    } else {                \
-      int __comp;             \
-      name##_SPLAY(head, elm);          \
-      __comp = (cmp)(elm, (head)->sph_root);      \
-      if(__comp < 0) {            \
-        SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\
-        SPLAY_RIGHT(elm, field) = (head)->sph_root;   \
-        SPLAY_LEFT((head)->sph_root, field) = NULL;   \
-      } else if (__comp > 0) {          \
-        SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\
-        SPLAY_LEFT(elm, field) = (head)->sph_root;    \
-        SPLAY_RIGHT((head)->sph_root, field) = NULL;  \
-      } else              \
-        return ((head)->sph_root);        \
-    }                 \
-    (head)->sph_root = (elm);           \
-    return (NULL);              \
-}                 \
-                  \
-struct type *               \
-name##_SPLAY_REMOVE(struct name *head, struct type *elm)    \
-{                 \
-  struct type *__tmp;           \
-  if (SPLAY_EMPTY(head))            \
-    return (NULL);            \
-  name##_SPLAY(head, elm);          \
-  if ((cmp)(elm, (head)->sph_root) == 0) {      \
-    if (SPLAY_LEFT((head)->sph_root, field) == NULL) {  \
-      (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\
-    } else {            \
-      __tmp = SPLAY_RIGHT((head)->sph_root, field); \
-      (head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\
-      name##_SPLAY(head, elm);      \
-      SPLAY_RIGHT((head)->sph_root, field) = __tmp; \
-    }             \
-    return (elm);           \
-  }               \
-  return (NULL);              \
-}                 \
-                  \
-void                  \
-name##_SPLAY(struct name *head, struct type *elm)     \
-{                 \
-  struct type __node, *__left, *__right, *__tmp;      \
-  int __comp;             \
-\
-  SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\
-  __left = __right = &__node;         \
-\
-  while ((__comp = (cmp)(elm, (head)->sph_root))) {   \
-    if (__comp < 0) {         \
-      __tmp = SPLAY_LEFT((head)->sph_root, field);  \
-      if (__tmp == NULL)        \
-        break;          \
-      if ((cmp)(elm, __tmp) < 0){     \
-        SPLAY_ROTATE_RIGHT(head, __tmp, field); \
-        if (SPLAY_LEFT((head)->sph_root, field) == NULL)\
-          break;        \
-      }           \
-      SPLAY_LINKLEFT(head, __right, field);   \
-    } else if (__comp > 0) {        \
-      __tmp = SPLAY_RIGHT((head)->sph_root, field); \
-      if (__tmp == NULL)        \
-        break;          \
-      if ((cmp)(elm, __tmp) > 0){     \
-        SPLAY_ROTATE_LEFT(head, __tmp, field);  \
-        if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\
-          break;        \
-      }           \
-      SPLAY_LINKRIGHT(head, __left, field);   \
-    }             \
-  }               \
-  SPLAY_ASSEMBLE(head, &__node, __left, __right, field);    \
-}                 \
-                  \
-/* Splay with either the minimum or the maximum element     \
- * Used to find minimum or maximum element in tree.     \
- */                 \
-void name##_SPLAY_MINMAX(struct name *head, int __comp) \
-{                 \
-  struct type __node, *__left, *__right, *__tmp;      \
-\
-  SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\
-  __left = __right = &__node;         \
-\
-  while (1) {             \
-    if (__comp < 0) {         \
-      __tmp = SPLAY_LEFT((head)->sph_root, field);  \
-      if (__tmp == NULL)        \
-        break;          \
-      if (__comp < 0){        \
-        SPLAY_ROTATE_RIGHT(head, __tmp, field); \
-        if (SPLAY_LEFT((head)->sph_root, field) == NULL)\
-          break;        \
-      }           \
-      SPLAY_LINKLEFT(head, __right, field);   \
-    } else if (__comp > 0) {        \
-      __tmp = SPLAY_RIGHT((head)->sph_root, field); \
-      if (__tmp == NULL)        \
-        break;          \
-      if (__comp > 0) {       \
-        SPLAY_ROTATE_LEFT(head, __tmp, field);  \
-        if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\
-          break;        \
-      }           \
-      SPLAY_LINKRIGHT(head, __left, field);   \
-    }             \
-  }               \
-  SPLAY_ASSEMBLE(head, &__node, __left, __right, field);    \
-}
-
-#define SPLAY_NEGINF  -1
-#define SPLAY_INF 1
-
-#define SPLAY_INSERT(name, x, y)  name##_SPLAY_INSERT(x, y)
-#define SPLAY_REMOVE(name, x, y)  name##_SPLAY_REMOVE(x, y)
-#define SPLAY_FIND(name, x, y)    name##_SPLAY_FIND(x, y)
-#define SPLAY_NEXT(name, x, y)    name##_SPLAY_NEXT(x, y)
-#define SPLAY_MIN(name, x)    (SPLAY_EMPTY(x) ? NULL  \
-          : name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF))
-#define SPLAY_MAX(name, x)    (SPLAY_EMPTY(x) ? NULL  \
-          : name##_SPLAY_MIN_MAX(x, SPLAY_INF))
-
-#define SPLAY_FOREACH(x, name, head)          \
-  for ((x) = SPLAY_MIN(name, head);       \
-       (x) != NULL;           \
-       (x) = SPLAY_NEXT(name, head, x))
-
-/* Macros that define a red-back tree */
-#define RB_HEAD(name, type)           \
-struct name {               \
-  struct type *rbh_root; /* root of the tree */     \
-}
-
-#define RB_INITIALIZER(root)            \
-  { NULL }
-
-#define RB_INIT(root) do {            \
-  (root)->rbh_root = NULL;          \
-} while (0)
-
-#define RB_BLACK  0
-#define RB_RED    1
-#define RB_ENTRY(type)              \
-struct {                \
-  struct type *rbe_left;    /* left element */    \
-  struct type *rbe_right;   /* right element */   \
-  struct type *rbe_parent;  /* parent element */    \
-  int rbe_color;      /* node color */    \
-}
-
-#define RB_LEFT(elm, field)   (elm)->field.rbe_left
-#define RB_RIGHT(elm, field)    (elm)->field.rbe_right
-#define RB_PARENT(elm, field)   (elm)->field.rbe_parent
-#define RB_COLOR(elm, field)    (elm)->field.rbe_color
-#define RB_ROOT(head)     (head)->rbh_root
-#define RB_EMPTY(head)      (RB_ROOT(head) == NULL)
-
-#define RB_SET(elm, parent, field) do {         \
-  RB_PARENT(elm, field) = parent;         \
-  RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL;    \
-  RB_COLOR(elm, field) = RB_RED;          \
-} while (0)
-
-#define RB_SET_BLACKRED(black, red, field) do {       \
-  RB_COLOR(black, field) = RB_BLACK;        \
-  RB_COLOR(red, field) = RB_RED;          \
-} while (0)
-
-#ifndef RB_AUGMENT
-#define RB_AUGMENT(x)
-#endif
-
-#define RB_ROTATE_LEFT(head, elm, tmp, field) do {      \
-  (tmp) = RB_RIGHT(elm, field);         \
-  if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field))) {   \
-    RB_PARENT(RB_LEFT(tmp, field), field) = (elm);    \
-  }               \
-  RB_AUGMENT(elm);            \
-  if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) {    \
-    if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
-      RB_LEFT(RB_PARENT(elm, field), field) = (tmp);  \
-    else              \
-      RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
-  } else                \
-    (head)->rbh_root = (tmp);       \
-  RB_LEFT(tmp, field) = (elm);          \
-  RB_PARENT(elm, field) = (tmp);          \
-  RB_AUGMENT(tmp);            \
-  if ((RB_PARENT(tmp, field)))          \
-    RB_AUGMENT(RB_PARENT(tmp, field));      \
-} while (0)
-
-#define RB_ROTATE_RIGHT(head, elm, tmp, field) do {     \
-  (tmp) = RB_LEFT(elm, field);          \
-  if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field))) {   \
-    RB_PARENT(RB_RIGHT(tmp, field), field) = (elm);   \
-  }               \
-  RB_AUGMENT(elm);            \
-  if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) {    \
-    if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
-      RB_LEFT(RB_PARENT(elm, field), field) = (tmp);  \
-    else              \
-      RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
-  } else                \
-    (head)->rbh_root = (tmp);       \
-  RB_RIGHT(tmp, field) = (elm);         \
-  RB_PARENT(elm, field) = (tmp);          \
-  RB_AUGMENT(tmp);            \
-  if ((RB_PARENT(tmp, field)))          \
-    RB_AUGMENT(RB_PARENT(tmp, field));      \
-} while (0)
-
-/* Generates prototypes and inline functions */
-#define RB_PROTOTYPE(name, type, field, cmp)        \
-void name##_RB_INSERT_COLOR(struct name *, struct type *);  \
-void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\
-struct type *name##_RB_REMOVE(struct name *, struct type *);    \
-struct type *name##_RB_INSERT(struct name *, struct type *);    \
-struct type *name##_RB_FIND(struct name *, struct type *);    \
-struct type *name##_RB_NEXT(struct type *);       \
-struct type *name##_RB_MINMAX(struct name *, int);      \
-                  \
- 
-/* Main rb operation.
- * Moves node close to the key of elm to top
- */
-#define RB_GENERATE(name, type, field, cmp)       \
-void                  \
-name##_RB_INSERT_COLOR(struct name *head, struct type *elm)   \
-{                 \
-  struct type *parent, *gparent, *tmp;        \
-  while ((parent = RB_PARENT(elm, field)) &&      \
-      RB_COLOR(parent, field) == RB_RED) {      \
-    gparent = RB_PARENT(parent, field);     \
-    if (parent == RB_LEFT(gparent, field)) {    \
-      tmp = RB_RIGHT(gparent, field);     \
-      if (tmp && RB_COLOR(tmp, field) == RB_RED) {  \
-        RB_COLOR(tmp, field) = RB_BLACK;  \
-        RB_SET_BLACKRED(parent, gparent, field);\
-        elm = gparent;        \
-        continue;       \
-      }           \
-      if (RB_RIGHT(parent, field) == elm) {   \
-        RB_ROTATE_LEFT(head, parent, tmp, field);\
-        tmp = parent;       \
-        parent = elm;       \
-        elm = tmp;        \
-      }           \
-      RB_SET_BLACKRED(parent, gparent, field);  \
-      RB_ROTATE_RIGHT(head, gparent, tmp, field); \
-    } else {            \
-      tmp = RB_LEFT(gparent, field);      \
-      if (tmp && RB_COLOR(tmp, field) == RB_RED) {  \
-        RB_COLOR(tmp, field) = RB_BLACK;  \
-        RB_SET_BLACKRED(parent, gparent, field);\
-        elm = gparent;        \
-        continue;       \
-      }           \
-      if (RB_LEFT(parent, field) == elm) {    \
-        RB_ROTATE_RIGHT(head, parent, tmp, field);\
-        tmp = parent;       \
-        parent = elm;       \
-        elm = tmp;        \
-      }           \
-      RB_SET_BLACKRED(parent, gparent, field);  \
-      RB_ROTATE_LEFT(head, gparent, tmp, field);  \
-    }             \
-  }               \
-  RB_COLOR(head->rbh_root, field) = RB_BLACK;     \
-}                 \
-                  \
-void                  \
-name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm) \
-{                 \
-  struct type *tmp;           \
-  while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \
-      elm != RB_ROOT(head)) {         \
-    if (RB_LEFT(parent, field) == elm) {      \
-      tmp = RB_RIGHT(parent, field);      \
-      if (RB_COLOR(tmp, field) == RB_RED) {   \
-        RB_SET_BLACKRED(tmp, parent, field);  \
-        RB_ROTATE_LEFT(head, parent, tmp, field);\
-        tmp = RB_RIGHT(parent, field);    \
-      }           \
-      if ((RB_LEFT(tmp, field) == NULL ||   \
-          RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\
-          (RB_RIGHT(tmp, field) == NULL ||    \
-          RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\
-        RB_COLOR(tmp, field) = RB_RED;    \
-        elm = parent;       \
-        parent = RB_PARENT(elm, field);   \
-      } else {          \
-        if (RB_RIGHT(tmp, field) == NULL || \
-            RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK) {\
-          struct type *oleft;   \
-          if ((oleft = RB_LEFT(tmp, field)))\
-            RB_COLOR(oleft, field) = RB_BLACK;\
-          RB_COLOR(tmp, field) = RB_RED;  \
-          RB_ROTATE_RIGHT(head, tmp, oleft, field);\
-          tmp = RB_RIGHT(parent, field);  \
-        }         \
-        RB_COLOR(tmp, field) = RB_COLOR(parent, field);\
-        RB_COLOR(parent, field) = RB_BLACK; \
-        if (RB_RIGHT(tmp, field))   \
-          RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK;\
-        RB_ROTATE_LEFT(head, parent, tmp, field);\
-        elm = RB_ROOT(head);      \
-        break;          \
-      }           \
-    } else {            \
-      tmp = RB_LEFT(parent, field);     \
-      if (RB_COLOR(tmp, field) == RB_RED) {   \
-        RB_SET_BLACKRED(tmp, parent, field);  \
-        RB_ROTATE_RIGHT(head, parent, tmp, field);\
-        tmp = RB_LEFT(parent, field);   \
-      }           \
-      if ((RB_LEFT(tmp, field) == NULL ||   \
-          RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\
-          (RB_RIGHT(tmp, field) == NULL ||    \
-          RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\
-        RB_COLOR(tmp, field) = RB_RED;    \
-        elm = parent;       \
-        parent = RB_PARENT(elm, field);   \
-      } else {          \
-        if (RB_LEFT(tmp, field) == NULL ||  \
-            RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) {\
-          struct type *oright;    \
-          if ((oright = RB_RIGHT(tmp, field)))\
-            RB_COLOR(oright, field) = RB_BLACK;\
-          RB_COLOR(tmp, field) = RB_RED;  \
-          RB_ROTATE_LEFT(head, tmp, oright, field);\
-          tmp = RB_LEFT(parent, field); \
-        }         \
-        RB_COLOR(tmp, field) = RB_COLOR(parent, field);\
-        RB_COLOR(parent, field) = RB_BLACK; \
-        if (RB_LEFT(tmp, field))    \
-          RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK;\
-        RB_ROTATE_RIGHT(head, parent, tmp, field);\
-        elm = RB_ROOT(head);      \
-        break;          \
-      }           \
-    }             \
-  }               \
-  if (elm)              \
-    RB_COLOR(elm, field) = RB_BLACK;      \
-}                 \
-                  \
-struct type *               \
-name##_RB_REMOVE(struct name *head, struct type *elm)     \
-{                 \
-  struct type *child, *parent, *old = elm;      \
-  int color;              \
-  if (RB_LEFT(elm, field) == NULL)        \
-    child = RB_RIGHT(elm, field);       \
-  else if (RB_RIGHT(elm, field) == NULL)        \
-    child = RB_LEFT(elm, field);        \
-  else {                \
-    struct type *left;          \
-    elm = RB_RIGHT(elm, field);       \
-    while ((left = RB_LEFT(elm, field)))      \
-      elm = left;         \
-    child = RB_RIGHT(elm, field);       \
-    parent = RB_PARENT(elm, field);       \
-    color = RB_COLOR(elm, field);       \
-    if (child)            \
-      RB_PARENT(child, field) = parent;   \
-    if (parent) {           \
-      if (RB_LEFT(parent, field) == elm)    \
-        RB_LEFT(parent, field) = child;   \
-      else            \
-        RB_RIGHT(parent, field) = child;  \
-      RB_AUGMENT(parent);       \
-    } else              \
-      RB_ROOT(head) = child;        \
-    if (RB_PARENT(elm, field) == old)     \
-      parent = elm;         \
-    (elm)->field = (old)->field;        \
-    if (RB_PARENT(old, field)) {        \
-      if (RB_LEFT(RB_PARENT(old, field), field) == old)\
-        RB_LEFT(RB_PARENT(old, field), field) = elm;\
-      else            \
-        RB_RIGHT(RB_PARENT(old, field), field) = elm;\
-      RB_AUGMENT(RB_PARENT(old, field));    \
-    } else              \
-      RB_ROOT(head) = elm;        \
-    RB_PARENT(RB_LEFT(old, field), field) = elm;    \
-    if (RB_RIGHT(old, field))       \
-      RB_PARENT(RB_RIGHT(old, field), field) = elm; \
-    if (parent) {           \
-      left = parent;          \
-      do {            \
-        RB_AUGMENT(left);     \
-      } while ((left = RB_PARENT(left, field)));  \
-    }             \
-    goto color;           \
-  }               \
-  parent = RB_PARENT(elm, field);         \
-  color = RB_COLOR(elm, field);         \
-  if (child)              \
-    RB_PARENT(child, field) = parent;     \
-  if (parent) {             \
-    if (RB_LEFT(parent, field) == elm)      \
-      RB_LEFT(parent, field) = child;     \
-    else              \
-      RB_RIGHT(parent, field) = child;    \
-    RB_AUGMENT(parent);         \
-  } else                \
-    RB_ROOT(head) = child;          \
-color:                  \
-  if (color == RB_BLACK)            \
-    name##_RB_REMOVE_COLOR(head, parent, child);    \
-  return (old);             \
-}                 \
-                  \
-/* Inserts a node into the RB tree */         \
-struct type *               \
-name##_RB_INSERT(struct name *head, struct type *elm)     \
-{                 \
-  struct type *tmp;           \
-  struct type *parent = NULL;         \
-  int comp = 0;             \
-  tmp = RB_ROOT(head);            \
-  while (tmp) {             \
-    parent = tmp;           \
-    comp = (cmp)(elm, parent);        \
-    if (comp < 0)           \
-      tmp = RB_LEFT(tmp, field);      \
-    else if (comp > 0)          \
-      tmp = RB_RIGHT(tmp, field);     \
-    else              \
-      return (tmp);         \
-  }               \
-  RB_SET(elm, parent, field);         \
-  if (parent != NULL) {           \
-    if (comp < 0)           \
-      RB_LEFT(parent, field) = elm;     \
-    else              \
-      RB_RIGHT(parent, field) = elm;      \
-    RB_AUGMENT(parent);         \
-  } else                \
-  {                                                                     \
-    RB_ROOT(head) = elm;          \
-  }                                                                     \
-  name##_RB_INSERT_COLOR(head, elm);        \
-  return (NULL);              \
-}                 \
-                  \
-/* Finds the node with the same key as elm */       \
-struct type *               \
-name##_RB_FIND(struct name *head, struct type *elm)     \
-{                 \
-  struct type *tmp = RB_ROOT(head);       \
-  int comp;             \
-  while (tmp) {             \
-    comp = cmp(elm, tmp);         \
-    if (comp < 0)           \
-      tmp = RB_LEFT(tmp, field);      \
-    else if (comp > 0)          \
-      tmp = RB_RIGHT(tmp, field);     \
-    else              \
-      return (tmp);         \
-  }               \
-  return (NULL);              \
-}                 \
-                  \
-struct type *               \
-name##_RB_NEXT(struct type *elm)          \
-{                 \
-  if (RB_RIGHT(elm, field)) {         \
-    elm = RB_RIGHT(elm, field);       \
-    while (RB_LEFT(elm, field))       \
-      elm = RB_LEFT(elm, field);      \
-  } else {              \
-    if (RB_PARENT(elm, field) &&        \
-        (elm == RB_LEFT(RB_PARENT(elm, field), field))) \
-      elm = RB_PARENT(elm, field);      \
-    else {              \
-      while (RB_PARENT(elm, field) &&     \
-          (elm == RB_RIGHT(RB_PARENT(elm, field), field)))\
-        elm = RB_PARENT(elm, field);    \
-      elm = RB_PARENT(elm, field);      \
-    }             \
-  }               \
-  return (elm);             \
-}                 \
-                  \
-struct type *               \
-name##_RB_MINMAX(struct name *head, int val)        \
-{                 \
-  struct type *tmp = RB_ROOT(head);       \
-  struct type *parent = NULL;         \
-  while (tmp) {             \
-    parent = tmp;           \
-    if (val < 0)            \
-      tmp = RB_LEFT(tmp, field);      \
-    else              \
-      tmp = RB_RIGHT(tmp, field);     \
-  }               \
-  return (parent);            \
-}
-
-#define RB_NEGINF -1
-#define RB_INF  1
-
-#define RB_INSERT(name, x, y) name##_RB_INSERT(x, y)
-#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y)
-#define RB_FIND(name, x, y) name##_RB_FIND(x, y)
-#define RB_NEXT(name, x, y) name##_RB_NEXT(y)
-#define RB_MIN(name, x)   name##_RB_MINMAX(x, RB_NEGINF)
-#define RB_MAX(name, x)   name##_RB_MINMAX(x, RB_INF)
-
-#define RB_FOREACH(x, name, head)         \
-  for ((x) = RB_MIN(name, head);          \
-       (x) != NULL;           \
-       (x) = name##_RB_NEXT(x))
-
-#endif  /* _SYS_TREE_H_ */
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwError.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwError.h
deleted file mode 100644
index 6389bedcb2418c5b91534b8d52adec758e7de2ce..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwError.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-
-#ifndef __NW_ERROR_H__
-#define __NW_ERROR_H__
-
-/**
- * @file NwError.h
- * @brief This header file contains return error code type definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-
-  NW_OK                 = 0x00000000,
-  NW_GTPV2C_IE_MISSING,
-  NW_GTPV2C_IE_INCORRECT,
-  NW_GTPV2C_MANDATORY_IE_DUPLICATE,
-  NW_GTPV2C_CONDITIONAL_IE_MISSING,
-  NW_GTPV2C_MANDATORY_IE_MISSING,
-  NW_GTPV2C_MSG_MALFORMED,
-  NW_FAILURE            = 0xFFFFFFFE
-}
-NwRcT;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_ERROR_CODE_H__ */
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2c.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2c.h
deleted file mode 100644
index e3178fb11bd34213364803fcf8dd6a66c776bffa..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2c.h
+++ /dev/null
@@ -1,576 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_H__
-#define __NW_GTPV2C_H__
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include "NwTypes.h"
-#include "NwError.h"
-
-/** @mainpage
-
-  @section intro Introduction
-
-  nw-gtpv2c library is a free and open source control plane implementation of GPRS
-  Tunneling protocol v2 also known as eGTPc as per 3GPP TS29274-930.
-  The library is published under BSD three clause license.
-
-  @section scope Scope
-
-  The stack library also does basic tasks like packet/header validation,
-  retransmission and message parsing.
-
-  @section design Design Philosophy
-
-  The stack is fully-asynchronous in design for compatibility with event loop
-  mechanisms such as select, poll, etc. and can also be used for multi-threaded
-  applications. It should compile on Linux, *BSD, Mac OS X, Solaris and Windows
-  (cygwin).
-
-  The stack is designed for high portability not only for the hardware and OS it will
-  run on but also for the application software that uses it. The stack doesn't mandate
-  conditions on the user application architecture or design. The stack relies on
-  the user application for infrastructure utilities such as I/O, timers,
-  logs and multithreading. This realized by using callback mechanisms and enables the
-  stack library to seamlessly integrate without or very little changes to the existing
-  application framework.
-
-  The stack architecture builds upon following mentioned entities that are external to it.
-
-  User Layer Protocol (ULP) Entity:
-  This layer implements the intelligent logic for the application and sits on top of the
-  stack.
-
-  UDP Entity:
-  This is the layer below the stack and is responsible for UDP I/O with the stack and network.
-  It may or may not be housed in ULP.
-
-  Timer Manager Entity:
-  Timer Manager Entity provides the stack with infrastructure for timer CRUD operations.
-
-  Log Manager Entity:
-  Log Manager Entity provides the stack with callbacks for logging operations. It may
-  or may not be housed in ULP.
-
-  The application may implement all above entities as a single or multiple object.
-
-  @section applications Applications and Usage
-
-  Please refer sample applications under 'test-app' directory for usage examples.
-
- */
-
-/**
- * @file NwGtpv2c.h
- * @author Amit Chawre
- * @brief
- *
- * This header file contains all required definitions and functions
- * prototypes for using nw-gtpv2c library.
- *
- **/
-
-/*--------------------------------------------------------------------------*
- *            S T A C K    H A N D L E    D E F I N I T I O N S             *
- *--------------------------------------------------------------------------*/
-
-typedef NwPtrT  NwGtpv2cStackHandleT;                           /**< Gtpv2c Stack Handle                */
-typedef NwPtrT  NwGtpv2cUlpHandleT;                             /**< Gtpv2c Stack Ulp Entity Handle     */
-typedef NwPtrT  NwGtpv2cUdpHandleT;                             /**< Gtpv2c Stack Udp Entity Handle     */
-typedef NwPtrT  NwGtpv2cTimerMgrHandleT;                        /**< Gtpv2c Stack Timer Manager Handle  */
-typedef NwPtrT  NwGtpv2cMemMgrHandleT;                          /**< Gtpv2c Stack Memory Manager Handle */
-typedef NwPtrT  NwGtpv2cLogMgrHandleT;                          /**< Gtpv2c Stack Log Manager Handle    */
-typedef NwPtrT  NwGtpv2cTimerHandleT;                           /**< Gtpv2c Stack Timer Handle          */
-typedef NwPtrT  NwGtpv2cMsgHandleT;                             /**< Gtpv2c Msg Handle                  */
-typedef NwPtrT  NwGtpv2cTrxnHandleT;                            /**< Gtpv2c Transaction Handle          */
-typedef NwPtrT  NwGtpv2cTunnelHandleT;                          /**< Gtpv2c Ulp Tunnel Handle           */
-typedef NwPtrT  NwGtpv2cUlpTrxnHandleT;                         /**< Gtpv2c Ulp Transaction Handle      */
-typedef NwPtrT  NwGtpv2cUlpTunnelHandleT;                       /**< Gtpv2c Ulp Tunnel Handle           */
-
-typedef uint8_t   NwGtpv2cMsgTypeT;                               /**< Gtpv2c Msg Type                    */
-
-typedef struct NwGtpv2cStackConfigS {
-  uint16_t                                __tbd;
-} NwGtpv2cStackConfigT;
-
-/*--------------------------------------------------------------------------*
- *            S T A C K        A P I      D E F I N I T I O N S             *
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV2C_ULP_API_FLAG_NONE                                     (0x00 << 24)
-#define NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL                      (0x01 << 24)
-#define NW_GTPV2C_ULP_API_FLAG_DELETE_LOCAL_TUNNEL                      (0x02 << 24)
-#define NW_GTPV2C_ULP_API_FLAG_IS_COMMAND_MESSAGE                       (0x03 << 24)
-
-/*---------------------------------------------------------------------------
- * Gtpv2c Stack ULP API type definitions
- *--------------------------------------------------------------------------*/
-
-/**
- * APIs types between ULP and Stack
- */
-
-typedef enum {
-  /* APIs from ULP to stack */
-
-  NW_GTPV2C_ULP_API_INITIAL_REQ  = 0x00000000,          /**< Send a initial message                     */
-  NW_GTPV2C_ULP_API_TRIGGERED_REQ,                      /**< Send a triggered req message               */
-  NW_GTPV2C_ULP_API_TRIGGERED_RSP,                      /**< Send a triggered rsp message               */
-
-  /* APIs from stack to ULP */
-
-  NW_GTPV2C_ULP_API_INITIAL_REQ_IND,                    /**< Receive a initial message from stack       */
-  NW_GTPV2C_ULP_API_TRIGGERED_RSP_IND,                  /**< Recieve a triggered rsp message from stack */
-  NW_GTPV2C_ULP_API_TRIGGERED_REQ_IND,                  /**< Recieve a triggered req message from stack */
-  NW_GTPV2C_ULP_API_RSP_FAILURE_IND,                    /**< Rsp failure for gtpv2 message from stack   */
-
-  /* Local tunnel management APIs from ULP to stack */
-
-  NW_GTPV2C_ULP_CREATE_LOCAL_TUNNEL,                    /**< Create a local tunnel                      */
-  NW_GTPV2C_ULP_DELETE_LOCAL_TUNNEL,                    /**< Delete a local tunnel                      */
-
-  /* Do not add below this */
-  NW_GTPV2C_ULP_API_END = 0xFFFFFFFF,
-
-} NwGtpv2cUlpApiTypeT;
-
-/**
- * Error information of incoming GTP messages
- */
-
-typedef struct NwGtpv2cErrorS {
-  NW_IN    uint8_t                        cause;
-  NW_IN    uint8_t                        flags;
-  struct {
-    NW_IN    uint8_t                      type;
-    NW_IN    uint8_t                      instance;
-  }                                     offendingIe;
-} NwGtpv2cErrorT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c initial message.
- */
-
-typedef struct {
-  NW_INOUT NwGtpv2cTunnelHandleT        hTunnel;        /**< Tunnel handle over which the mesasge is to be sent.*/
-  NW_IN    uint16_t                       t3Timer;
-  NW_IN    uint16_t                       maxRetries;
-  NW_IN    NwGtpv2cUlpTrxnHandleT       hUlpTrxn;       /**< Optional handle to be returned in rsp of this msg. */
-
-  NW_IN    uint32_t                       peerIp;         /**< Required only in case when hTunnel == 0            */
-  NW_IN    uint32_t                       teidLocal;      /**< Required only in case when hTunnel == 0            */
-  NW_IN    NwGtpv2cUlpTunnelHandleT     hUlpTunnel;     /**< Required only in case when hTunnel == 0            */
-} NwGtpv2cInitialReqInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c triggered request message.
- */
-
-typedef struct {
-  NW_IN    NwGtpv2cTunnelHandleT        hTunnel;        /**< Tunnel handle over which the mesasge is to be sent */
-  NW_IN    NwGtpv2cTrxnHandleT          hTrxn;          /**< Request Trxn handle which to which triggered req is being sent */
-  NW_IN    uint16_t                       t3Timer;
-  NW_IN    uint16_t                       maxRetries;
-  NW_IN    NwGtpv2cUlpTrxnHandleT       hUlpTrxn;       /**< Optional handle to be returned in rsp of this msg. */
-  NW_IN    uint32_t                       peerIp;         /**< Required only in case when hTunnel == 0            */
-  NW_IN    uint32_t                       teidLocal;      /**< Required only in case when hTunnel == 0            */
-  NW_IN    NwGtpv2cUlpTunnelHandleT     hUlpTunnel;     /**< Required only in case when hTunnel == 0            */
-
-} NwGtpv2cTriggeredReqInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c triggered response message.
- */
-
-typedef struct {
-  NW_IN    NwGtpv2cTrxnHandleT          hTrxn;          /**< Request Trxn handle which to which triggered rsp is being sent */
-  NW_IN    uint32_t                       teidLocal;      /**< Required only if NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL is set to flags. */
-  NW_IN    NwGtpv2cUlpTunnelHandleT     hUlpTunnel;     /**< Required only if NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL is set to flags. */
-
-  NW_OUT   NwGtpv2cTunnelHandleT        hTunnel;        /**< Returned only in case flags is set to
-                                                             NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL */
-} NwGtpv2cTriggeredRspInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c initial message.
- */
-
-typedef struct {
-  NW_IN    NwGtpv2cErrorT               error;
-  NW_IN    NwGtpv2cTrxnHandleT          hTrxn;
-  NW_IN    NwGtpv2cUlpTrxnHandleT       hUlpTrxn;
-  NW_IN    NwGtpv2cMsgTypeT             msgType;
-  NW_IN    uint32_t                       peerIp;
-  NW_IN    uint32_t                       peerPort;
-  NW_IN    NwGtpv2cUlpTunnelHandleT     hUlpTunnel;
-  NW_INOUT NwGtpv2cTunnelHandleT        hTunnel;
-} NwGtpv2cInitialReqIndInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c triggered request message.
- */
-
-typedef struct {
-  NW_IN    NwGtpv2cErrorT               error;
-  NW_IN    NwGtpv2cTrxnHandleT          hTrxn;
-  NW_IN    NwGtpv2cUlpTrxnHandleT       hUlpTrxn;
-  NW_IN    NwGtpv2cMsgTypeT             msgType;
-  NW_IN    uint32_t                       seqNum;
-  NW_IN    uint32_t                       teidLocal;
-  NW_IN    uint32_t                       teidRemote;
-  NW_IN    NwGtpv2cUlpTunnelHandleT     hUlpTunnel;
-} NwGtpv2cTriggeredReqIndInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c triggered response message.
- */
-
-typedef struct {
-  NW_IN    NwGtpv2cErrorT               error;
-  NW_IN    NwGtpv2cUlpTrxnHandleT       hUlpTrxn;
-  NW_IN    NwGtpv2cUlpTunnelHandleT     hUlpTunnel;
-  NW_IN    NwGtpv2cMsgTypeT             msgType;
-} NwGtpv2cTriggeredRspIndInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * receving a path failure indication from stack.
- */
-
-typedef struct {
-  NW_IN    NwGtpv2cUlpTrxnHandleT       hUlpTrxn;
-  NW_IN    NwGtpv2cUlpTunnelHandleT     hUlpTunnel;
-} NwGtpv2cRspFailureIndInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * creating local tunnel.
- */
-
-typedef struct {
-  NW_OUT   NwGtpv2cTunnelHandleT         hTunnel;
-  NW_IN    NwGtpv2cUlpTunnelHandleT      hUlpTunnel;
-  NW_IN    uint32_t                        teidLocal;
-  NW_IN    uint32_t                        peerIp;
-} NwGtpv2cCreateLocalTunnelInfoT;
-
-
-/**
- * API information elements between ULP and Stack for
- * deleting a local tunnel.
- */
-
-typedef struct {
-  NW_IN    NwGtpv2cTunnelHandleT         hTunnel;
-} NwGtpv2cDeleteLocalTunnelInfoT;
-
-
-/**
- * API container structure between ULP and Stack.
- */
-
-typedef struct {
-  NwGtpv2cUlpApiTypeT                   apiType;                /**< First bytes of this field is used as flag holder   */
-  NwGtpv2cMsgHandleT                    hMsg;                   /**< Handle associated with this API                    */
-  union {
-    NwGtpv2cInitialReqInfoT             initialReqInfo;
-    NwGtpv2cTriggeredRspInfoT           triggeredRspInfo;
-    NwGtpv2cTriggeredReqInfoT           triggeredReqInfo;
-    NwGtpv2cInitialReqIndInfoT          initialReqIndInfo;
-    NwGtpv2cTriggeredRspIndInfoT        triggeredRspIndInfo;
-    NwGtpv2cTriggeredReqIndInfoT        triggeredReqIndInfo;
-    NwGtpv2cRspFailureIndInfoT          rspFailureInfo;
-    NwGtpv2cCreateLocalTunnelInfoT      createLocalTunnelInfo;
-    NwGtpv2cDeleteLocalTunnelInfoT      deleteLocalTunnelInfo;
-  } apiInfo;
-} NwGtpv2cUlpApiT;
-
-
-/*--------------------------------------------------------------------------*
- *           S T A C K    E N T I T I E S    D E F I N I T I O N S          *
- *--------------------------------------------------------------------------*/
-
-/**
- * Gtpv2c ULP entity definition
- */
-
-typedef struct {
-  NwGtpv2cUlpHandleT        hUlp;
-  NwRcT (*ulpReqCallback) ( NW_IN        NwGtpv2cUlpHandleT hUlp,
-                            NW_IN        NwGtpv2cUlpApiT *pUlpApi);
-} NwGtpv2cUlpEntityT;
-
-
-/**
- * Gtpv2c UDP entity definition
- */
-
-typedef struct {
-  NwGtpv2cUdpHandleT        hUdp;
-  NwRcT (*udpDataReqCallback) ( NW_IN     NwGtpv2cUdpHandleT udpHandle,
-                                NW_IN     uint8_t* dataBuf,
-                                NW_IN     uint32_t dataSize,
-                                NW_IN     uint32_t peerIp,
-                                NW_IN     uint32_t peerPort);
-} NwGtpv2cUdpEntityT;
-
-/**
- * Gtpv2c Memory Manager entity definition
- */
-
-typedef struct {
-  NwGtpv2cMemMgrHandleT         hMemMgr;
-  void* (*memAlloc)( NW_IN      NwGtpv2cMemMgrHandleT hMemMgr,
-                     NW_IN      uint32_t memSize,
-                     NW_IN      NwCharT* fileName,
-                     NW_IN      uint32_t lineNumber);
-
-  void (*memFree) ( NW_IN       NwGtpv2cMemMgrHandleT hMemMgr,
-                    NW_IN       void* hMem,
-                    NW_IN       NwCharT* fileName,
-                    NW_IN       uint32_t lineNumber);
-} NwGtpv2cMemMgrEntityT;
-
-
-#define NW_GTPV2C_TMR_TYPE_ONE_SHOT                                  (0)
-#define NW_GTPV2C_TMR_TYPE_REPETITIVE                                (1)
-/**
- * Gtpv2c Timer Manager entity definition
- */
-
-typedef struct {
-  NwGtpv2cTimerMgrHandleT        tmrMgrHandle;
-  NwRcT (*tmrStartCallback)( NW_IN       NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                             NW_IN       uint32_t timeoutSec,
-                             NW_IN       uint32_t timeoutUsec,
-                             NW_IN       uint32_t tmrType,
-                             NW_IN       void* tmrArg,
-                             NW_OUT      NwGtpv2cTimerHandleT* tmrHandle);
-
-  NwRcT (*tmrStopCallback) ( NW_IN       NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                             NW_IN       NwGtpv2cTimerHandleT tmrHandle);
-} NwGtpv2cTimerMgrEntityT;
-
-/**
- * Gtpv2c Log manager entity definition
- */
-
-typedef struct {
-  NwGtpv2cLogMgrHandleT          logMgrHandle;
-  NwRcT (*logReqCallback) (NW_IN      NwGtpv2cLogMgrHandleT logMgrHandle,
-                           NW_IN      uint32_t logLevel,
-                           NW_IN      NwCharT* filename,
-                           NW_IN      uint32_t line,
-                           NW_IN      NwCharT* logStr);
-} NwGtpv2cLogMgrEntityT;
-
-
-/*--------------------------------------------------------------------------*
- *                     P U B L I C   F U N C T I O N S                      *
- *--------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Constructor. Initialize nw-gtpv2c stack instance.
-
- @param[in,out] phGtpcStackHandle : Pointer to stack instance handle
- */
-
-NwRcT
-nwGtpv2cInitialize( NW_INOUT NwGtpv2cStackHandleT* phGtpcStackHandle);
-
-/**
- Destructor. Destroy nw-gtpv2c stack instance .
-
- @param[in] hGtpcStackHandle : Stack instance handle
- */
-
-NwRcT
-nwGtpv2cFinalize( NW_IN  NwGtpv2cStackHandleT hGtpcStackHandle);
-
-/**
- Set Configuration for the nw-gtpv2c stack.
-
- @param[in,out] phGtpcStackHandle : Pointer to stack handle
- */
-
-NwRcT
-nwGtpv2cConfigSet( NW_IN NwGtpv2cStackHandleT* phGtpcStackHandle, NW_IN NwGtpv2cStackConfigT* pConfig);
-
-/**
- Get Configuration for the nw-gtpv2c stack.
-
- @param[in,out] phGtpcStackHandle : Pointer to stack handle
- */
-
-NwRcT
-nwGtpv2cConfigGet( NW_IN NwGtpv2cStackHandleT* phGtpcStackHandle, NW_OUT NwGtpv2cStackConfigT* pConfig);
-
-/**
- Set ULP entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pUlpEntity : Pointer to ULP entity.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetUlpEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                      NW_IN NwGtpv2cUlpEntityT* pUlpEntity);
-
-/**
- Set UDP entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pUdpEntity : Pointer to UDP entity.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetUdpEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                      NW_IN NwGtpv2cUdpEntityT* pUdpEntity);
-
-/**
- Set MemMgr entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pMemMgr : Pointer to Memory Manager.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetMemMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                         NW_IN NwGtpv2cMemMgrEntityT* pMemMgr);
-
-
-/**
- Set TmrMgr entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pTmrMgr : Pointer to Timer Manager.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetTimerMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                           NW_IN NwGtpv2cTimerMgrEntityT* pTmrMgr);
-
-/**
- Set LogMgr entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pLogMgr : Pointer to Log Manager.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetLogMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                         NW_IN NwGtpv2cLogMgrEntityT* pLogMgr);
-
-/**
- Set log level for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] logLevel : Log Level.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetLogLevel( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                     NW_IN uint32_t logLevel);
-
-
-/**
- Process Data Request from UDP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] udpData : Pointer to received UDP data.
- @param[in] udpDataLen : Received data length.
- @param[in] dstPort : Received on port.
- @param[in] from : Received from peer information.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cProcessUdpReq( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                       NW_IN uint8_t* udpData,
-                       NW_IN uint32_t udpDataLen,
-                       NW_IN uint16_t peerPort,
-                       NW_IN uint32_t peerIP);
-
-/**
- Process Request from ULP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pLogMgr : Pointer to Ulp Req.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cProcessUlpReq( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                       NW_IN NwGtpv2cUlpApiT *ulpReq);
-
-
-/**
- Process Timer timeout Request from Timer Manager
-
- @param[in] pLogMgr : Pointer timeout arguments.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cProcessTimeout( NW_IN void* timeoutArg);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  /* __NW_GTPV2C_H__ */
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cIe.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cIe.h
deleted file mode 100644
index 2de7e217c71417926e163e7e14e87b62391cf275..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cIe.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwGtpv2cIe.h
- * @brief This header file contains Information Element definitions for GTPv2c
- * as per 3GPP TS 29274-930.
-*/
-
-#ifndef __NW_GTPV2C_IE_H__
-#define __NW_GTPV2C_IE_H__
-
-/*--------------------------------------------------------------------------*
- *   G T P V 2 C    I E  T Y P E     M A C R O     D E F I N I T I O N S    *
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV2C_IE_RESERVED                                           (0)
-#define NW_GTPV2C_IE_IMSI                                               (1)
-#define NW_GTPV2C_IE_CAUSE                                              (2)
-#define NW_GTPV2C_IE_RECOVERY                                           (3)
-#define NW_GTPV2C_IE_APN                                                (71)
-#define NW_GTPV2C_IE_AMBR                                               (72)
-#define NW_GTPV2C_IE_EBI                                                (73)
-#define NW_GTPV2C_IE_IP_ADDRESS                                         (74)
-#define NW_GTPV2C_IE_MEI                                                (75)
-#define NW_GTPV2C_IE_MSISDN                                             (76)
-#define NW_GTPV2C_IE_INDICATION                                         (77)
-#define NW_GTPV2C_IE_PCO                                                (78)
-#define NW_GTPV2C_IE_PAA                                                (79)
-#define NW_GTPV2C_IE_BEARER_LEVEL_QOS                                   (80)
-#define NW_GTPV2C_IE_FLOW_QOS                                           (81)
-#define NW_GTPV2C_IE_RAT_TYPE                                           (82)
-#define NW_GTPV2C_IE_SERVING_NETWORK                                    (83)
-#define NW_GTPV2C_IE_BEARER_TFT                                         (84)
-#define NW_GTPV2C_IE_TAD                                                (85)
-#define NW_GTPV2C_IE_ULI                                                (86)
-#define NW_GTPV2C_IE_FTEID                                              (87)
-#define NW_GTPV2C_IE_TMSI                                               (88)
-#define NW_GTPV2C_IE_GLOBAL_CN_ID                                       (89)
-#define NW_GTPV2C_IE_S103PDF                                            (90)
-#define NW_GTPV2C_IE_S1UDF                                              (91)
-#define NW_GTPV2C_IE_DELAY_VALUE                                        (92)
-#define NW_GTPV2C_IE_BEARER_CONTEXT                                     (93)
-#define NW_GTPV2C_IE_CHARGING_ID                                        (94)
-#define NW_GTPV2C_IE_CHARGING_CHARACTERISTICS                           (95)
-#define NW_GTPV2C_IE_TRACE_INFORMATION                                  (96)
-#define NW_GTPV2C_IE_BEARER_FLAGS                                       (97)
-#define NW_GTPV2C_IE_PDN_TYPE                                           (99)
-#define NW_GTPV2C_IE_PROCEDURE_TRANSACTION_ID                           (100)
-#define NW_GTPV2C_IE_DRX_PARAMETER                                      (101)
-#define NW_GTPV2C_IE_UE_NETWORK_CAPABILITY                              (102)
-#define NW_GTPV2C_IE_MM_CONTEXT                                         (103)
-#define NW_GTPV2C_IE_PDN_CONNECTION                                     (109)
-#define NW_GTPV2C_IE_PDU_NUMBERS                                        (110)
-#define NW_GTPV2C_IE_PTMSI                                              (111)
-#define NW_GTPV2C_IE_PTMSI_SIGNATURE                                    (112)
-#define NW_GTPV2C_IE_HOP_COUNTER                                        (113)
-#define NW_GTPV2C_IE_UE_TIME_ZONE                                       (114)
-#define NW_GTPV2C_IE_TRACE_REFERENCE                                    (115)
-#define NW_GTPV2C_IE_COMPLETE_REQUEST_MESSAGE                           (116)
-#define NW_GTPV2C_IE_GUTI                                               (117)
-#define NW_GTPV2C_IE_F_CONTAINER                                        (118)
-#define NW_GTPV2C_IE_F_CAUSE                                            (119)
-#define NW_GTPV2C_IE_SELECTED_PLMN_ID                                   (120)
-#define NW_GTPV2C_IE_TARGET_IDENTIFICATION                              (121)
-#define NW_GTPV2C_IE_PACKET_FLOW_ID                                     (123)
-#define NW_GTPV2C_IE_RAB_CONTEXT                                        (124)
-#define NW_GTPV2C_IE_SOURCE_RNC_PDCP_CONTEXT_INFO                       (125)
-#define NW_GTPV2C_IE_UDP_SOURCE_PORT_NUMBER                             (126)
-#define NW_GTPV2C_IE_APN_RESTRICTION                                    (127)
-#define NW_GTPV2C_IE_SELECTION_MODE                                     (128)
-#define NW_GTPV2C_IE_SOURCE_IDENTIFICATION                              (129)
-#define NW_GTPV2C_IE_CHANGE_REPORTING_ACTION                            (131)
-#define NW_GTPV2C_IE_FQ_CSID                                            (132)
-#define NW_GTPV2C_IE_CHANNEL_NEEDED                                     (133)
-#define NW_GTPV2C_IE_EMLPP_PRIORITY                                     (134)
-#define NW_GTPV2C_IE_NODE_TYPE                                          (135)
-#define NW_GTPV2C_IE_FQDN                                               (136)
-#define NW_GTPV2C_IE_TI                                                 (137)
-#define NW_GTPV2C_IE_MBMS_SESSION_DURATION                              (138)
-#define NW_GTPV2C_IE_MBMS_SERIVCE_AREA                                  (139)
-#define NW_GTPV2C_IE_MBMS_SESSION_IDENTIFIER                            (140)
-#define NW_GTPV2C_IE_MBMS_FLOW_IDENTIFIER                               (141)
-#define NW_GTPV2C_IE_MBMS_IP_MULTICAST_DISTRIBUTION                     (142)
-#define NW_GTPV2C_IE_MBMS_IP_DISTRIBUTION_ACK                           (143)
-#define NW_GTPV2C_IE_RFSP_INDEX                                         (144)
-#define NW_GTPV2C_IE_UCI                                                (145)
-#define NW_GTPV2C_IE_CSG_INFORMATION_REPORTING_ACTION                   (146)
-#define NW_GTPV2C_IE_CSG_ID                                             (147)
-#define NW_GTPV2C_IE_CSG_MEMBERSHIP_INDICATION                          (148)
-#define NW_GTPV2C_IE_SERVICE_INDICATOR                                  (149)
-#define NW_GTPV2C_IE_LDN                                                (151)
-#define NW_GTPV2C_IE_ADDITIONAL_MM_CTXT_FOR_SRVCC                       (159)
-#define NW_GTPV2C_IE_ADDITIONAL_FLAGS_FOR_SRVCC                         (160)
-#define NW_GTPV2C_IE_PRIVATE_EXTENSION                                  (255)
-#define NW_GTPV2C_IE_TYPE_MAXIMUM                                       (256)
-
-
-/*--------------------------------------------------------------------------*
- *   G T P V 2 C      C A U S E      V A L U E     D E F I N I T I O N S    *
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV2C_CAUSE_REQUEST_ACCEPTED                                (16)
-#define NW_GTPV2C_CAUSE_INVALID_LENGTH                                  (67)
-#define NW_GTPV2C_CAUSE_MANDATORY_IE_INCORRECT                          (69)
-#define NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING                            (70)
-#define NW_GTPV2C_CAUSE_SYSTEM_FAILURE                                  (72)
-#define NW_GTPV2C_CAUSE_REQUEST_REJECTED                                (94)
-#define NW_GTPV2C_CAUSE_REMOTE_PEER_NOT_RESPONDING                      (100)
-#define NW_GTPV2C_CAUSE_CONDITIONAL_IE_MISSING                          (103)
-
-#define NW_GTPV2C_IE_INSTANCE_ZERO                                      (0)
-#define NW_GTPV2C_IE_INSTANCE_ONE                                       (1)
-#define NW_GTPV2C_IE_INSTANCE_TWO                                       (2)
-#define NW_GTPV2C_IE_INSTANCE_THREE                                     (3)
-#define NW_GTPV2C_IE_INSTANCE_FOUR                                      (4)
-#define NW_GTPV2C_IE_INSTANCE_MAXIMUM                                   (NW_GTPV2C_IE_INSTANCE_FOUR)
-
-#define NW_GTPV2C_IE_PRESENCE_MANDATORY                                 (1)
-#define NW_GTPV2C_IE_PRESENCE_CONDITIONAL                               (2)
-#define NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL                      (3)
-#define NW_GTPV2C_IE_PRESENCE_OPTIONAL                                  (4)
-
-#endif  /* __NW_GTPV2C_IE_H__ */
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsg.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsg.h
deleted file mode 100644
index 7c7476383be79ee9efcd3e9cd259a02203525a16..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsg.h
+++ /dev/null
@@ -1,626 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_MSG_H__
-#define __NW_GTPV2C_MSG_H__
-
-#include "NwTypes.h"
-#include "NwGtpv2c.h"
-
-/**
- * @file NwGtpv2cMsg.h
- * @brief This file defines APIs for to build new outgoing gtpv2c messages and to parse incoming messages.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--------------------------------------------------------------------------*
- *                   S H A R E D     A P I    M A C R O S                   *
- *--------------------------------------------------------------------------*/
-
-
-#define NW_GTP_VERSION                                          (0x02) /**< GTP Version                         */
-#define NW_GTPV2C_MINIMUM_HEADER_SIZE                           (8)    /**< Size of GTPv2c minimun header       */
-#define NW_GTPV2C_EPC_SPECIFIC_HEADER_SIZE                      (12)   /**< Size of GTPv2c EPC specific header  */
-
-/* GTP Message Type Values */
-#define NW_GTP_ECHO_REQ                                         (1)
-#define NW_GTP_ECHO_RSP                                         (2)
-#define NW_GTP_VERSION_NOT_SUPPORTED_IND                        (3)
-#define NW_GTP_CREATE_SESSION_REQ                               (32)
-#define NW_GTP_CREATE_SESSION_RSP                               (33)
-#define NW_GTP_MODIFY_BEARER_REQ                                (34)
-#define NW_GTP_MODIFY_BEARER_RSP                                (35)
-#define NW_GTP_DELETE_SESSION_REQ                               (36)
-#define NW_GTP_DELETE_SESSION_RSP                               (37)
-#define NW_GTP_MODIFY_BEARER_CMD                                (64)
-#define NW_GTP_MODIFY_BEARER_FAILURE_IND                        (65)
-#define NW_GTP_DELETE_BEARER_CMD                                (66)
-#define NW_GTP_DELETE_BEARER_FAILURE_IND                        (67)
-#define NW_GTP_BEARER_RESOURCE_CMD                              (68)
-#define NW_GTP_BEARER_RESOURCE_FAILURE_IND                      (69)
-#define NW_GTP_DOWNLINK_DATA_NOTIFICATION_FAILURE_IND           (70)
-#define NW_GTP_TRACE_SESSION_ACTIVATION                         (71)
-#define NW_GTP_TRACE_SESSION_DEACTIVATION                       (72)
-#define NW_GTP_STOP_PAGING_IND                                  (73)
-#define NW_GTP_CREATE_BEARER_REQ                                (95)
-#define NW_GTP_CREATE_BEARER_RSP                                (96)
-#define NW_GTP_UPDATE_BEARER_REQ                                (97)
-#define NW_GTP_UPDATE_BEARER_RSP                                (98)
-#define NW_GTP_DELETE_BEARER_REQ                                (99)
-#define NW_GTP_DELETE_BEARER_RSP                                (100)
-#define NW_GTP_DELETE_PDN_CONNECTION_SET_REQ                    (101)
-#define NW_GTP_DELETE_PDN_CONNECTION_SET_RSP                    (102)
-#define NW_GTP_IDENTIFICATION_REQ                               (128)
-#define NW_GTP_IDENTIFICATION_RSP                               (129)
-#define NW_GTP_CONTEXT_REQ                                      (130)
-#define NW_GTP_CONTEXT_RSP                                      (131)
-#define NW_GTP_CONTEXT_ACK                                      (132)
-#define NW_GTP_FORWARD_RELOCATION_REQ                           (133)
-#define NW_GTP_FORWARD_RELOCATION_RSP                           (134)
-#define NW_GTP_FORWARD_RELOCATION_COMPLETE_NTF                  (135)
-#define NW_GTP_FORWARD_RELOCATION_COMPLETE_ACK                  (136)
-#define NW_GTP_FORWARD_ACCESS_CONTEXT_NTF                       (137)
-#define NW_GTP_FORWARD_ACCESS_CONTEXT_ACK                       (138)
-#define NW_GTP_RELOCATION_CANCEL_REQ                            (139)
-#define NW_GTP_RELOCATION_CANCEL_RSP                            (140)
-#define NW_GTP_CONFIGURE_TRANSFER_TUNNEL                        (141)
-#define NW_GTP_DETACH_NTF                                       (149)
-#define NW_GTP_DETACH_ACK                                       (150)
-#define NW_GTP_CS_PAGING_INDICATION                             (151)
-#define NW_GTP_RAN_INFORMATION_RELAY                            (152)
-#define NW_GTP_ALERT_MME_NTF                                    (153)
-#define NW_GTP_ALERT_MME_ACK                                    (154)
-#define NW_GTP_UE_ACTIVITY_NTF                                  (155)
-#define NW_GTP_UE_ACTIVITY_ACK                                  (156)
-#define NW_GTP_CREATE_FORWARDING_TUNNEL_REQ                     (160)
-#define NW_GTP_CREATE_FORWARDING_TUNNEL_RSP                     (161)
-#define NW_GTP_SUSPEND_NTF                                      (162)
-#define NW_GTP_SUSPEND_ACK                                      (163)
-#define NW_GTP_RESUME_NTF                                       (164)
-#define NW_GTP_RESUME_ACK                                       (165)
-#define NW_GTP_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_REQ       (166)
-#define NW_GTP_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_RSP       (167)
-#define NW_GTP_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_REQ       (168)
-#define NW_GTP_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_RSP       (169)
-#define NW_GTP_RELEASE_ACCESS_BEARERS_REQ                       (170)
-#define NW_GTP_RELEASE_ACCESS_BEARERS_RSP                       (171)
-#define NW_GTP_DOWNLINK_DATA_NOTIFICATION                       (176)
-#define NW_GTP_DOWNLINK_DATA_NOTIFICATION_ACK                   (177)
-#define NW_GTP_RESERVED                                         (178)
-#define NW_GTP_UPDATE_PDN_CONNECTION_SET_REQ                    (200)
-#define NW_GTP_UPDATE_PDN_CONNECTION_SET_RSP                    (201)
-#define NW_GTP_MBMS_SESSION_START_REQ                           (231)
-#define NW_GTP_MBMS_SESSION_START_RSP                           (232)
-#define NW_GTP_MBMS_SESSION_UPDATE_REQ                          (233)
-#define NW_GTP_MBMS_SESSION_UPDATE_RSP                          (234)
-#define NW_GTP_MBMS_SESSION_STOP_REQ                            (235)
-#define NW_GTP_MBMS_SESSION_STOP_RSP                            (236)
-#define NW_GTP_MSG_END                                          (255)
-
-
-/* Cause Values */
-#define NW_GTPV2C_CAUSE_BIT_NONE                                (0x00)
-#define NW_GTPV2C_CAUSE_BIT_CS                                  (0x01)
-#define NW_GTPV2C_CAUSE_BIT_BCE                                 (0x02)
-#define NW_GTPV2C_CAUSE_BIT_PCE                                 (0x04)
-
-/* RAT Type Values */
-#define NW_RAT_TYPE_EUTRAN                                      (0x06)
-
-/* PDN Type Values */
-#define NW_PDN_TYPE_IPv4                                        (0x01)
-#define NW_PDN_TYPE_IPv6                                        (0x02)
-#define NW_PDN_TYPE_IPv4IPv6                                    (0x03)
-
-/* Interface Type Values */
-#define NW_GTPV2C_IFTYPE_S1U_ENODEB_GTPU                        (0)
-#define NW_GTPV2C_IFTYPE_S1U_SGW_GTPU                           (1)
-#define NW_GTPV2C_IFTYPE_S12_RNC_GTPU                           (2)
-#define NW_GTPV2C_IFTYPE_S12_SGW_GTPU                           (3)
-#define NW_GTPV2C_IFTYPE_S5S8_SGW_GTPU                          (4)
-#define NW_GTPV2C_IFTYPE_S5S8_PGW_GTPU                          (5)
-#define NW_GTPV2C_IFTYPE_S5S8_SGW_GTPC                          (6)
-#define NW_GTPV2C_IFTYPE_S5S8_PGW_GTPC                          (7)
-#define NW_GTPV2C_IFTYPE_S5S8_SGW_PIMPv6                        (8)
-#define NW_GTPV2C_IFTYPE_S5S8_PGW_PIMPv6                        (9)
-#define NW_GTPV2C_IFTYPE_S11_MME_GTPC                           (10)
-#define NW_GTPV2C_IFTYPE_S11S4_SGW_GTPC                         (11)
-
-/* Indication Flag Values */
-#define NW_GTPV2C_INDICATION_FLAG_NONE                          (0x0000)
-#define NW_GTPV2C_INDICATION_FLAG_DAF                           (0x8000)
-#define NW_GTPV2C_INDICATION_FLAG_DTF                           (0x4000)
-#define NW_GTPV2C_INDICATION_FLAG_HI                            (0x2000)
-#define NW_GTPV2C_INDICATION_FLAG_DFI                           (0x1000)
-#define NW_GTPV2C_INDICATION_FLAG_OI                            (0x0800)
-#define NW_GTPV2C_INDICATION_FLAG_ISRSI                         (0x0400)
-#define NW_GTPV2C_INDICATION_FLAG_ISRAI                         (0x0200)
-#define NW_GTPV2C_INDICATION_FLAG_SGWCI                         (0x0100)
-
-#define NW_GTPV2C_INDICATION_FLAG_SPARE                         (0x0080)
-#define NW_GTPV2C_INDICATION_FLAG_UMSI                          (0x0040)
-#define NW_GTPV2C_INDICATION_FLAG_CSFI                          (0x0020)
-#define NW_GTPV2C_INDICATION_FLAG_CRSI                          (0x0010)
-#define NW_GTPV2C_INDICATION_FLAG_PS                            (0x0008)
-#define NW_GTPV2C_INDICATION_FLAG_PT                            (0x0004)
-#define NW_GTPV2C_INDICATION_FLAG_SI                            (0x0002)
-#define NW_GTPV2C_INDICATION_FLAG_MSV                           (0x0001)
-
-/*--------------------------------------------------------------------------*
- *   G T P V 2 C     I E    D A T A - T Y P E      D E F I N I T I O N S    *
- *--------------------------------------------------------------------------*/
-
-#pragma pack(1)
-
-typedef struct NwGtpv2cIeTv1 {
-  uint8_t  t;
-  uint16_t l;
-  uint8_t  i;
-  uint8_t  v;
-} NwGtpv2cIeTv1T;
-
-typedef struct NwGtpv2cIeTv2 {
-  uint8_t  t;
-  uint16_t l;
-  uint8_t  i;
-  uint16_t  v;
-} NwGtpv2cIeTv2T;
-
-typedef struct NwGtpv2cIeTv4 {
-  uint8_t  t;
-  uint16_t l;
-  uint8_t  i;
-  uint32_t  v;
-} NwGtpv2cIeTv4T;
-
-typedef struct NwGtpv2cIeTv8 {
-  uint8_t  t;
-  uint16_t l;
-  uint8_t  i;
-  uint64_t v;
-} NwGtpv2cIeTv8T;
-
-typedef struct NwGtpv2cIeTlv {
-  uint8_t  t;
-  uint16_t l;
-  uint8_t  i;
-} NwGtpv2cIeTlvT;
-
-#pragma pack()
-
-
-/**
- * Allocate a gtpv2c message.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] teidPresent : TEID is present flag.
- * @param[in] msgType : Message type for this message.
- * @param[in] teid : TEID for this message.
- * @param[in] seqNum : Sequence number for this message.
- * @param[out] phMsg : Pointer to message handle.
- */
-
-NwRcT
-nwGtpv2cMsgNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                NW_IN uint8_t     teidPresent,
-                NW_IN uint8_t     msgType,
-                NW_IN uint32_t    teid,
-                NW_IN uint32_t    seqNum,
-                NW_OUT NwGtpv2cMsgHandleT *phMsg);
-
-
-/**
- * Allocate a gtpv2c message from data buffer.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] pBuf: Buffer to be copied in this message.
- * @param[in] bufLen: Buffer length to be copied in this message.
- * @param[out] phMsg : Pointer to message handle.
- */
-
-NwRcT
-nwGtpv2cMsgFromBufferNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                          NW_IN uint8_t* pBuf,
-                          NW_IN uint32_t bufLen,
-                          NW_OUT NwGtpv2cMsgHandleT *phMsg);
-
-/**
- * Free a gtpv2c message.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] hMsg : Message handle.
- */
-
-NwRcT
-nwGtpv2cMsgDelete( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                   NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Set TEID for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teid: TEID value.
- */
-
-NwRcT
-nwGtpv2cMsgSetTeid(NW_IN NwGtpv2cMsgHandleT hMsg, uint32_t teid);
-
-/**
- * Set TEID present flag for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teidPesent: Flag boolean value.
- */
-
-NwRcT
-nwGtpv2cMsgSetTeidPresent(NW_IN NwGtpv2cMsgHandleT hMsg, NwBoolT teidPresent);
-
-/**
- * Set sequence for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] seqNum: Flag boolean value.
- */
-
-NwRcT
-nwGtpv2cMsgSetSeqNumber(NW_IN NwGtpv2cMsgHandleT hMsg, uint32_t seqNum);
-
-/**
- * Get TEID present for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetTeid(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Get TEID present for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwBoolT
-nwGtpv2cMsgGetTeidPresent(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Get sequence number for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetSeqNumber(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Get msg lenght for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetLength(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Add a gtpv2c information element of length 1 to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE type.
- * @param[in] instance : IE instance.
- * @param[in] value : IE value.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeTV1(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t       type,
-                    NW_IN uint8_t       instance,
-                    NW_IN uint8_t       value);
-
-
-/**
- * Add a gtpv2c information element of length 2 to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE type.
- * @param[in] instance : IE instance.
- * @param[in] value : IE value.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeTV2(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t       type,
-                    NW_IN uint8_t       instance,
-                    NW_IN uint16_t      value);
-
-
-/**
- * Add a gtpv2c information element of length 4 to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE type.
- * @param[in] instance : IE instance.
- * @param[in] value : IE value.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeTV4(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t       type,
-                    NW_IN uint8_t       instance,
-                    NW_IN uint32_t      value);
-
-
-/**
- * Add a gtpv2c information element of variable length to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE type.
- * @param[in] length : IE length.
- * @param[in] instance : IE instance.
- * @param[in] value : IE value.
- */
-
-NwRcT
-nwGtpv2cMsgAddIe(NW_IN NwGtpv2cMsgHandleT hMsg,
-                 NW_IN uint8_t       type,
-                 NW_IN uint16_t      length,
-                 NW_IN uint8_t       instance,
-                 NW_IN uint8_t*      pVal);
-
-/**
- * Add CAUSE information element to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] instance : IE instance.
- * @param[in] causeValue: Cause value.
- * @param[in] bitFlags: PDN Connetiion IE Error Flag, Bearer Context IE Error Flag, Cause Source Flag.
- * @param[in] offendingIeType: Offending IE type.
- * @param[in] offendingIeInstance: Offending IE instance.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeCause(NW_IN NwGtpv2cMsgHandleT hMsg,
-                      NW_IN uint8_t instance,
-                      NW_IN uint8_t causeValue,
-                      NW_IN uint8_t bitFlags,
-                      NW_IN uint8_t offendingIeType,
-                      NW_IN uint8_t offendingIeInstance);
-
-/**
- * Add F-TEID information element to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] instance : IE instance.
- * @param[in] ifType : Interface Type.
- * @param[in] teidOrGreKey: TEID/ GRE Key
- * @param[in] ipv4Addr : Ipv4 Address in Network Byte Order.
- * @param[in] pIpv6Addr: Pointer to IPv6 Address in Network Byte Order.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeFteid(NW_IN NwGtpv2cMsgHandleT hMsg,
-                      NW_IN uint8_t       instance,
-                      NW_IN uint8_t       ifType,
-                      NW_IN uint32_t      teidOrGreKey,
-                      NW_IN uint32_t      ipv4Addr,
-                      NW_IN uint8_t*      pIpv6Addr);
-
-NwRcT
-nwGtpv2cMsgGroupedIeStart(NW_IN NwGtpv2cMsgHandleT hMsg,
-                          NW_IN uint8_t       type,
-                          NW_IN uint8_t       instance);
-
-NwRcT
-nwGtpv2cMsgGroupedIeEnd(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-
-/**
- * Check if information element of type and instance is present
- * in gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE Type.
- * @param[in] instance : IE instance.
- * @return NW_TRUE on success, NW_FALSE on failure.
- */
-
-NwBoolT
-nwGtpv2cMsgIsIePresent(NW_IN NwGtpv2cMsgHandleT hMsg,
-                       NW_IN uint8_t type,
-                       NW_IN uint8_t instance);
-
-/**
- * Get an information element of type 'uint8_t' from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] pVal : Pointer to value buffer.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgGetIeTV1(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t type,
-                    NW_IN uint8_t instance,
-                    NW_OUT uint8_t* pVal);
-
-/**
- * Get an information element of type 'uint16_t' from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] pVal : Pointer to value buffer.
- * @return NW_OK on success.
- */
-
-
-NwRcT
-nwGtpv2cMsgGetIeTV2(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t type,
-                    NW_IN uint8_t instance,
-                    NW_OUT uint16_t* pVal);
-
-/**
- * Get an information element of type 'uint32_t' from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] pVal : Pointer to value buffer.
- * @return NW_OK on success.
- */
-
-
-NwRcT
-nwGtpv2cMsgGetIeTV4(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t type,
-                    NW_IN uint8_t instance,
-                    NW_OUT uint32_t* pVal);
-
-/**
- * Get an information element of type 'uint64_t' from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] pVal : Pointer to IE value buffer.
- * @return NW_OK on success.
- */
-
-
-NwRcT
-nwGtpv2cMsgGetIeTV8(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t type,
-                    NW_IN uint8_t instance,
-                    NW_OUT uint64_t* pVal);
-
-/**
- * Get an information element of variable length from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[in] maxLen : Maximum length of IE.
- * @param[out] pVal : Pointer to IE value buffer.
- * @param[out] pLen : Pointer to IE length buffer.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgGetIeTlv(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t type,
-                    NW_IN uint8_t instance,
-                    NW_IN uint16_t maxLen,
-                    NW_OUT uint8_t* pVal,
-                    NW_OUT uint16_t* pLen);
-
-/**
- * Get an information element of variable length from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] ppVal : Pointer to IE value buffer pointer.
- * @param[out] pLen : Pointer to IE length buffer.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgGetIeTlvP(NW_IN NwGtpv2cMsgHandleT hMsg,
-                     NW_IN uint8_t type,
-                     NW_IN uint8_t instance,
-                     NW_OUT uint8_t** ppVal,
-                     NW_OUT uint16_t* pLen);
-
-
-/**
- * Get F-TEID information element to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] instance : IE instance.
- * @param[out] ifType : Interface Type.
- * @param[out] teidOrGreKey: TEID/ GRE Key
- * @param[out] ipv4Addr : Ipv4 Address in Network Byte Order.
- * @param[out] pIpv6Addr: Pointer to IPv6 Address in Network Byte Order.
- */
-
-NwRcT
-nwGtpv2cMsgGetIeFteid(NW_IN NwGtpv2cMsgHandleT hMsg,
-                      NW_IN  uint8_t       instance,
-                      NW_OUT uint8_t*      ifType,
-                      NW_OUT uint32_t*     teidOrGreKey,
-                      NW_OUT uint32_t*     ipv4Addr,
-                      NW_OUT uint8_t*      pIpv6Addr);
-
-NwRcT
-nwGtpv2cMsgGetIeCause(NW_IN NwGtpv2cMsgHandleT hMsg,
-                      NW_IN  uint8_t       instance,
-                      NW_OUT uint8_t*      causeValue,
-                      NW_OUT uint8_t*      flags,
-                      NW_OUT uint8_t*      offendingIeType,
-                      NW_OUT uint8_t*      offendingIeInstance);
-
-/**
- * Get msg type for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetMsgType(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Dump the contents of gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] fp: Pointer to output file.
- */
-
-NwRcT
-nwGtpv2cMsgHexDump(NwGtpv2cMsgHandleT hMsg, FILE* fp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_MSG_H__ */
-
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsgParser.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsgParser.h
deleted file mode 100644
index a16bf4800aab8b33aa6bd92117d1740f7786c262..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsgParser.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#include <string.h>
-#include "NwTypes.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-
-#ifndef __NW_GTPV2C_MSG_PARSER_H__
-#define __NW_GTPV2C_MSG_PARSER_H__
-
-/**
- * @file NwGtpv2cMsgParser.h
- * @brief This file defines APIs to parser gtpv2c messages.
-*/
-
-typedef struct {
-  uint16_t                msgType;
-  uint16_t                mandatoryIeCount;
-  NwGtpv2cStackHandleT  hStack;
-  NwRcT (*ieReadCallback) (uint8_t ieType, uint8_t ieLength, uint8_t ieInstance,  uint8_t* ieValue, void* ieReadCallbackArg);
-  void* ieReadCallbackArg;
-
-  struct {
-    uint8_t iePresence;
-    NwRcT (*ieReadCallback) (uint8_t ieType, uint8_t ieLength, uint8_t ieInstance,  uint8_t* ieValue, void* ieReadCallbackArg);
-    void* ieReadCallbackArg;
-  } ieParseInfo[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-
-  uint8_t *pIe[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-} NwGtpv2cMsgParserT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Allocate a gtpv2c message Parser.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] msgType : Message type for this message parser.
- * @param[out] pthiz : Pointer to message parser handle.
- */
-
-NwRcT
-nwGtpv2cMsgParserNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                      NW_IN uint8_t     msgType,
-                      NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
-                          uint8_t ieLength,
-                          uint8_t ieInstance,
-                          uint8_t* ieValue,
-                          void* ieReadCallbackArg),
-                      NW_IN void* ieReadCallbackArg,
-                      NW_IN NwGtpv2cMsgParserT **pthiz);
-
-
-/**
- * Free a gtpv2c message parser.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] thiz : Message parser handle.
- */
-
-NwRcT
-nwGtpv2cMsgParserDelete( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                         NW_IN NwGtpv2cMsgParserT* thiz);
-
-NwRcT
-nwGtpv2cMsgParserUpdateIe( NW_IN NwGtpv2cMsgParserT* thiz,
-                           NW_IN uint8_t ieType,
-                           NW_IN uint8_t ieInstance,
-                           NW_IN uint8_t iePresence,
-                           NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
-                               uint8_t ieLength,
-                               uint8_t ieInstance,
-                               uint8_t* ieValue,
-                               void* ieReadCallbackArg),
-                           NW_IN void* ieReadCallbackArg);
-
-
-NwRcT
-nwGtpv2cMsgParserUpdateIeReadCallback( NW_IN NwGtpv2cMsgParserT* thiz,
-                                       NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
-                                           uint8_t ieLength,
-                                           uint8_t ieInstance,
-                                           uint8_t* ieValue,
-                                           void* ieReadCallbackArg));
-
-
-NwRcT
-nwGtpv2cMsgParserUpdateIeReadCallbackArg( NW_IN NwGtpv2cMsgParserT* thiz,
-    NW_IN void* ieReadCallbackArg);
-
-NwRcT
-nwGtpv2cMsgParserAddIe( NW_IN NwGtpv2cMsgParserT* thiz,
-                        NW_IN uint8_t ieType,
-                        NW_IN uint8_t ieInstance,
-                        NW_IN uint8_t iePresence,
-                        NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
-                            uint8_t ieLength,
-                            uint8_t ieInstance,
-                            uint8_t* ieValue,
-                            void* ieReadCallbackArg),
-                        NW_IN void* ieReadCallbackArg);
-
-NwRcT
-nwGtpv2cMsgParserRun( NW_IN NwGtpv2cMsgParserT *thiz,
-                      NW_IN NwGtpv2cMsgHandleT  hMsg,
-                      NW_OUT uint8_t             *pOffendingIeType,
-                      NW_OUT uint8_t             *pOffendingIeInstance,
-                      NW_OUT uint16_t            *pOffendingIeLength);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_MSG_PARSER_H__ */
-
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwLog.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwLog.h
deleted file mode 100644
index a941a319052889c0bf33797cf764e402c565b0c5..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwLog.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-
-#ifndef __NW_LOG_H__
-#define __NW_LOG_H__
-
-#include <libgen.h>
-
-#include "NwTypes.h"
-
-/**
- * @file NwLog.h
- * @brief This header file contains global shared logging definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Log Level Definitions
- *--------------------------------------------------------------------------*/
-
-#define NW_LOG_LEVEL_EMER                       (0) /**< system is unusable              */
-#define NW_LOG_LEVEL_ALER                       (1) /**< action must be taken immediately*/
-#define NW_LOG_LEVEL_CRIT                       (2) /**< critical conditions             */
-#define NW_LOG_LEVEL_ERRO                       (3) /**< error conditions                */
-#define NW_LOG_LEVEL_WARN                       (4) /**< warning conditions              */
-#define NW_LOG_LEVEL_NOTI                       (5) /**< normal but signification condition */
-#define NW_LOG_LEVEL_INFO                       (6) /**< informational                   */
-#define NW_LOG_LEVEL_DEBG                       (7) /**< debug-level messages            */
-
-/*---------------------------------------------------------------------------
- * IPv4 logging macros
- *--------------------------------------------------------------------------*/
-
-#define NW_IPV4_ADDR                            "%u.%u.%u.%u"
-#define NW_IPV4_ADDR_FORMAT(__addr)             (uint8_t)((__addr) & 0x000000ff),        \
-                                                (uint8_t)(((__addr) & 0x0000ff00) >> 8 ), \
-                                                (uint8_t)(((__addr) & 0x00ff0000) >> 16), \
-                                                (uint8_t)(((__addr) & 0xff000000) >> 24)
-
-#define NW_IPV4_ADDR_FORMATP(__paddr)           (uint8_t)(*((uint8_t*)(__paddr)) & 0x000000ff),     \
-                                                (uint8_t)(*((uint8_t*)(__paddr + 1)) & 0x000000ff), \
-                                                (uint8_t)(*((uint8_t*)(__paddr + 2)) & 0x000000ff), \
-                                                (uint8_t)(*((uint8_t*)(__paddr + 3)) & 0x000000ff)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_LOG_H__ */
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwTypes.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwTypes.h
deleted file mode 100644
index 78be53a5d09a412b6bb84491e05ff8fa8421f305..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwTypes.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-
-#include <stdlib.h>
-#include <stdint.h>
-
-#ifndef __NW_TYPES_H__
-#define __NW_TYPES_H__
-
-/**
- * @file NwTypes.h
- * @brief This header file contains basic type definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NW_IN                                   /**< An input argument          */
-#define NW_OUT                                  /**< An output argument         */
-#define NW_INOUT                                /**< An input and output argument */
-
-#define NW_TRUE                 (1)             /**< Truth value                */
-#define NW_FALSE                (0)             /**< False value                */
-
-typedef unsigned char           uint8_t;          /**< Unsigned 1 byte            */
-typedef unsigned short          uint16_t;         /**< Unsigned 2 byte            */
-typedef unsigned int            uint32_t;         /**< Unsigned 4 byte            */
-typedef unsigned long long      uint64_t;         /**< Unsigned 8 byte            */
-
-typedef signed char             NwS8T;          /**< Signed 1 byte              */
-typedef signed short            NwS16T;         /**< Signed 2 byte              */
-typedef signed int              NwS32T;         /**< Signed 4 byte              */
-typedef signed long long        NwS64T;         /**< Signed 8 byte              */
-
-typedef char                    NwBoolT;        /**< Use this for booleans      */
-
-typedef char                    NwCharT;        /**< Use this for strings       */
-
-typedef signed int              NwFdT;          /**< Use this for file descriptor */
-
-typedef uintptr_t               NwPtrT;         /**< Use this for generic pointers      */
-typedef unsigned int            NwHandleT;      /**< Use this for generic handles       */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_TYPES_H__ */
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwUtils.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwUtils.h
deleted file mode 100644
index a51437bce8ad56a7737cd781f28b5f9879aa72ca..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwUtils.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#include <assert.h>
-
-#ifndef __NW_UTILS_H__
-#define __NW_UTILS_H__
-
-
-/**
- * @file NwUtils.h
- * @brief This header file contains utility macro and function definitions.
-*/
-
-#define NW_ASSERT                                       assert                  /**< Assertion */
-
-#define NW_CHK_NULL_PTR(_ptr)                           NW_ASSERT(_ptr != NULL) /**< Null pointer check */
-
-#define NW_HTONS(x)                                     ( ( ((x) & 0xff00) >> 8 ) | ( ((x) & 0x00ff) << 8 ) )
-
-#define NW_HTONL(x)                                     ( ( ((x) & 0xff000000) >> 24 ) | ( ( (x) & 0x00ff0000 ) >> 8 ) | \
-                                                        ( ( (x) & 0x0000ff00 ) << 8 ) | ( ( (x) & 0x000000ff) << 24 ) )
-
-#define NW_HTONLL(x)                                    (                                                         \
-    ( ( ((uint64_t)x) & 0xff00000000000000ULL ) >> 56 ) | ( ( ((uint64_t)x) & 0x00ff000000000000ULL ) >> 40 ) |       \
-    ( ( ((uint64_t)x) & 0x0000ff0000000000ULL ) >> 24 ) | ( ( ((uint64_t)x) & 0x000000ff00000000ULL ) >> 8  ) |       \
-    ( ( ((uint64_t)x) & 0x000000000000ff00ULL ) << 40 ) | ( ( ((uint64_t)x) & 0x00000000000000ffULL ) << 56 ) |       \
-    ( ( ((uint64_t)x) & 0x0000000000ff0000ULL ) << 24 ) | ( ( ((uint64_t)x) & 0x00000000ff000000ULL ) << 8  )         \
-    )
-
-
-#define NW_NTOHS                NW_HTONS
-#define NW_NTOHL                NW_HTONL
-#define NW_NTOHLL               NW_HTONLL
-
-
-#endif /* __NW_UTILS_H__ */
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/Makefile.am b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/Makefile.am
deleted file mode 100644
index 0c12bd598449732502d13f59134abb671a46ea96..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-# this is example-file: src/mylib/Makefile.am
-
-# additional include paths necessary to compile the C++ library
-AM_CFLAGS = -Wall -I$(top_srcdir)/src -I$(top_srcdir)/shared -I$(top_srcdir)/include @AM_CFLAGS@
-
-###############################################################################
-# THE LIBRARIES TO BUILD
-###############################################################################
-
-# the library names to build (note we are building static libs only)
-lib_LIBRARIES = libNwGtpv2c.a
-
-# where to install the headers on the system
-libNwGtpv2c_adir = $(includedir)/mylib
-
-# the list of header files that belong to the library (to be installed later)
-libNwGtpv2c_a_HEADERS =    \
-			$(top_srcdir)/shared/NwTypes.h\
-			$(top_srcdir)/shared/NwUtils.h\
-			$(top_srcdir)/shared/NwError.h\
-			$(top_srcdir)/shared/NwLog.h\
-			$(top_srcdir)/shared/NwGtpv2c.h\
-			$(top_srcdir)/shared/NwGtpv2cMsg.h\
-			$(top_srcdir)/shared/NwGtpv2cMsgParser.h\
-			$(top_srcdir)/shared/NwGtpv2cIe.h\
-			$(top_srcdir)/include/NwGtpv2cPrivate.h\
-			$(top_srcdir)/include/NwGtpv2cTrxn.h\
-			$(top_srcdir)/include/NwGtpv2cTunnel.h\
-			$(top_srcdir)/include/NwGtpv2cMsgIeParseInfo.h\
-			$(top_srcdir)/include/NwGtpv2cLog.h\
-			$(top_srcdir)/include/queue.h\
-			$(top_srcdir)/include/tree.h
-
-# the sources to add to the library and to add to the source distribution
-libNwGtpv2c_a_SOURCES =    \
-			$(libNwGtpv2_a_HEADERS) \
-			NwGtpv2cTrxn.c\
-			NwGtpv2cTunnel.c\
-			NwGtpv2cMsg.c\
-			NwGtpv2cMsgIeParseInfo.c\
-			NwGtpv2cMsgParser.c\
-			NwGtpv2c.c
-
-###############################################################################
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2c.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2c.c
deleted file mode 100644
index 123fe0932a551eeffc088b27d7f5ec169530ac45..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2c.c
+++ /dev/null
@@ -1,1811 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwError.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cTrxn.h"
-#include "NwGtpv2cLog.h"
-
-#ifdef _NWGTPV2C_HAVE_TIMERADD
-#define NW_GTPV2C_TIMER_ADD(tvp, uvp, vvp) timeradd((tvp), (uvp), (vvp))
-#define NW_GTPV2C_TIMER_SUB(tvp, uvp, vvp) timersub((tvp), (uvp), (vvp))
-#define NW_GTPV2C_TIMER_CMP_P(a, b, CMP)   timercmp(a, b, CMP)
-#else
-
-#define NW_GTPV2C_TIMER_ADD(tvp, uvp, vvp)                               \
-  do {                                                                  \
-    (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec;                      \
-    (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec;                   \
-    if ((vvp)->tv_usec >= 1000000) {                                    \
-      (vvp)->tv_sec++;                                                  \
-      (vvp)->tv_usec -= 1000000;                                        \
-    }                                                                   \
-  } while (0)
-
-#define NW_GTPV2C_TIMER_SUB(tvp, uvp, vvp)                               \
-  do {                                                                  \
-    (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec;                      \
-    (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec;                   \
-    if ((vvp)->tv_usec < 0) {                                           \
-      (vvp)->tv_sec--;                                                  \
-      (vvp)->tv_usec += 1000000;                                        \
-    }                                                                   \
-  } while (0)
-
-#define NW_GTPV2C_TIMER_CMP_P(a, b, CMP)                                \
-  (((a)->tv_sec == (b)->tv_sec) ?                                       \
-   ((a)->tv_usec CMP (b)->tv_usec) :                                    \
-   ((a)->tv_sec CMP (b)->tv_sec))
-
-#endif
-
-
-#define NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(__thiz, __msgType)             \
-    do {                                                                \
-      __thiz->pGtpv2cMsgIeParseInfo[__msgType] =                        \
-      nwGtpv2cMsgIeParseInfoNew((NwGtpv2cStackHandleT)__thiz, __msgType);\
-    } while(0)
-
-#define NW_GTPV2C_UDP_PORT                                              (2123)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static NwGtpv2cTimeoutInfoT* gpGtpv2cTimeoutInfoPool = NULL;
-
-typedef struct {
-  int currSize;
-  int maxSize;
-  NwGtpv2cTimeoutInfoT** pHeap;
-} NwGtpv2cTmrMinHeapT;
-
-#define NW_HEAP_PARENT_INDEX(__child)           ( ( (__child) - 1 ) / 2 )
-
-
-NwGtpv2cTmrMinHeapT*
-nwGtpv2cTmrMinHeapNew(int maxSize)
-{
-  NwGtpv2cTmrMinHeapT* thiz = (NwGtpv2cTmrMinHeapT*) malloc (sizeof(NwGtpv2cTmrMinHeapT));
-
-  if(thiz) {
-    thiz->currSize = 0;
-    thiz->maxSize = maxSize;
-    thiz->pHeap = (NwGtpv2cTimeoutInfoT**) malloc (maxSize * sizeof(NwGtpv2cTimeoutInfoT*));
-  }
-
-  return thiz;
-}
-
-void
-nwGtpv2cTmrMinHeapDelete(NwGtpv2cTmrMinHeapT* thiz)
-{
-  free(thiz->pHeap);
-  free(thiz);
-}
-
-static NwRcT
-nwGtpv2cTmrMinHeapInsert(NwGtpv2cTmrMinHeapT* thiz, NwGtpv2cTimeoutInfoT* pTimerEvent)
-{
-  int holeIndex = thiz->currSize++;
-
-  NW_ASSERT(thiz->currSize < thiz->maxSize);
-
-  while((holeIndex > 0) &&
-        NW_GTPV2C_TIMER_CMP_P(&(thiz->pHeap[NW_HEAP_PARENT_INDEX(holeIndex)])->tvTimeout, &(pTimerEvent->tvTimeout), >)) {
-    thiz->pHeap[holeIndex] = thiz->pHeap[NW_HEAP_PARENT_INDEX(holeIndex)];
-    thiz->pHeap[holeIndex]->timerMinHeapIndex = holeIndex;
-    holeIndex = NW_HEAP_PARENT_INDEX(holeIndex);
-  }
-
-  thiz->pHeap[holeIndex] = pTimerEvent;
-  pTimerEvent->timerMinHeapIndex = holeIndex;
-
-  return holeIndex;
-}
-
-#define NW_MIN_HEAP_INDEX_INVALID                       (0xFFFFFFFF)
-static NwRcT
-nwGtpv2cTmrMinHeapRemove(NwGtpv2cTmrMinHeapT* thiz, int minHeapIndex)
-{
-  NwGtpv2cTimeoutInfoT* pTimerEvent;
-  int holeIndex = minHeapIndex;
-  int minChild, maxChild;
-
-  //printf("- Trying Removing %p from index %u, currSize %u, minChild %u, maxChild %u\n", thiz->pHeap[minHeapIndex], minHeapIndex, thiz->currSize, minChild, maxChild);
-  if(minHeapIndex == NW_MIN_HEAP_INDEX_INVALID) return NW_FAILURE;
-
-  if(minHeapIndex < thiz->currSize) {
-    thiz->pHeap[minHeapIndex]->timerMinHeapIndex = NW_MIN_HEAP_INDEX_INVALID;
-    thiz->currSize--;
-
-    pTimerEvent = thiz->pHeap[thiz->currSize];
-    holeIndex = minHeapIndex;
-    minChild = ( 2 * holeIndex ) + 1;
-    maxChild = minChild + 1;
-
-    //printf("- Removing %p from index %u, currSize %u, minChild %u, maxChild %u\n", thiz->pHeap[minHeapIndex], minHeapIndex, thiz->currSize, minChild, maxChild);
-
-    while( (maxChild) <= thiz->currSize ) {
-      if(NW_GTPV2C_TIMER_CMP_P(&(thiz->pHeap[minChild]->tvTimeout), &(thiz->pHeap[maxChild]->tvTimeout), >))
-        minChild = maxChild;
-
-      if(NW_GTPV2C_TIMER_CMP_P(&(pTimerEvent->tvTimeout), &(thiz->pHeap[minChild]->tvTimeout), <)) {
-        break;
-      }
-
-      thiz->pHeap[holeIndex] = thiz->pHeap[minChild];
-      thiz->pHeap[holeIndex]->timerMinHeapIndex = holeIndex;
-      holeIndex = minChild;
-      minChild = ( 2 * holeIndex ) + 1;
-      maxChild = minChild + 1;
-    }
-
-    while((holeIndex > 0) &&
-          NW_GTPV2C_TIMER_CMP_P(&((thiz->pHeap[NW_HEAP_PARENT_INDEX(holeIndex)])->tvTimeout), &(pTimerEvent->tvTimeout), >)) {
-      thiz->pHeap[holeIndex] = thiz->pHeap[NW_HEAP_PARENT_INDEX(holeIndex)];
-      thiz->pHeap[holeIndex]->timerMinHeapIndex = holeIndex;
-      holeIndex = NW_HEAP_PARENT_INDEX(holeIndex);
-    }
-
-    if(holeIndex < thiz->currSize) {
-      thiz->pHeap[holeIndex] = pTimerEvent;
-      pTimerEvent->timerMinHeapIndex = holeIndex;
-    }
-
-    thiz->pHeap[thiz->currSize] = NULL;
-    return NW_OK;
-  }
-
-  return NW_FAILURE;
-}
-
-static NwGtpv2cTimeoutInfoT*
-nwGtpv2cTmrMinHeapPeek(NwGtpv2cTmrMinHeapT* thiz)
-{
-  if(thiz->currSize) {
-    //printf("- Peek Returning %p at index %u(%u)\n", thiz->pHeap[0], thiz->pHeap[0]->timerMinHeapIndex, thiz->currSize);
-    return thiz->pHeap[0];
-  }
-
-  return NULL;
-}
-/*--------------------------------------------------------------------------*
- *                    P R I V A T E    F U N C T I O N S                    *
- *--------------------------------------------------------------------------*/
-
-static void
-nwGtpv2cDisplayBanner( NwGtpv2cStackT* thiz)
-{
-#ifdef NW_GTPV2C_DISPLAY_LICENCE_INFO
-  printf(" *----------------------------------------------------------------------------*\n");
-  printf(" *                                                                            *\n");
-  printf(" *                             n w - g t p v 2 c                              *\n");
-  printf(" *    G P R S    T u n n e l i n g    P r o t o c o l   v 2 c   S t a c k     *\n");
-  printf(" *                                                                            *\n");
-  printf(" *                                                                            *\n");
-  printf(" * Copyright (c) 2010-2011 Amit Chawre                                        *\n");
-  printf(" * All rights reserved.                                                       *\n");
-  printf(" *                                                                            *\n");
-  printf(" * Redistribution and use in source and binary forms, with or without         *\n");
-  printf(" * modification, are permitted provided that the following conditions         *\n");
-  printf(" * are met:                                                                   *\n");
-  printf(" *                                                                            *\n");
-  printf(" * 1. Redistributions of source code must retain the above copyright          *\n");
-  printf(" *    notice, this list of conditions and the following disclaimer.           *\n");
-  printf(" * 2. Redistributions in binary form must reproduce the above copyright       *\n");
-  printf(" *    notice, this list of conditions and the following disclaimer in the     *\n");
-  printf(" *    documentation and/or other materials provided with the distribution.    *\n");
-  printf(" * 3. The name of the author may not be used to endorse or promote products   *\n");
-  printf(" *    derived from this software without specific prior written permission.   *\n");
-  printf(" *                                                                            *\n");
-  printf(" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *\n");
-  printf(" * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *\n");
-  printf(" * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *\n");
-  printf(" * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *\n");
-  printf(" * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *\n");
-  printf(" * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *\n");
-  printf(" * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *\n");
-  printf(" * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *\n");
-  printf(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *\n");
-  printf(" * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *\n");
-  printf(" *----------------------------------------------------------------------------*\n\n");
-#endif
-}
-
-/*---------------------------------------------------------------------------
- * Tunnel RBTree Search Data Structure
- *--------------------------------------------------------------------------*/
-
-/**
-  Comparator funtion for comparing two sequence number transactions.
-
-  @param[in] a: Pointer to session a.
-  @param[in] b: Pointer to session b.
-  @return  An integer greater than, equal to or less than zero according to whether the
-  object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv2cCompareTunnel(struct NwGtpv2cTunnel * a, struct NwGtpv2cTunnel* b)
-{
-  if(a->teid > b->teid)
-    return 1;
-
-  if(a->teid < b->teid)
-    return -1;
-
-  if(a->ipv4AddrRemote > b->ipv4AddrRemote)
-    return 1;
-
-  if(a->ipv4AddrRemote < b->ipv4AddrRemote)
-    return -1;
-
-  return 0;
-}
-
-RB_GENERATE(NwGtpv2cTunnelMap, NwGtpv2cTunnel, tunnelMapRbtNode, nwGtpv2cCompareTunnel)
-
-/*---------------------------------------------------------------------------
- * Transaction RBTree Search Data Structure
- *--------------------------------------------------------------------------*/
-
-/**
-  Comparator funtion for comparing two outstancing TX transactions.
-
-  @param[in] a: Pointer to session a.
-  @param[in] b: Pointer to session b.
-  @return  An integer greater than, equal to or less than zero according to whether the
-  object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv2cCompareOutstandingTxSeqNumTrxn(struct NwGtpv2cTrxn* a, struct NwGtpv2cTrxn* b)
-{
-  if(a->seqNum > b->seqNum)
-    return 1;
-
-  if(a->seqNum < b->seqNum)
-    return -1;
-
-  if(a->peerIp > b->peerIp)
-    return 1;
-
-  if(a->peerIp < b->peerIp)
-    return -1;
-
-  return 0;
-}
-
-RB_GENERATE(NwGtpv2cOutstandingTxSeqNumTrxnMap, NwGtpv2cTrxn, outstandingTxSeqNumMapRbtNode, nwGtpv2cCompareOutstandingTxSeqNumTrxn)
-
-/**
-  Comparator funtion for comparing outstanding RX transactions.
-
-  @param[in] a: Pointer to session a.
-  @param[in] b: Pointer to session b.
-  @return  An integer greater than, equal to or less than zero according to whether the
-  object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv2cCompareOutstandingRxSeqNumTrxn(struct NwGtpv2cTrxn* a, struct NwGtpv2cTrxn* b)
-{
-  if(a->seqNum > b->seqNum)
-    return 1;
-
-  if(a->seqNum < b->seqNum)
-    return -1;
-
-  if(a->peerIp > b->peerIp)
-    return 1;
-
-  if(a->peerIp < b->peerIp)
-    return -1;
-
-  if(a->peerPort > b->peerPort)
-    return 1;
-
-  if(a->peerPort < b->peerPort)
-    return -1;
-
-  return 0;
-}
-
-RB_GENERATE(NwGtpv2cOutstandingRxSeqNumTrxnMap, NwGtpv2cTrxn, outstandingRxSeqNumMapRbtNode, nwGtpv2cCompareOutstandingRxSeqNumTrxn)
-
-/*---------------------------------------------------------------------------
- * Timer RB-tree data structure.
- *--------------------------------------------------------------------------*/
-
-/**
-  Comparator funtion for comparing two outstancing TX transactions.
-
-  @param[in] a: Pointer to session a.
-  @param[in] b: Pointer to session b.
-  @return  An integer greater than, equal to or less than zero according to whether the
-  object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv2cCompareOutstandingTxRexmitTime(struct NwGtpv2cTimeoutInfo* a, struct NwGtpv2cTimeoutInfo* b)
-{
-  if(NW_GTPV2C_TIMER_CMP_P(&a->tvTimeout, &b->tvTimeout, >))
-    return 1;
-
-  if(NW_GTPV2C_TIMER_CMP_P(&a->tvTimeout, &b->tvTimeout, <))
-    return -1;
-
-  return 0;
-}
-
-RB_GENERATE(NwGtpv2cActiveTimerList, NwGtpv2cTimeoutInfo, activeTimerListRbtNode, nwGtpv2cCompareOutstandingTxRexmitTime)
-
-
-
-/**
- * Send msg to peer via data request to UDP Entity
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] peerIp : Peer Ip address.
- * @param[in] peerPort : Peer Ip port.
- * @param[in] pMsg : Message to be sent.
- * @return NW_OK on success.
- */
-static NwRcT
-nwGtpv2cCreateAndSendMsg(NW_IN  NwGtpv2cStackT* thiz,
-                         NW_IN  uint32_t seqNum,
-                         NW_IN  uint32_t peerIp,
-                         NW_IN  uint32_t peerPort,
-                         NW_IN  NwGtpv2cMsgT *pMsg)
-{
-  NwRcT rc;
-  uint8_t* msgHdr;
-
-  NW_ASSERT(thiz);
-  NW_ASSERT(pMsg);
-
-  msgHdr = pMsg->msgBuf;
-
-  /* Set flags in header */
-  *(msgHdr++)         = (pMsg->version << 5) | (pMsg->teidPresent << 3);
-
-  /* Set msg type in header */
-  *(msgHdr++)         = (pMsg->msgType);
-
-  /* Set msg length in header*/
-  *((uint16_t*) msgHdr) = htons(pMsg->msgLen - 4 );
-  msgHdr += 2;
-
-  /* Set TEID, if present in header */
-  if(pMsg->teidPresent) {
-    *((uint32_t*) msgHdr) = htonl(pMsg->teid);
-    msgHdr += 4;
-  }
-
-  /* Set seq num in header */
-  *((uint32_t*) msgHdr) = htonl(seqNum << 8);
-
-  /* Call UDP data request callback */
-  NW_ASSERT(thiz->udp.udpDataReqCallback != NULL);
-  rc = thiz->udp.udpDataReqCallback(thiz->udp.hUdp,
-                                    pMsg->msgBuf,
-                                    pMsg->msgLen,
-                                    peerIp,
-                                    peerPort);
-  NW_ASSERT(NW_OK == rc);
-
-  return rc;
-}
-
-/**
-  Send an Version Not Supported message
-
-  @param[in] thiz : Stack pointer
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cSendVersionNotSupportedInd( NW_IN NwGtpv2cStackT* thiz,
-                                    NW_IN uint32_t peerIp,
-                                    NW_IN uint32_t peerPort,
-                                    NW_IN uint32_t seqNum)
-{
-  NwRcT rc;
-  NwGtpv2cMsgHandleT    hMsg = 0;
-
-  rc = nwGtpv2cMsgNew( (NwGtpv2cStackHandleT)thiz,
-                       NW_FALSE,
-                       NW_GTP_VERSION_NOT_SUPPORTED_IND,
-                       0x00,
-                       seqNum,
-                       (&hMsg));
-
-  NW_ASSERT(NW_OK == rc);
-
-  NW_LOG(thiz, NW_LOG_LEVEL_NOTI, "Sending Version Not Supported Indication message to %x:%x with seq %u", peerIp, peerPort, seqNum);
-
-  rc = nwGtpv2cCreateAndSendMsg(thiz,
-                                seqNum,
-                                peerIp,
-                                peerPort,
-                                (NwGtpv2cMsgT*) hMsg);
-
-  rc = nwGtpv2cMsgDelete((NwGtpv2cStackHandleT)thiz, hMsg);
-  NW_ASSERT(NW_OK == rc);
-
-  return rc;
-}
-
-/**
-  Create a local tunnel.
-
-  @param[in] thiz : Stack pointer
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cCreateLocalTunnel( NW_IN NwGtpv2cStackT* thiz,
-                           NW_IN uint32_t teid,
-                           NW_IN uint32_t ipv4Remote,
-                           NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel,
-                           NW_OUT NwGtpv2cTunnelHandleT *phTunnel)
-{
-  NwRcT rc;
-  NwGtpv2cTunnelT *pTunnel, *pCollision;
-
-  NW_ENTER(thiz);
-
-  NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Creating local tunnel with teid '0x%x' and peer IP 0x%x", teid, ipv4Remote);
-
-  pTunnel = nwGtpv2cTunnelNew(thiz, teid, ipv4Remote, hUlpTunnel);
-
-  if(pTunnel) {
-    pCollision = RB_INSERT(NwGtpv2cTunnelMap, &(thiz->tunnelMap), pTunnel);
-
-    if(pCollision) {
-      rc = nwGtpv2cTunnelDelete(thiz, pTunnel);
-      NW_ASSERT(NW_OK == rc);
-
-      *phTunnel = (NwGtpv2cTunnelHandleT) 0;
-      NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Local tunnel creation failed for teid '0x%x' and peer IP "NW_IPV4_ADDR". Tunnel already exists!", teid, NW_IPV4_ADDR_FORMAT(ipv4Remote));
-
-      NW_ASSERT(0);
-      NW_LEAVE(thiz);
-      return NW_OK;
-    }
-  } else {
-    rc = NW_FAILURE;
-  }
-
-  *phTunnel = (NwGtpv2cTunnelHandleT) pTunnel;
-  NW_LEAVE(thiz);
-  return NW_OK;
-}
-
-/**
-  Delete a local tunnel.
-
-  @param[in] thiz : Stack pointer
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cDeleteLocalTunnel( NW_IN NwGtpv2cStackT* thiz,
-                           NW_OUT NwGtpv2cTunnelHandleT hTunnel)
-{
-  NwRcT rc;
-  NwGtpv2cTunnelT *pTunnel = (NwGtpv2cTunnelT*) hTunnel ;
-
-  NW_ENTER(thiz);
-
-  pTunnel = RB_REMOVE(NwGtpv2cTunnelMap, &(thiz->tunnelMap), (NwGtpv2cTunnelT*)hTunnel);
-  NW_ASSERT(pTunnel == (NwGtpv2cTunnelT*)hTunnel);
-
-  NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Deleting local tunnel with teid '0x%x' and peer IP 0x%x", pTunnel->teid, pTunnel->ipv4AddrRemote);
-
-  rc = nwGtpv2cTunnelDelete(thiz, pTunnel);
-  NW_ASSERT(NW_OK == rc);
-
-  NW_LEAVE(thiz);
-  return NW_OK;
-}
-
-/*---------------------------------------------------------------------------
- * ULP API Processing Functions
- *--------------------------------------------------------------------------*/
-
-/**
-  Process NW_GTPV2C_ULP_API_INITIAL_REQ Request from ULP entity.
-
-  @param[in] hGtpcStackHandle : Stack handle
-  @param[in] pUlpReq : Pointer to Ulp Req.
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpInitialReq( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
-  NwRcT rc;
-  NwGtpv2cTrxnT *pTrxn;
-
-  NW_ENTER(thiz);
-
-  /* Create New Transaction */
-  pTrxn = nwGtpv2cTrxnNew(thiz);
-
-  if(pTrxn) {
-    if(!pUlpReq->apiInfo.initialReqInfo.hTunnel) {
-      rc = nwGtpv2cCreateLocalTunnel(thiz,
-                                     pUlpReq->apiInfo.initialReqInfo.teidLocal,
-                                     pUlpReq->apiInfo.initialReqInfo.peerIp,
-                                     pUlpReq->apiInfo.initialReqInfo.hUlpTunnel,
-                                     &pUlpReq->apiInfo.initialReqInfo.hTunnel);
-      NW_ASSERT(NW_OK == rc);
-    }
-
-    pTrxn->pMsg         = (NwGtpv2cMsgT*) pUlpReq->hMsg;
-    pTrxn->hTunnel      = pUlpReq->apiInfo.initialReqInfo.hTunnel;
-    pTrxn->hUlpTrxn     = pUlpReq->apiInfo.initialReqInfo.hUlpTrxn;
-    pTrxn->peerIp       = ((NwGtpv2cTunnelT*)(pTrxn->hTunnel))->ipv4AddrRemote;
-    pTrxn->peerPort     = NW_GTPV2C_UDP_PORT;
-
-    if(pUlpReq->apiType & NW_GTPV2C_ULP_API_FLAG_IS_COMMAND_MESSAGE) {
-      pTrxn->seqNum |= 0x00100000UL;
-    }
-
-    rc = nwGtpv2cCreateAndSendMsg(thiz,
-                                  pTrxn->seqNum,
-                                  pTrxn->peerIp,
-                                  pTrxn->peerPort,
-                                  pTrxn->pMsg);
-
-    if(NW_OK == rc) {
-      /* Start guard timer */
-      rc = nwGtpv2cTrxnStartPeerRspWaitTimer(pTrxn);
-      NW_ASSERT(NW_OK == rc);
-
-      /* Insert into search tree */
-      pTrxn = RB_INSERT(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), pTrxn);
-      NW_ASSERT(pTrxn == NULL);
-    } else {
-      rc = nwGtpv2cTrxnDelete(&pTrxn);
-      NW_ASSERT(NW_OK == rc);
-    }
-  } else {
-    rc = NW_FAILURE;
-  }
-
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-/**
-  Process NW_GTPV2C_ULP_API_TRIGGERED_REQ Request from ULP entity.
-
-  @param[in] hGtpcStackHandle : Stack handle
-  @param[in] pUlpReq : Pointer to Ulp Req.
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpTriggeredReq( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
-  NwRcT rc;
-  NwGtpv2cTrxnT *pTrxn;
-  NwGtpv2cTrxnT *pReqTrxn;
-
-  NW_ENTER(thiz);
-
-  /* Create New Transaction */
-  pTrxn = nwGtpv2cTrxnWithSeqNumNew(thiz, (((NwGtpv2cMsgT*)(pUlpReq->hMsg))->seqNum));
-
-  if(pTrxn) {
-    pReqTrxn            = (NwGtpv2cTrxnT*) pUlpReq->apiInfo.triggeredReqInfo.hTrxn;
-
-    pTrxn->hUlpTrxn     = pUlpReq->apiInfo.triggeredReqInfo.hUlpTrxn;
-    pTrxn->peerIp       = pReqTrxn->peerIp;
-    pTrxn->peerPort     = pReqTrxn->peerPort;
-    pTrxn->pMsg         = (NwGtpv2cMsgT*) pUlpReq->hMsg;
-
-    rc = nwGtpv2cCreateAndSendMsg(thiz,
-                                  pTrxn->seqNum,
-                                  pTrxn->peerIp,
-                                  pTrxn->peerPort,
-                                  pTrxn->pMsg);
-
-    if(NW_OK == rc) {
-      /* Start guard timer */
-      rc = nwGtpv2cTrxnStartPeerRspWaitTimer(pTrxn);
-      NW_ASSERT(NW_OK == rc);
-
-      /* Insert into search tree */
-      RB_INSERT(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), pTrxn);
-
-      if(!pUlpReq->apiInfo.triggeredReqInfo.hTunnel) {
-        rc = nwGtpv2cCreateLocalTunnel(thiz,
-                                       pUlpReq->apiInfo.triggeredReqInfo.teidLocal,
-                                       pReqTrxn->peerIp,
-                                       pUlpReq->apiInfo.triggeredReqInfo.hUlpTunnel,
-                                       &pUlpReq->apiInfo.triggeredReqInfo.hTunnel);
-      }
-    } else {
-      rc = nwGtpv2cTrxnDelete(&pTrxn);
-      NW_ASSERT(NW_OK == rc);
-    }
-  } else {
-    rc = NW_FAILURE;
-  }
-
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-/**
-  Process NW_GTPV2C_ULP_API_TRIGGERED_RSP Request from ULP entity.
-
-  @param[in] hGtpcStackHandle : Stack handle
-  @param[in] pUlpReq : Pointer to Ulp Req.
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpTriggeredRsp( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpRsp)
-{
-  NwRcT rc;
-  NwGtpv2cTrxnT *pReqTrxn;
-
-  NW_ENTER(thiz);
-
-  pReqTrxn            = (NwGtpv2cTrxnT*) pUlpRsp->apiInfo.triggeredRspInfo.hTrxn;
-  NW_ASSERT(pReqTrxn != NULL);
-
-  if(((NwGtpv2cMsgT*) pUlpRsp->hMsg)->seqNum == 0)
-    ((NwGtpv2cMsgT*) pUlpRsp->hMsg)->seqNum = pReqTrxn->seqNum;
-
-  NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Sending response message over seq '0x%x'", pReqTrxn->seqNum);
-
-  rc = nwGtpv2cCreateAndSendMsg(thiz,
-                                pReqTrxn->seqNum,
-                                pReqTrxn->peerIp,
-                                pReqTrxn->peerPort,
-                                (NwGtpv2cMsgT*) pUlpRsp->hMsg);
-
-  pReqTrxn->pMsg = (NwGtpv2cMsgT*) pUlpRsp->hMsg;
-
-  rc = nwGtpv2cTrxnStartDulpicateRequestWaitTimer(pReqTrxn);
-
-  if((pUlpRsp->apiType & 0xFF000000) == NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL) {
-    rc = nwGtpv2cCreateLocalTunnel(thiz,
-                                   pUlpRsp->apiInfo.triggeredRspInfo.teidLocal,
-                                   pReqTrxn->peerIp,
-                                   pUlpRsp->apiInfo.triggeredRspInfo.hUlpTunnel,
-                                   &pUlpRsp->apiInfo.triggeredRspInfo.hTunnel);
-  }
-
-  return rc;
-}
-
-/**
-  Process NW_GTPV2C_ULP_CREATE_LOCAL_TUNNEL Request from ULP entity.
-
-  @param[in] hGtpcStackHandle : Stack handle
-  @param[in] pUlpReq : Pointer to Ulp Req.
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpCreateLocalTunnel( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
-  NwRcT rc;
-  NwGtpv2cTunnelT *pTunnel, *pCollision;
-
-  NW_ENTER(thiz);
-
-  NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Creating local tunnel with teid '0x%x' and peer IP 0x%x", pUlpReq->apiInfo.createLocalTunnelInfo.teidLocal, pUlpReq->apiInfo.createLocalTunnelInfo.peerIp);
-
-  pTunnel = nwGtpv2cTunnelNew(thiz, pUlpReq->apiInfo.createLocalTunnelInfo.teidLocal,
-                              pUlpReq->apiInfo.createLocalTunnelInfo.peerIp,
-                              pUlpReq->apiInfo.triggeredRspInfo.hUlpTunnel);
-  NW_ASSERT(pTunnel);
-
-  pCollision = RB_INSERT(NwGtpv2cTunnelMap, &(thiz->tunnelMap), pTunnel);
-
-  if(pCollision) {
-    rc = nwGtpv2cTunnelDelete(thiz, pTunnel);
-    NW_ASSERT(NW_OK == rc);
-
-    pUlpReq->apiInfo.createLocalTunnelInfo.hTunnel = (NwGtpv2cTunnelHandleT) 0;
-    NW_LEAVE(thiz);
-    return NW_FAILURE;
-  }
-
-  pUlpReq->apiInfo.createLocalTunnelInfo.hTunnel = (NwGtpv2cTunnelHandleT) pTunnel;
-  NW_LEAVE(thiz);
-  return NW_OK;
-}
-
-/**
-  Process NW_GTPV2C_ULP_DELETE_LOCAL_TUNNEL Request from ULP entity.
-
-  @param[in] hGtpcStackHandle : Stack handle
-  @param[in] pUlpReq : Pointer to Ulp Req.
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpDeleteLocalTunnel( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
-  NwRcT rc;
-
-  NW_ENTER(thiz);
-
-  rc = nwGtpv2cDeleteLocalTunnel(thiz, pUlpReq->apiInfo.deleteLocalTunnelInfo.hTunnel);
-
-  NW_LEAVE(thiz);
-  return rc;
-}
-
-/**
-  Send GTPv2c Initial Request Message Indication to ULP entity.
-
-  @param[in] hGtpcStackHandle : Stack handle
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cSendInitialReqIndToUlp( NW_IN NwGtpv2cStackT *thiz,
-                                NW_IN NwGtpv2cErrorT *pError,
-                                NW_IN NwGtpv2cTrxnT *pTrxn,
-                                NW_IN uint32_t  hUlpTunnel,
-                                NW_IN uint32_t  msgType,
-                                NW_IN uint32_t  peerIp,
-                                NW_IN uint16_t  peerPort,
-                                NW_IN NwGtpv2cMsgHandleT hMsg)
-{
-  NwRcT rc;
-  NwGtpv2cUlpApiT ulpApi;
-
-  NW_ENTER(thiz);
-
-  ulpApi.hMsg                                 = hMsg;
-  ulpApi.apiType                              = NW_GTPV2C_ULP_API_INITIAL_REQ_IND;
-  ulpApi.apiInfo.initialReqIndInfo.msgType    = msgType;
-  ulpApi.apiInfo.initialReqIndInfo.hTrxn      = (NwGtpv2cTrxnHandleT) pTrxn;
-  ulpApi.apiInfo.initialReqIndInfo.hUlpTunnel = hUlpTunnel;
-  ulpApi.apiInfo.initialReqIndInfo.peerIp     = peerIp;
-  ulpApi.apiInfo.initialReqIndInfo.peerPort   = peerPort;
-
-  ulpApi.apiInfo.triggeredRspIndInfo.error      = *pError;
-
-  rc = thiz->ulp.ulpReqCallback(thiz->ulp.hUlp, &ulpApi);
-
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-/**
-  Send GTPv2c Triggered Response Indication to ULP entity.
-
-  @param[in] hGtpcStackHandle : Stack handle
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cSendTriggeredRspIndToUlp( NW_IN NwGtpv2cStackT* thiz,
-                                  NW_IN NwGtpv2cErrorT *pError,
-                                  NW_IN uint32_t  hUlpTrxn,
-                                  NW_IN uint32_t  hUlpTunnel,
-                                  NW_IN uint32_t  msgType,
-                                  NW_IN NwGtpv2cMsgHandleT hMsg)
-{
-  NwRcT rc;
-  NwGtpv2cUlpApiT ulpApi;
-
-  NW_ENTER(thiz);
-
-  ulpApi.hMsg                                   = hMsg;
-  ulpApi.apiType                                = NW_GTPV2C_ULP_API_TRIGGERED_RSP_IND;
-  ulpApi.apiInfo.triggeredRspIndInfo.msgType    = msgType;
-  ulpApi.apiInfo.triggeredRspIndInfo.hUlpTrxn   = hUlpTrxn;
-  ulpApi.apiInfo.triggeredRspIndInfo.hUlpTunnel = hUlpTunnel;
-
-  ulpApi.apiInfo.triggeredRspIndInfo.error      = *pError;
-
-  rc = thiz->ulp.ulpReqCallback(thiz->ulp.hUlp, &ulpApi);
-
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-/**
-  Handle Echo Request from Peer Entity.
-
-  @param[in] thiz : Stack context
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleEchoReq(NW_IN NwGtpv2cStackT *thiz,
-                      NW_IN uint32_t msgType,
-                      NW_IN uint8_t* msgBuf,
-                      NW_IN uint32_t msgBufLen,
-                      NW_IN uint16_t peerPort,
-                      NW_IN uint32_t peerIp)
-{
-  NwRcT                 rc;
-  uint32_t                seqNum = 0;
-  NwGtpv2cMsgHandleT    hMsg = 0;
-
-  seqNum = ntohl(*((uint32_t*)(msgBuf + (((*msgBuf) & 0x08) ? 8 : 4)))) >> 8;
-
-  /* Send Echo Response */
-
-  rc = nwGtpv2cMsgNew( (NwGtpv2cStackHandleT)thiz,
-                       NW_FALSE,         /* TEID present flag    */
-                       NW_GTP_ECHO_RSP,  /* Msg Type             */
-                       0x00,             /* TEID                 */
-                       seqNum,           /* Seq Number           */
-                       (&hMsg));
-
-  NW_ASSERT(NW_OK == rc);
-
-  rc = nwGtpv2cMsgAddIeTV1(hMsg, NW_GTPV2C_IE_RECOVERY, 0, thiz->restartCounter);
-
-  NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Sending NW_GTP_ECHO_RSP message to "NW_IPV4_ADDR":%u with seq %u", NW_IPV4_ADDR_FORMAT(peerIp), peerPort, (seqNum));
-
-  rc = nwGtpv2cCreateAndSendMsg(thiz,
-                                (seqNum),
-                                peerIp,
-                                peerPort,
-                                (NwGtpv2cMsgT*) hMsg);
-
-  rc = nwGtpv2cMsgDelete((NwGtpv2cStackHandleT)thiz, hMsg);
-  NW_ASSERT(NW_OK == rc);
-
-  return rc;
-}
-
-/**
-  Handle Initial Request from Peer Entity.
-
-  @param[in] thiz : Stack context
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleInitialReq(NW_IN NwGtpv2cStackT *thiz,
-                         NW_IN uint32_t msgType,
-                         NW_IN uint8_t* msgBuf,
-                         NW_IN uint32_t msgBufLen,
-                         NW_IN uint16_t peerPort,
-                         NW_IN uint32_t peerIp)
-{
-  NwRcT                         rc;
-  uint32_t                        seqNum = 0;
-  uint32_t                        teidLocal = 0;
-  NwGtpv2cTrxnT                 *pTrxn;
-  NwGtpv2cTunnelT               *pLocalTunnel, keyTunnel;
-  NwGtpv2cMsgHandleT            hMsg = 0;
-  NwGtpv2cUlpTunnelHandleT      hUlpTunnel;
-  NwGtpv2cErrorT                error;
-
-  teidLocal = *((uint32_t*)(msgBuf + 4));
-
-  if(teidLocal) {
-    keyTunnel.teid           = ntohl(teidLocal);
-    keyTunnel.ipv4AddrRemote = peerIp;
-    pLocalTunnel = RB_FIND(NwGtpv2cTunnelMap, &(thiz->tunnelMap), &keyTunnel);
-
-    if(!pLocalTunnel) {
-      NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Request message received on non-existent teid 0x%x from peer 0x%x received! Discarding.", ntohl(teidLocal), htonl(peerIp));
-      return NW_OK;
-    }
-
-    hUlpTunnel = pLocalTunnel->hUlpTunnel;
-  } else {
-    hUlpTunnel = 0;
-  }
-
-  seqNum = ntohl(*((uint32_t*)(msgBuf + (((*msgBuf) & 0x08) ? 8 : 4)))) >> 8;
-  pTrxn = nwGtpv2cTrxnOutstandingRxNew(thiz, ntohl(teidLocal), peerIp, peerPort, (seqNum));
-
-  if(pTrxn) {
-
-    rc = nwGtpv2cMsgFromBufferNew((NwGtpv2cStackHandleT)thiz, msgBuf, msgBufLen, &(hMsg));
-
-    NW_ASSERT(thiz->pGtpv2cMsgIeParseInfo[msgType]);
-
-    rc = nwGtpv2cMsgIeParse(thiz->pGtpv2cMsgIeParseInfo[msgType], hMsg, &error);
-
-    if(rc != NW_OK) {
-      NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Malformed request message received on TEID %u from peer 0x%x. Notifying ULP.", ntohl(teidLocal), htonl(peerIp));
-    }
-
-    rc  = nwGtpv2cSendInitialReqIndToUlp( thiz,
-                                          &error,
-                                          pTrxn,
-                                          hUlpTunnel,
-                                          msgType,
-                                          peerIp,
-                                          peerPort,
-                                          hMsg);
-  }
-
-  return NW_OK;
-}
-
-/**
-  Handle Triggered Response from Peer Entity.
-
-  @param[in] thiz : Stack context
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleTriggeredRsp(NW_IN NwGtpv2cStackT *thiz,
-                           NW_IN uint32_t msgType,
-                           NW_IN uint8_t* msgBuf,
-                           NW_IN uint32_t msgBufLen,
-                           NW_IN uint16_t peerPort,
-                           NW_IN uint32_t peerIp)
-{
-  NwRcT                 rc;
-  NwGtpv2cTrxnT         *pTrxn, keyTrxn;
-  NwGtpv2cMsgHandleT    hMsg = 0;
-  NwGtpv2cErrorT        error;
-
-  keyTrxn.seqNum          = ntohl(*((uint32_t*)(msgBuf + (((*msgBuf) & 0x08) ? 8 : 4)))) >> 8;;
-  keyTrxn.peerIp          = peerIp;
-
-  pTrxn = RB_FIND(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), &keyTrxn);
-
-  if(pTrxn) {
-    uint32_t hUlpTrxn;
-    uint32_t hUlpTunnel;
-
-    hUlpTrxn = pTrxn->hUlpTrxn;
-    hUlpTunnel = (pTrxn->hTunnel ? ((NwGtpv2cTunnelT*)(pTrxn->hTunnel))->hUlpTunnel : 0);
-
-    RB_REMOVE(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), pTrxn);
-    rc = nwGtpv2cTrxnDelete(&pTrxn);
-    NW_ASSERT(NW_OK == rc);
-
-    NW_ASSERT(msgBuf && msgBufLen);
-    rc = nwGtpv2cMsgFromBufferNew((NwGtpv2cStackHandleT)thiz, msgBuf, msgBufLen, &(hMsg));
-
-    NW_ASSERT(thiz->pGtpv2cMsgIeParseInfo[msgType]);
-    rc = nwGtpv2cMsgIeParse(thiz->pGtpv2cMsgIeParseInfo[msgType], hMsg, &error);
-
-    if(rc != NW_OK) {
-      NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Malformed message received on TEID %u from peer 0x%x. Notifying ULP.", ntohl((*((uint32_t*)(msgBuf + 4)))), htonl(peerIp));
-    }
-
-    rc  = nwGtpv2cSendTriggeredRspIndToUlp( thiz,
-                                            &error,
-                                            hUlpTrxn,
-                                            hUlpTunnel,
-                                            msgType,
-                                            hMsg);
-  } else {
-    NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Response message without a matching outstanding request received! Discarding.");
-    rc = NW_OK;
-  }
-
-  return rc;
-}
-
-/*--------------------------------------------------------------------------*
- *                     P U B L I C   F U N C T I O N S                      *
- *--------------------------------------------------------------------------*/
-
-/**
- * Constructor
- */
-
-NwRcT
-nwGtpv2cInitialize( NW_INOUT NwGtpv2cStackHandleT* hGtpcStackHandle)
-{
-  NwRcT rc = NW_OK;
-  NwGtpv2cStackT* thiz;
-
-  thiz = (NwGtpv2cStackT*) malloc( sizeof(NwGtpv2cStackT));
-
-  memset(thiz, 0, sizeof(NwGtpv2cStackT));
-
-  if(thiz) {
-    thiz->id            = (uint32_t) thiz;
-    thiz->seqNum        = ((uint32_t) thiz) & 0x0000FFFF;
-
-    RB_INIT(&(thiz->tunnelMap));
-    RB_INIT(&(thiz->outstandingTxSeqNumMap));
-    RB_INIT(&(thiz->outstandingRxSeqNumMap));
-    RB_INIT(&(thiz->activeTimerList));
-
-    thiz->hTmrMinHeap = (NwHandleT) nwGtpv2cTmrMinHeapNew(10000);
-
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_ECHO_RSP);
-
-    /* For S11 interface */
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CREATE_SESSION_REQ);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CREATE_SESSION_RSP);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_DELETE_SESSION_REQ);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_DELETE_SESSION_RSP);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_MODIFY_BEARER_REQ);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_MODIFY_BEARER_RSP);
-
-    /* For S10 interface */
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_FORWARD_RELOCATION_REQ);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_FORWARD_RELOCATION_RSP);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_FORWARD_RELOCATION_COMPLETE_NTF);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_FORWARD_RELOCATION_COMPLETE_ACK);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CONTEXT_REQ);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CONTEXT_REQ);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CONTEXT_ACK);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_IDENTIFICATION_REQ);
-    NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_IDENTIFICATION_RSP);
-
-    nwGtpv2cDisplayBanner(thiz);
-  } else {
-    rc = NW_FAILURE;
-  }
-
-  *hGtpcStackHandle = (NwGtpv2cStackHandleT) thiz;
-  return rc;
-}
-
-
-/**
- * Destructor
- */
-
-NwRcT
-nwGtpv2cFinalize( NW_IN  NwGtpv2cStackHandleT hGtpcStackHandle)
-{
-  if(!hGtpcStackHandle)
-    return NW_FAILURE;
-
-  free((void*)hGtpcStackHandle);
-  return NW_OK;
-}
-
-
-/**
- * Set ULP entity
- */
-
-NwRcT
-nwGtpv2cSetUlpEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                      NW_IN NwGtpv2cUlpEntityT* pUlpEntity)
-{
-  NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
-  if(!pUlpEntity)
-    return NW_FAILURE;
-
-  thiz->ulp = *(pUlpEntity);
-  return NW_OK;
-}
-
-/**
- * Set UDP entity
- */
-
-NwRcT
-nwGtpv2cSetUdpEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                      NW_IN NwGtpv2cUdpEntityT* pUdpEntity)
-{
-  NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
-  if(!pUdpEntity)
-    return NW_FAILURE;
-
-  thiz->udp = *(pUdpEntity);
-  return NW_OK;
-}
-
-/**
- * Set MEM MGR entity
- */
-
-NwRcT
-nwGtpv2cSetMemMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                         NW_IN NwGtpv2cMemMgrEntityT* pMemMgrEntity)
-{
-  NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
-  if(!pMemMgrEntity)
-    return NW_FAILURE;
-
-  thiz->memMgr = *(pMemMgrEntity);
-  return NW_OK;
-}
-
-/**
- * Set TMR MGR entity
- */
-
-NwRcT
-nwGtpv2cSetTimerMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                           NW_IN NwGtpv2cTimerMgrEntityT* pTmrMgrEntity)
-{
-  NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
-  if(!pTmrMgrEntity)
-    return NW_FAILURE;
-
-  thiz->tmrMgr = *(pTmrMgrEntity);
-  return NW_OK;
-}
-
-
-/**
- * Set LOG MGR entity
- */
-
-NwRcT
-nwGtpv2cSetLogMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                         NW_IN NwGtpv2cLogMgrEntityT* pLogMgrEntity)
-{
-  NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
-  if(!pLogMgrEntity)
-    return NW_FAILURE;
-
-  thiz->logMgr = *(pLogMgrEntity);
-  return NW_OK;
-}
-
-/**
- Set log level for the stack.
- */
-
-NwRcT
-nwGtpv2cSetLogLevel( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                     NW_IN uint32_t logLevel)
-{
-  NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-  thiz->logLevel = logLevel;
-  return NW_OK;
-}
-
-/**
- * Process Request from Udp Layer
- */
-
-NwRcT
-nwGtpv2cProcessUdpReq( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                       NW_IN uint8_t* udpData,
-                       NW_IN uint32_t udpDataLen,
-                       NW_IN uint16_t peerPort,
-                       NW_IN uint32_t peerIp)
-{
-  NwRcT                 rc;
-  NwGtpv2cStackT*       thiz;
-  uint16_t                msgType;
-
-  thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-  NW_ASSERT(thiz);
-
-  NW_ENTER(thiz);
-
-  if(udpDataLen < NW_GTPV2C_MINIMUM_HEADER_SIZE) {
-    /*
-     * TS 29.274 Section 7.7.3:
-     * If a GTP entity receives a message, which is too short to
-     * contain the respective GTPv2 header, the GTP-PDU shall be
-     * silently discarded
-     */
-    NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received message too small! Discarding.");
-    return NW_OK;
-  }
-
-  if( (ntohs(*((uint16_t*)((uint8_t*)udpData + 2))) /* Length */
-       + ((*((uint8_t*)(udpData)) & 0x08) ? 4 : 0) /* Extra Header length if TEID present */) > udpDataLen) {
-    NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received message with errneous length of %u against expected length of %u! Discarding", udpDataLen,
-           ntohs(*((uint16_t*)((uint8_t*)udpData + 2))) + ((*((uint8_t*)(udpData)) & 0x08) ? 4 : 0));
-    return NW_OK;
-  }
-
-  if(((*((uint8_t*)(udpData)) & 0xE0) >> 5) != NW_GTP_VERSION) {
-    NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received unsupported GTP version '%u' message! Discarding.", ((*((uint8_t*)(udpData)) & 0xE0) >> 5));
-    /* Send Version Not Supported Message to peer */
-    rc = nwGtpv2cSendVersionNotSupportedInd(
-           thiz,
-           peerIp,
-           peerPort,
-           *((uint32_t*)(udpData + ((*((uint8_t*)(udpData)) & 0x08) ? 8 : 4))) /* Seq Num */);
-
-    return NW_OK;
-  }
-
-  msgType = *((uint8_t*)(udpData + 1));
-
-  switch(msgType) {
-  case NW_GTP_ECHO_REQ: {
-    rc = nwGtpv2cHandleEchoReq(thiz, msgType, udpData, udpDataLen, peerPort, peerIp);
-  }
-  break;
-
-  case NW_GTP_CREATE_SESSION_REQ:
-  case NW_GTP_MODIFY_BEARER_REQ:
-  case NW_GTP_DELETE_SESSION_REQ:
-  case NW_GTP_CREATE_BEARER_REQ:
-  case NW_GTP_UPDATE_BEARER_REQ:
-  case NW_GTP_DELETE_BEARER_REQ: {
-    rc = nwGtpv2cHandleInitialReq(thiz, msgType, udpData, udpDataLen, peerPort, peerIp);
-  }
-  break;
-
-  case NW_GTP_ECHO_RSP:
-  case NW_GTP_CREATE_SESSION_RSP:
-  case NW_GTP_MODIFY_BEARER_RSP:
-  case NW_GTP_DELETE_SESSION_RSP:
-  case NW_GTP_CREATE_BEARER_RSP:
-  case NW_GTP_UPDATE_BEARER_RSP:
-  case NW_GTP_DELETE_BEARER_RSP: {
-    rc = nwGtpv2cHandleTriggeredRsp(thiz, msgType, udpData, udpDataLen, peerPort, peerIp);
-  }
-  break;
-
-  default: {
-    /*
-     * TS 29.274 Section 7.7.4:
-     * If a GTP entity receives a message with an unknown Message Type
-     * value, it shall silently discard the message.
-     */
-    NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received unknown message type %u from UDP! Ignoring.", msgType);
-    rc = NW_OK;
-  }
-  }
-
-  NW_LEAVE(thiz);
-  return rc;
-}
-
-
-/*
- * Process Request from Upper Layer
- */
-
-NwRcT
-nwGtpv2cProcessUlpReq( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                       NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
-  NwRcT rc;
-  NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
-  NW_ASSERT(thiz);
-  NW_ASSERT(pUlpReq != NULL);
-
-  NW_ENTER(thiz);
-
-  switch(pUlpReq->apiType & 0x00FFFFFFL) {
-  case NW_GTPV2C_ULP_API_INITIAL_REQ: {
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received initial request from ulp");
-    rc = nwGtpv2cHandleUlpInitialReq(thiz, pUlpReq);
-  }
-  break;
-
-  case NW_GTPV2C_ULP_API_TRIGGERED_REQ: {
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received triggered request from ulp");
-    rc = nwGtpv2cHandleUlpTriggeredReq(thiz, pUlpReq);
-  }
-  break;
-
-  case NW_GTPV2C_ULP_API_TRIGGERED_RSP: {
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received triggered response from ulp");
-    rc = nwGtpv2cHandleUlpTriggeredRsp(thiz, pUlpReq);
-  }
-  break;
-
-  case NW_GTPV2C_ULP_CREATE_LOCAL_TUNNEL: {
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received create local tunnel from ulp");
-    rc = nwGtpv2cHandleUlpCreateLocalTunnel(thiz, pUlpReq);
-  }
-  break;
-
-  case NW_GTPV2C_ULP_DELETE_LOCAL_TUNNEL: {
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received delete local tunnel from ulp");
-    rc = nwGtpv2cHandleUlpDeleteLocalTunnel(thiz, pUlpReq);
-  }
-  break;
-
-  default: {
-    NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received unhandled API 0x%x from ULP! Ignoring.", pUlpReq->apiType);
-    rc = NW_FAILURE;
-  }
-  break;
-  }
-
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-/**
- * Process Timer timeout Request from Timer ULP Manager
- */
-
-NwRcT
-nwGtpv2cProcessTimeoutOld(void* arg)
-{
-  NwRcT rc;
-  NwGtpv2cStackT* thiz;
-  NwGtpv2cTimeoutInfoT* timeoutInfo = (NwGtpv2cTimeoutInfoT*) arg;
-  NwGtpv2cTimeoutInfoT* pNextTimeoutInfo;
-  struct timeval tv;
-
-  NW_ASSERT(timeoutInfo != NULL);
-  thiz = (NwGtpv2cStackT*) (((NwGtpv2cTimeoutInfoT*) timeoutInfo)->hStack);
-
-  NW_ASSERT(thiz != NULL);
-
-  NW_ENTER(thiz);
-
-  if(thiz->activeTimerInfo == timeoutInfo) {
-    thiz->activeTimerInfo = NULL;
-    RB_REMOVE(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
-    timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
-    gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
-    rc = ((timeoutInfo)->timeoutCallbackFunc) (timeoutInfo->timeoutArg);
-
-  } else {
-    NW_LOG(thiz, NW_LOG_LEVEL_WARN,
-           "Received timeout event from ULP for non-existent timeoutInfo 0x%p and activeTimer 0x%p!",
-           timeoutInfo, thiz->activeTimerInfo);
-    return NW_OK;
-  }
-
-
-  NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-
-  for ((timeoutInfo) = RB_MIN(NwGtpv2cActiveTimerList, &(thiz->activeTimerList));
-       (timeoutInfo) != NULL; )
-
-  {
-    if(NW_GTPV2C_TIMER_CMP_P(&timeoutInfo->tvTimeout, &tv, >))
-      break;
-
-    pNextTimeoutInfo = RB_NEXT(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
-    RB_REMOVE(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
-    timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
-    gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
-    rc = ((timeoutInfo)->timeoutCallbackFunc) (timeoutInfo->timeoutArg);
-
-    timeoutInfo = pNextTimeoutInfo;
-  }
-
-  /* activeTimerInfo may be reset by the timeoutCallbackFunc call above */
-  if(thiz->activeTimerInfo == NULL) {
-    timeoutInfo = RB_MIN(NwGtpv2cActiveTimerList, &(thiz->activeTimerList));
-
-    if(timeoutInfo) {
-      NW_GTPV2C_TIMER_SUB(&timeoutInfo->tvTimeout, &tv, &tv);
-      rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle, tv.tv_sec, tv.tv_usec, timeoutInfo->tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
-      NW_ASSERT(NW_OK == rc);
-
-      thiz->activeTimerInfo = timeoutInfo;
-    }
-  }
-
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-NwRcT
-nwGtpv2cProcessTimeout(void* arg)
-{
-  NwRcT rc;
-  NwGtpv2cStackT* thiz;
-  NwGtpv2cTimeoutInfoT* timeoutInfo = (NwGtpv2cTimeoutInfoT*) arg;
-  struct timeval tv;
-
-  NW_ASSERT(timeoutInfo != NULL);
-
-  thiz = (NwGtpv2cStackT*) (timeoutInfo->hStack);
-
-  NW_ASSERT(thiz != NULL);
-  NW_ENTER(thiz);
-
-  if(thiz->activeTimerInfo == timeoutInfo) {
-    thiz->activeTimerInfo = NULL;
-    rc = nwGtpv2cTmrMinHeapRemove(thiz->hTmrMinHeap, timeoutInfo->timerMinHeapIndex);
-    timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
-    gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
-    rc = ((timeoutInfo)->timeoutCallbackFunc) (timeoutInfo->timeoutArg);
-  } else {
-    NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received timeout event from ULP for "
-           "non-existent timeoutInfo 0x%p and activeTimer 0x%p!",
-           timeoutInfo, thiz->activeTimerInfo);
-
-    NW_LEAVE(thiz);
-
-    return NW_OK;
-  }
-
-  NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-
-  //printf("------ Start -------\n");
-  timeoutInfo = nwGtpv2cTmrMinHeapPeek(thiz->hTmrMinHeap);
-
-  while((timeoutInfo) != NULL) {
-    if(NW_GTPV2C_TIMER_CMP_P(&timeoutInfo->tvTimeout, &tv, >))
-      break;
-
-    rc = nwGtpv2cTmrMinHeapRemove(thiz->hTmrMinHeap, timeoutInfo->timerMinHeapIndex);
-    timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
-    gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
-    rc = ((timeoutInfo)->timeoutCallbackFunc) (timeoutInfo->timeoutArg);
-
-    timeoutInfo = nwGtpv2cTmrMinHeapPeek(thiz->hTmrMinHeap);
-    //printf("-- %p --\n", timeoutInfo);
-  }
-
-  //printf("------ End -------\n");
-
-  /* activeTimerInfo may be reset by the timeoutCallbackFunc call above */
-  if(thiz->activeTimerInfo == NULL) {
-    timeoutInfo = nwGtpv2cTmrMinHeapPeek(thiz->hTmrMinHeap);
-
-    if(timeoutInfo) {
-      NW_GTPV2C_TIMER_SUB(&timeoutInfo->tvTimeout, &tv, &tv);
-      rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle, tv.tv_sec, tv.tv_usec, timeoutInfo->tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
-      NW_ASSERT(NW_OK == rc);
-
-      thiz->activeTimerInfo = timeoutInfo;
-    }
-  }
-
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-/**
- * Start Timer with ULP Timer Manager
- */
-
-
-
-
-
-NwRcT
-nwGtpv2cStartTimer(NwGtpv2cStackT* thiz,
-                   uint32_t timeoutSec,
-                   uint32_t timeoutUsec,
-                   uint32_t tmrType,
-                   NwRcT (*timeoutCallbackFunc)(void*),
-                   void*  timeoutCallbackArg,
-                   NwGtpv2cTimerHandleT *phTimer)
-{
-  NwRcT rc = NW_OK;
-  struct timeval tv;
-  NwGtpv2cTimeoutInfoT *timeoutInfo;
-  NwGtpv2cTimeoutInfoT *collision;
-
-  NW_ENTER(thiz);
-
-  if(gpGtpv2cTimeoutInfoPool) {
-    timeoutInfo = gpGtpv2cTimeoutInfoPool;
-    gpGtpv2cTimeoutInfoPool = gpGtpv2cTimeoutInfoPool->next;
-  } else {
-    NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTimeoutInfoT), timeoutInfo, NwGtpv2cTimeoutInfoT*);
-  }
-
-  if(timeoutInfo) {
-    timeoutInfo->tmrType                  = tmrType;
-    timeoutInfo->timeoutArg               = timeoutCallbackArg;
-    timeoutInfo->timeoutCallbackFunc      = timeoutCallbackFunc;
-    timeoutInfo->hStack                   = (NwGtpv2cStackHandleT)thiz;
-
-    NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-    NW_ASSERT(gettimeofday(&timeoutInfo->tvTimeout, NULL) == 0);
-
-    timeoutInfo->tvTimeout.tv_sec  = timeoutSec;
-    timeoutInfo->tvTimeout.tv_usec = timeoutUsec;
-    NW_GTPV2C_TIMER_ADD(&tv, &timeoutInfo->tvTimeout, &timeoutInfo->tvTimeout);
-
-    rc = nwGtpv2cTmrMinHeapInsert(thiz->hTmrMinHeap, timeoutInfo);
-#if 0
-
-    do {
-      collision = RB_INSERT(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
-
-      if(!collision)
-        break;
-
-      NW_LOG(thiz, NW_LOG_LEVEL_WARN, "timer collision!");
-      timeoutInfo->tvTimeout.tv_usec++; /* HACK: In case there is a collision, schedule this event 1 usec later */
-
-      if(timeoutInfo->tvTimeout.tv_usec > (999999 /*1000000 - 1*/)) {
-        timeoutInfo->tvTimeout.tv_usec = 0;
-        timeoutInfo->tvTimeout.tv_sec++;
-      }
-    } while (1);
-
-#endif
-
-    if(thiz->activeTimerInfo) {
-      if(NW_GTPV2C_TIMER_CMP_P(&(thiz->activeTimerInfo->tvTimeout), &(timeoutInfo->tvTimeout), >)) {
-        NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
-               thiz->activeTimerInfo->hTimer, thiz->activeTimerInfo);
-        rc = thiz->tmrMgr.tmrStopCallback(thiz->tmrMgr.tmrMgrHandle, thiz->activeTimerInfo->hTimer);
-        NW_ASSERT(NW_OK == rc);
-      } else {
-        NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Already Started timer 0x%"PRIxPTR" for info 0x%p!",
-               thiz->activeTimerInfo->hTimer, thiz->activeTimerInfo);
-        *phTimer = (NwGtpv2cTimerHandleT) timeoutInfo;
-        NW_LEAVE(thiz);
-        return NW_OK;
-      }
-    }
-
-    rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle,
-                                       timeoutSec,
-                                       timeoutUsec,
-                                       tmrType,
-                                       (void*)timeoutInfo,
-                                       &timeoutInfo->hTimer);
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Started timer 0x%"PRIxPTR" for info 0x%p!",
-           timeoutInfo->hTimer, timeoutInfo);
-    NW_ASSERT(NW_OK == rc);
-    thiz->activeTimerInfo = timeoutInfo;
-
-  }
-
-  *phTimer = (NwGtpv2cTimerHandleT) timeoutInfo;
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-NwRcT
-nwGtpv2cStartTimerOld(NwGtpv2cStackT* thiz,
-                      uint32_t timeoutSec,
-                      uint32_t timeoutUsec,
-                      uint32_t tmrType,
-                      NwRcT (*timeoutCallbackFunc)(void*),
-                      void*  timeoutCallbackArg,
-                      NwGtpv2cTimerHandleT *phTimer)
-{
-  NwRcT rc = NW_OK;
-  struct timeval tv;
-  NwGtpv2cTimeoutInfoT *timeoutInfo;
-  NwGtpv2cTimeoutInfoT *collision;
-
-  NW_ASSERT(thiz != NULL);
-
-  NW_ENTER(thiz);
-
-  if(gpGtpv2cTimeoutInfoPool) {
-    timeoutInfo = gpGtpv2cTimeoutInfoPool;
-    gpGtpv2cTimeoutInfoPool = gpGtpv2cTimeoutInfoPool->next;
-  } else {
-    NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTimeoutInfoT), timeoutInfo, NwGtpv2cTimeoutInfoT*);
-  }
-
-  if(timeoutInfo) {
-    timeoutInfo->tmrType                  = tmrType;
-    timeoutInfo->timeoutArg               = timeoutCallbackArg;
-    timeoutInfo->timeoutCallbackFunc      = timeoutCallbackFunc;
-    timeoutInfo->hStack                   = (NwGtpv2cStackHandleT)thiz;
-
-    NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-    NW_ASSERT(gettimeofday(&timeoutInfo->tvTimeout, NULL) == 0);
-
-    timeoutInfo->tvTimeout.tv_sec  = timeoutSec;
-    timeoutInfo->tvTimeout.tv_usec = timeoutUsec;
-    NW_GTPV2C_TIMER_ADD(&tv, &timeoutInfo->tvTimeout, &timeoutInfo->tvTimeout);
-
-    do {
-      collision = RB_INSERT(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
-
-      if(!collision)
-        break;
-
-      NW_LOG(thiz, NW_LOG_LEVEL_WARN, "timer collision!");
-      timeoutInfo->tvTimeout.tv_usec++; /* HACK: In case there is a collision, schedule this event 1 usec later */
-
-      if(timeoutInfo->tvTimeout.tv_usec > (999999 /*1000000 - 1*/)) {
-        timeoutInfo->tvTimeout.tv_usec = 0;
-        timeoutInfo->tvTimeout.tv_sec++;
-      }
-    } while (1);
-
-    if(thiz->activeTimerInfo) {
-      if(NW_GTPV2C_TIMER_CMP_P(&(thiz->activeTimerInfo->tvTimeout), &(timeoutInfo->tvTimeout), >)) {
-        NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
-               thiz->activeTimerInfo->hTimer, thiz->activeTimerInfo);
-        rc = thiz->tmrMgr.tmrStopCallback(thiz->tmrMgr.tmrMgrHandle, thiz->activeTimerInfo->hTimer);
-        NW_ASSERT(NW_OK == rc);
-      } else {
-        NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Already Started timer 0x%"PRIxPTR" for info 0x%p!",
-               thiz->activeTimerInfo->hTimer, thiz->activeTimerInfo);
-        *phTimer = (NwGtpv2cTimerHandleT) timeoutInfo;
-        NW_LEAVE(thiz);
-        return NW_OK;
-      }
-    }
-
-    rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle, timeoutSec, timeoutUsec, tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Started timer 0x%"PRIxPTR" for info 0x%p!",
-           timeoutInfo->hTimer, timeoutInfo);
-    NW_ASSERT(NW_OK == rc);
-    thiz->activeTimerInfo = timeoutInfo;
-
-  }
-
-  *phTimer = (NwGtpv2cTimerHandleT) timeoutInfo;
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-/**
- * Stop Timer with ULP Timer Manager
- */
-NwRcT
-nwGtpv2cStopTimer(NwGtpv2cStackT* thiz,
-                  NwGtpv2cTimerHandleT hTimer)
-{
-  NwRcT rc = NW_OK;
-  struct timeval tv;
-  NwGtpv2cTimeoutInfoT *timeoutInfo;
-
-  NW_ASSERT(thiz != NULL);
-
-  NW_ENTER(thiz);
-
-  timeoutInfo = (NwGtpv2cTimeoutInfoT*) hTimer;
-
-  rc = nwGtpv2cTmrMinHeapRemove(thiz->hTmrMinHeap, timeoutInfo->timerMinHeapIndex);
-  timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
-  gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
-  NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
-         timeoutInfo->hTimer, timeoutInfo);
-
-  if(thiz->activeTimerInfo == timeoutInfo) {
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
-           timeoutInfo->hTimer, timeoutInfo);
-    rc = thiz->tmrMgr.tmrStopCallback(thiz->tmrMgr.tmrMgrHandle, timeoutInfo->hTimer);
-    thiz->activeTimerInfo = NULL;
-    NW_ASSERT(NW_OK == rc);
-
-    timeoutInfo = nwGtpv2cTmrMinHeapPeek(thiz->hTmrMinHeap);
-
-    if(timeoutInfo) {
-      NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-
-      if(NW_GTPV2C_TIMER_CMP_P(&timeoutInfo->tvTimeout, &tv, <)) {
-        thiz->activeTimerInfo = timeoutInfo;
-        rc = nwGtpv2cProcessTimeout(timeoutInfo);
-        NW_ASSERT(NW_OK == rc);
-      } else {
-        NW_GTPV2C_TIMER_SUB(&timeoutInfo->tvTimeout, &tv, &tv);
-        rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle,  tv.tv_sec, tv.tv_usec, timeoutInfo->tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
-        NW_ASSERT(NW_OK == rc);
-
-        NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Started timer 0x%"PRIxPTR" for info 0x%p!",
-               timeoutInfo->hTimer, timeoutInfo);
-        thiz->activeTimerInfo = timeoutInfo;
-      }
-    }
-  }
-
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-NwRcT
-nwGtpv2cStopTimerOld(NwGtpv2cStackT* thiz,
-                     NwGtpv2cTimerHandleT hTimer)
-{
-  NwRcT rc = NW_OK;
-  struct timeval tv;
-  NwGtpv2cTimeoutInfoT *timeoutInfo;
-
-  NW_ASSERT(thiz != NULL);
-
-  NW_ENTER(thiz);
-
-  timeoutInfo = (NwGtpv2cTimeoutInfoT*) hTimer;
-
-  RB_REMOVE(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
-  timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
-  gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
-  NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
-         timeoutInfo->hTimer, timeoutInfo);
-
-  if(thiz->activeTimerInfo == timeoutInfo) {
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
-           timeoutInfo->hTimer, timeoutInfo);
-    rc = thiz->tmrMgr.tmrStopCallback(thiz->tmrMgr.tmrMgrHandle, timeoutInfo->hTimer);
-    thiz->activeTimerInfo = NULL;
-    NW_ASSERT(NW_OK == rc);
-
-    timeoutInfo = RB_MIN(NwGtpv2cActiveTimerList, &(thiz->activeTimerList));
-
-    if(timeoutInfo) {
-      NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-
-      if(NW_GTPV2C_TIMER_CMP_P(&timeoutInfo->tvTimeout, &tv, <)) {
-        thiz->activeTimerInfo = timeoutInfo;
-        rc = nwGtpv2cProcessTimeout(timeoutInfo);
-        NW_ASSERT(NW_OK == rc);
-      } else {
-        NW_GTPV2C_TIMER_SUB(&timeoutInfo->tvTimeout, &tv, &tv);
-        rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle,  tv.tv_sec, tv.tv_usec, timeoutInfo->tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
-        NW_ASSERT(NW_OK == rc);
-
-        NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Started timer 0x%"PRIxPTR" for info 0x%p!",
-               timeoutInfo->hTimer, timeoutInfo);
-        thiz->activeTimerInfo = timeoutInfo;
-      }
-    }
-  }
-
-  NW_LEAVE(thiz);
-
-  return rc;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsg.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsg.c
deleted file mode 100644
index e566a085946ddbea0dec6ea0ee11aba84c5595dd..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsg.c
+++ /dev/null
@@ -1,750 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <inttypes.h>
-
-#include "NwTypes.h"
-#include "NwLog.h"
-#include "NwUtils.h"
-#include "NwGtpv2cLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/*----------------------------------------------------------------------------*
- *                     P R I V A T E     F U N C T I O N S                    *
- *----------------------------------------------------------------------------*/
-
-static NwGtpv2cMsgT* gpGtpv2cMsgPool = NULL;
-
-/*----------------------------------------------------------------------------*
- *                       P U B L I C   F U N C T I O N S                      *
- *----------------------------------------------------------------------------*/
-
-NwRcT
-nwGtpv2cMsgNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                NW_IN uint8_t     teidPresent,
-                NW_IN uint8_t     msgType,
-                NW_IN uint32_t    teid,
-                NW_IN uint32_t    seqNum,
-                NW_OUT NwGtpv2cMsgHandleT *phMsg)
-{
-  NwGtpv2cStackT* pStack = (NwGtpv2cStackT*) hGtpcStackHandle;
-  NwGtpv2cMsgT *pMsg;
-
-  NW_ASSERT(pStack);
-
-  if(gpGtpv2cMsgPool) {
-    pMsg = gpGtpv2cMsgPool;
-    gpGtpv2cMsgPool = gpGtpv2cMsgPool->next;
-  } else {
-    NW_GTPV2C_MALLOC(pStack, sizeof(NwGtpv2cMsgT), pMsg, NwGtpv2cMsgT*);
-  }
-
-  if(pMsg) {
-    pMsg->version       = NW_GTP_VERSION;
-    pMsg->teidPresent   = teidPresent;
-    pMsg->msgType       = msgType;
-    pMsg->teid          = teid;
-    pMsg->seqNum        = seqNum;
-    pMsg->msgLen        = (NW_GTPV2C_EPC_SPECIFIC_HEADER_SIZE - (teidPresent ? 0 : 4));
-
-    pMsg->groupedIeEncodeStack.top = 0;
-    pMsg->hStack        = hGtpcStackHandle;
-
-    *phMsg = (NwGtpv2cMsgHandleT) pMsg;
-    NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Created message %p!", pMsg);
-    return NW_OK;
-  }
-
-  return NW_FAILURE;
-}
-
-NwRcT
-nwGtpv2cMsgFromBufferNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                          NW_IN uint8_t* pBuf,
-                          NW_IN uint32_t bufLen,
-                          NW_OUT NwGtpv2cMsgHandleT *phMsg)
-{
-  NwGtpv2cStackT* pStack = (NwGtpv2cStackT*) hGtpcStackHandle;
-  NwGtpv2cMsgT *pMsg;
-
-  NW_ASSERT(pStack);
-
-  if(gpGtpv2cMsgPool) {
-    pMsg = gpGtpv2cMsgPool;
-    gpGtpv2cMsgPool = gpGtpv2cMsgPool->next;
-  } else {
-    NW_GTPV2C_MALLOC(pStack, sizeof(NwGtpv2cMsgT), pMsg, NwGtpv2cMsgT*);
-  }
-
-  if(pMsg) {
-    *phMsg = (NwGtpv2cMsgHandleT) pMsg;
-    memcpy(pMsg->msgBuf, pBuf, bufLen);
-    pMsg->msgLen = bufLen;
-
-    pMsg->version       = ((*pBuf) & 0xE0) >> 5;
-    pMsg->teidPresent   = ((*pBuf) & 0x08) >> 3;
-    pBuf++;
-
-    pMsg->msgType       = *(pBuf);
-    pBuf += 3;
-
-    if(pMsg->teidPresent) {
-      pMsg->teid          = ntohl(*((uint32_t*)(pBuf)));
-      pBuf += 4;
-    }
-
-    memcpy(((uint8_t*)&pMsg->seqNum) + 1, pBuf, 3);
-    pMsg->seqNum  = ntohl(pMsg->seqNum);
-
-    pMsg->hStack        = hGtpcStackHandle;
-    NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Created message %p!", pMsg);
-    return NW_OK;
-  }
-
-  return NW_FAILURE;
-}
-
-NwRcT
-nwGtpv2cMsgDelete( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                   NW_IN NwGtpv2cMsgHandleT hMsg)
-{
-  NwGtpv2cStackT* pStack = (NwGtpv2cStackT*) hGtpcStackHandle;
-  NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Purging message %"PRIxPTR"!", hMsg);
-
-  ((NwGtpv2cMsgT*)hMsg)->next = gpGtpv2cMsgPool;
-  gpGtpv2cMsgPool = (NwGtpv2cMsgT*) hMsg;
-
-  return NW_OK;
-}
-
-/**
- * Set TEID for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teid: TEID value.
- */
-
-NwRcT
-nwGtpv2cMsgSetTeid(NW_IN NwGtpv2cMsgHandleT hMsg, uint32_t teid)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  thiz->teid = teid;
-  return NW_OK;
-}
-
-/**
- * Set TEID present flag for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teidPesent: Flag boolean value.
- */
-
-NwRcT
-nwGtpv2cMsgSetTeidPresent(NW_IN NwGtpv2cMsgHandleT hMsg, NwBoolT teidPresent)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  thiz->teidPresent = teidPresent;
-  return NW_OK;
-}
-
-/**
- * Set sequence for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] seqNum: Flag boolean value.
- */
-
-NwRcT
-nwGtpv2cMsgSetSeqNumber(NW_IN NwGtpv2cMsgHandleT hMsg, uint32_t seqNum)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  thiz->seqNum = seqNum;
-  return NW_OK;
-}
-
-/**
- * Get TEID present for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetTeid(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  return (thiz->teid);
-}
-
-/**
- * Get TEID present for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwBoolT
-nwGtpv2cMsgGetTeidPresent(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  return (thiz->teidPresent);
-}
-
-/**
- * Get sequence number for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetSeqNumber(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  return (thiz->seqNum);
-}
-
-/**
- * Get msg type for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetMsgType(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  return (thiz->msgType);
-}
-
-/**
- * Get msg type for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetLength(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  return (thiz->msgLen);
-}
-
-
-NwRcT
-nwGtpv2cMsgAddIeTV1(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t       type,
-                    NW_IN uint8_t       instance,
-                    NW_IN uint8_t       value)
-{
-  NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTv1T *pIe;
-
-  pIe = (NwGtpv2cIeTv1T*) (pMsg->msgBuf + pMsg->msgLen);
-
-  pIe->t        = type;
-  pIe->l        = htons(0x0001);
-  pIe->i        = instance & 0x00ff;
-  pIe->v        = value;
-
-  pMsg->msgLen += sizeof(NwGtpv2cIeTv1T);
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgAddIeTV2(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t       type,
-                    NW_IN uint8_t       instance,
-                    NW_IN uint16_t      value)
-{
-  NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTv2T *pIe;
-
-  pIe = (NwGtpv2cIeTv2T*) (pMsg->msgBuf + pMsg->msgLen);
-
-  pIe->t        = type;
-  pIe->l        = htons(0x0002);
-  pIe->i        = instance & 0x00ff;
-  pIe->v        = htons(value);
-
-  pMsg->msgLen += sizeof(NwGtpv2cIeTv2T);
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgAddIeTV4(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t       type,
-                    NW_IN uint8_t       instance,
-                    NW_IN uint32_t      value)
-{
-  NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTv4T *pIe;
-
-  pIe = (NwGtpv2cIeTv4T*) (pMsg->msgBuf + pMsg->msgLen);
-
-  pIe->t        = type;
-  pIe->l        = htons(0x0004);
-  pIe->i        = instance & 0x00ff;
-  pIe->v        = htonl(value);
-
-  pMsg->msgLen += sizeof(NwGtpv2cIeTv4T);
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgAddIe(NW_IN NwGtpv2cMsgHandleT hMsg,
-                 NW_IN uint8_t       type,
-                 NW_IN uint16_t      length,
-                 NW_IN uint8_t       instance,
-                 NW_IN uint8_t*      pVal)
-{
-  NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTlvT *pIe;
-
-  pIe = (NwGtpv2cIeTlvT*) (pMsg->msgBuf + pMsg->msgLen);
-
-  pIe->t        = type;
-  pIe->l        = htons(length);
-  pIe->i        = instance & 0x00ff;
-
-  memcpy(((uint8_t*)pIe) + 4, pVal, length);
-  pMsg->msgLen += (4 + length);
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgGroupedIeStart(NW_IN NwGtpv2cMsgHandleT hMsg,
-                          NW_IN uint8_t       type,
-                          NW_IN uint8_t       instance)
-{
-  NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTlvT *pIe;
-
-  pIe = (NwGtpv2cIeTlvT*) (pMsg->msgBuf + pMsg->msgLen);
-
-  pIe->t        = type;
-  pIe->i        = instance & 0x00ff;
-  pMsg->msgLen += (4);
-  pIe->l        = (pMsg->msgLen);
-
-  NW_ASSERT(pMsg->groupedIeEncodeStack.top < NW_GTPV2C_MAX_GROUPED_IE_DEPTH);
-
-  pMsg->groupedIeEncodeStack.pIe[pMsg->groupedIeEncodeStack.top] = pIe;
-  pMsg->groupedIeEncodeStack.top++;
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgGroupedIeEnd(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
-  NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTlvT *pIe;
-
-  NW_ASSERT(pMsg->groupedIeEncodeStack.top > 0);
-
-  pMsg->groupedIeEncodeStack.top--;
-  pIe = pMsg->groupedIeEncodeStack.pIe[pMsg->groupedIeEncodeStack.top];
-
-  pIe->l       = htons(pMsg->msgLen - pIe->l);
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgAddIeCause(NW_IN NwGtpv2cMsgHandleT hMsg,
-                      NW_IN uint8_t instance,
-                      NW_IN uint8_t causeValue,
-                      NW_IN uint8_t bitFlags,
-                      NW_IN uint8_t offendingIeType,
-                      NW_IN uint8_t offendingIeInstance)
-{
-  uint8_t causeBuf[8];
-
-  causeBuf[0] = causeValue;
-  causeBuf[1] = bitFlags;
-
-  if(offendingIeType) {
-    causeBuf[2] = offendingIeType;
-    causeBuf[3] = 0;
-    causeBuf[4] = 0;
-    causeBuf[5] = (offendingIeInstance & 0x0f);
-  }
-
-  return (nwGtpv2cMsgAddIe(hMsg, NW_GTPV2C_IE_CAUSE, (offendingIeType? 6 : 2), instance, causeBuf));
-}
-
-NwRcT
-nwGtpv2cMsgAddIeFteid(NW_IN NwGtpv2cMsgHandleT hMsg,
-                      NW_IN uint8_t       instance,
-                      NW_IN uint8_t       ifType,
-                      NW_IN uint32_t      teidOrGreKey,
-                      NW_IN uint32_t      ipv4Addr,
-                      NW_IN uint8_t*      pIpv6Addr)
-{
-
-  uint8_t fteidBuf[32];
-  uint8_t *pFteidBuf = fteidBuf;
-
-  fteidBuf[0] = (ifType & 0x1F);
-  pFteidBuf++;
-
-  *((uint32_t*)(pFteidBuf)) = htonl((teidOrGreKey));
-  pFteidBuf += 4;
-
-  if(ipv4Addr) {
-    fteidBuf[0] |= (0x01 << 7);
-    *((uint32_t*)(pFteidBuf)) = htonl(ipv4Addr);
-    pFteidBuf += 4;
-  }
-
-  if(pIpv6Addr) {
-    fteidBuf[0] |= (0x01 << 6);
-    memcpy((pFteidBuf), pIpv6Addr, 16);
-    pFteidBuf += 16;
-  }
-
-  return (nwGtpv2cMsgAddIe(hMsg, NW_GTPV2C_IE_FTEID, (pFteidBuf - fteidBuf), instance, fteidBuf));
-}
-
-
-NwBoolT
-nwGtpv2cMsgIsIePresent(NW_IN NwGtpv2cMsgHandleT hMsg,
-                       NW_IN uint8_t type,
-                       NW_IN uint8_t instance)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-
-  if((NwGtpv2cIeTv1T*) thiz->pIe[type][instance])
-    return NW_TRUE;
-
-  return NW_FALSE;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTV1(NW_IN NwGtpv2cMsgHandleT hMsg,
-                    NW_IN uint8_t type,
-                    NW_IN uint8_t instance,
-                    NW_OUT uint8_t* pVal)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTv1T *pIe;
-  NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
-  if(thiz->isIeValid[type][instance]) {
-    pIe = (NwGtpv2cIeTv1T*) thiz->pIe[type][instance];
-
-    if(ntohs(pIe->l) != 0x01)
-      return NW_GTPV2C_IE_INCORRECT;
-
-    if(pVal) *pVal = pIe->v;
-
-    return NW_OK;
-  }
-
-  return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTV2( NW_IN NwGtpv2cMsgHandleT hMsg,
-                     NW_IN uint8_t type,
-                     NW_IN uint8_t instance,
-                     NW_OUT uint16_t* pVal)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTv2T *pIe;
-  NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
-  if(thiz->isIeValid[type][instance]) {
-    pIe = (NwGtpv2cIeTv2T*) thiz->pIe[type][instance];
-
-    if(ntohs(pIe->l) != 0x02)
-      return NW_GTPV2C_IE_INCORRECT;
-
-    if(pVal) *pVal = ntohs(pIe->v);
-
-    return NW_OK;
-  }
-
-  return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTV4( NW_IN NwGtpv2cMsgHandleT hMsg,
-                     NW_IN uint8_t type,
-                     NW_IN uint8_t instance,
-                     NW_OUT uint32_t* pVal)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTv4T *pIe;
-  NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
-  if(thiz->isIeValid[type][instance]) {
-    pIe = (NwGtpv2cIeTv4T*) thiz->pIe[type][instance];
-
-    if(ntohs(pIe->l) != 0x04)
-      return NW_GTPV2C_IE_INCORRECT;
-
-    if(pVal) *pVal = ntohl(pIe->v);
-
-    return NW_OK;
-  }
-
-  return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTV8( NW_IN NwGtpv2cMsgHandleT hMsg,
-                     NW_IN uint8_t type,
-                     NW_IN uint8_t instance,
-                     NW_OUT uint64_t* pVal)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTv8T *pIe;
-  NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
-  if(thiz->isIeValid[type][instance]) {
-    pIe = (NwGtpv2cIeTv8T*) thiz->pIe[type][instance];
-
-    if(ntohs(pIe->l) != 0x08)
-      return NW_GTPV2C_IE_INCORRECT;
-
-    if(pVal) *pVal = NW_NTOHLL((pIe->v));
-
-    return NW_OK;
-  }
-
-  NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Cannot retrieve IE of type %u instance %u !", type, instance);
-  return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTlv( NW_IN NwGtpv2cMsgHandleT hMsg,
-                     NW_IN uint8_t type,
-                     NW_IN uint8_t instance,
-                     NW_IN uint16_t maxLen,
-                     NW_OUT uint8_t* pVal,
-                     NW_OUT uint16_t* pLen)
-{
-  NwGtpv2cMsgT *thiz  = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTlvT *pIe;
-  NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
-  if(thiz->isIeValid[type][instance]) {
-    pIe = (NwGtpv2cIeTlvT*) thiz->pIe[type][instance];
-
-    if(ntohs(pIe->l) <= maxLen) {
-      if(pVal) memcpy(pVal, ((uint8_t*) pIe) + 4, ntohs(pIe->l));
-
-      if(pLen) *pLen = ntohs(pIe->l);
-
-      return NW_OK;
-    }
-  }
-
-  return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTlvP( NW_IN NwGtpv2cMsgHandleT hMsg,
-                      NW_IN uint8_t type,
-                      NW_IN uint8_t instance,
-                      NW_OUT uint8_t** ppVal,
-                      NW_OUT uint16_t* pLen)
-{
-  NwGtpv2cMsgT *thiz  = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTlvT *pIe;
-  NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
-  if(thiz->isIeValid[type][instance]) {
-    pIe = (NwGtpv2cIeTlvT*) thiz->pIe[type][instance];
-
-    if(ppVal) *ppVal = ((uint8_t*) pIe) + 4;
-
-    if(pLen)  *pLen  = ntohs(pIe->l);
-
-    return NW_OK;
-  }
-
-  return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeCause(NW_IN NwGtpv2cMsgHandleT hMsg,
-                      NW_IN  uint8_t       instance,
-                      NW_OUT uint8_t*      causeValue,
-                      NW_OUT uint8_t*      flags,
-                      NW_OUT uint8_t*      offendingIeType,
-                      NW_OUT uint8_t*      offendingIeInstance)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTlvT *pIe;
-
-  NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
-  if(thiz->isIeValid[NW_GTPV2C_IE_CAUSE][instance]) {
-    pIe = (NwGtpv2cIeTlvT*) thiz->pIe[NW_GTPV2C_IE_CAUSE][instance];
-    *causeValue = *((uint8_t*)(((uint8_t*)pIe) + 4));
-    *flags      = *((uint8_t*)(((uint8_t*)pIe) + 5));
-
-    if(pIe->l == 6) {
-      *offendingIeType    = *((uint8_t*)(((uint8_t*)pIe) + 6));
-      *offendingIeType    = *((uint8_t*)(((uint8_t*)pIe) + 8));
-    }
-
-    return NW_OK;
-  }
-
-  return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeFteid(NW_IN NwGtpv2cMsgHandleT hMsg,
-                      NW_IN  uint8_t       instance,
-                      NW_OUT uint8_t*      ifType,
-                      NW_OUT uint32_t*     teidOrGreKey,
-                      NW_OUT uint32_t*     ipv4Addr,
-                      NW_OUT uint8_t*      pIpv6Addr)
-{
-  NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-  NwGtpv2cIeTlvT *pIe;
-
-  NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
-  if(thiz->isIeValid[NW_GTPV2C_IE_FTEID][instance]) {
-    pIe = (NwGtpv2cIeTlvT*) thiz->pIe[NW_GTPV2C_IE_FTEID][instance];
-    uint8_t flags;
-    uint8_t* pIeValue     = ((uint8_t*) pIe) + 4;
-    flags               = (*pIeValue) & 0xE0;
-    *ifType             = (*pIeValue) & 0x1F;
-    pIeValue += 1;
-
-    *teidOrGreKey       = ntohl(*((uint32_t*)(pIeValue)));
-    pIeValue += 4;
-
-    if(flags & 0x80) {
-      *ipv4Addr           = ntohl(*((uint32_t*)(pIeValue)));
-      pIeValue += 4;
-    }
-
-    return NW_OK;
-  }
-
-  return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgHexDump(NwGtpv2cMsgHandleT hMsg, FILE* fp)
-{
-
-  NwGtpv2cMsgT* pMsg = (NwGtpv2cMsgT*) hMsg;
-  uint8_t* data = pMsg->msgBuf;
-  uint32_t size = pMsg->msgLen;
-
-  unsigned char *p = (unsigned char*)data;
-  unsigned char c;
-  int n;
-  char bytestr[4] = {0};
-  char addrstr[10] = {0};
-  char hexstr[ 16*3 + 5] = {0};
-  char charstr[16*1 + 5] = {0};
-  fprintf((FILE*)fp, "\n");
-
-  for(n=1; n<=size; n++) {
-    if (n%16 == 1) {
-      /* store address for this line */
-      snprintf(addrstr, sizeof(addrstr), "%.4lx",
-               ((unsigned long)p-(unsigned long)data) );
-    }
-
-    c = *p;
-
-    if (isalnum(c) == 0) {
-      c = '.';
-    }
-
-    /* store hex str (for left side) */
-    snprintf(bytestr, sizeof(bytestr), "%02X ", *p);
-    strncat(hexstr, bytestr, sizeof(hexstr)-strlen(hexstr)-1);
-
-    /* store char str (for right side) */
-    snprintf(bytestr, sizeof(bytestr), "%c", c);
-    strncat(charstr, bytestr, sizeof(charstr)-strlen(charstr)-1);
-
-    if(n%16 == 0) {
-      /* line completed */
-      fprintf((FILE*)fp, "[%4.4s]   %-50.50s  %s\n", addrstr, hexstr, charstr);
-      hexstr[0] = 0;
-      charstr[0] = 0;
-    } else if(n%8 == 0) {
-      /* half line: add whitespaces */
-      strncat(hexstr, "  ", sizeof(hexstr)-strlen(hexstr)-1);
-      strncat(charstr, " ", sizeof(charstr)-strlen(charstr)-1);
-    }
-
-    p++; /* next byte */
-  }
-
-  if (strlen(hexstr) > 0) {
-    /* print rest of buffer if not empty */
-    fprintf((FILE*)fp, "[%4.4s]   %-50.50s  %s\n", addrstr, hexstr, charstr);
-
-  }
-
-  fprintf((FILE*)fp, "\n");
-
-  return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
-/*--------------------------------------------------------------------------*
- *                          E N D   O F   F I L E                           *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgIeParseInfo.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgIeParseInfo.c
deleted file mode 100644
index 22607df8aa9de059c4390fdc4222d6d0bfaab56b..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgIeParseInfo.c
+++ /dev/null
@@ -1,703 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#include <stdio.h>
-#include <string.h>
-
-#include "NwTypes.h"
-#include "NwLog.h"
-#include "NwUtils.h"
-#include "NwGtpv2cLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-typedef struct NwGtpv2cMsgIeInfo {
-  uint8_t ieType;
-  uint8_t ieMinLength;
-  uint8_t ieInstance;
-  uint8_t iePresence;
-  struct NwGtpv2cMsgIeInfo *pGroupedIeInfo;
-} NwGtpv2cMsgIeInfoT;
-
-static
-NwGtpv2cMsgIeInfoT createSessionReqBearerCtxtTobeCreatedIeInfoTbl[] = {
-  { NW_GTPV2C_IE_EBI             ,     1,    NW_GTPV2C_IE_INSTANCE_ZERO  , NW_GTPV2C_IE_PRESENCE_MANDATORY   , NULL},
-  { NW_GTPV2C_IE_BEARER_TFT      ,     0,    NW_GTPV2C_IE_INSTANCE_ZERO  , NW_GTPV2C_IE_PRESENCE_OPTIONAL    , NULL},
-  { NW_GTPV2C_IE_FTEID           ,     9,    NW_GTPV2C_IE_INSTANCE_ZERO  , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
-  { NW_GTPV2C_IE_FTEID           ,     9,    NW_GTPV2C_IE_INSTANCE_ONE   , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
-  { NW_GTPV2C_IE_FTEID           ,     9,    NW_GTPV2C_IE_INSTANCE_TWO   , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
-  { NW_GTPV2C_IE_FTEID           ,     9,    NW_GTPV2C_IE_INSTANCE_THREE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
-  { NW_GTPV2C_IE_FTEID           ,     9,    NW_GTPV2C_IE_INSTANCE_FOUR  , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
-  { NW_GTPV2C_IE_BEARER_LEVEL_QOS,    18,    NW_GTPV2C_IE_INSTANCE_ZERO  , NW_GTPV2C_IE_PRESENCE_MANDATORY   , NULL},
-  //   { NW_GTPV2C_IE_IMSI           ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO  , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT createSessionReqBearerCtxtTobeRemovedIeInfoTbl[] = {
-  { NW_GTPV2C_IE_IMSI           ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT echoRspIeInfoTbl[] = {
-  { NW_GTPV2C_IE_RECOVERY       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY, NULL},
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT createSessionReqIeInfoTbl[] = {
-  { NW_GTPV2C_IE_IMSI           ,       8,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_MSISDN         ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_MEI            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL},
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_RAT_TYPE       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL},
-  { NW_GTPV2C_IE_INDICATION     ,       3,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_APN            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL},
-  { NW_GTPV2C_IE_APN_RESTRICTION,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL},
-  { NW_GTPV2C_IE_SELECTION_MODE ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL},
-  { NW_GTPV2C_IE_PDN_TYPE       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL},
-  { NW_GTPV2C_IE_PAA            ,       5,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL},
-  { NW_GTPV2C_IE_AMBR           ,       8,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_EBI            ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_PCO            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_TRACE_INFORMATION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_FQ_CSID        ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_FQ_CSID        ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , createSessionReqBearerCtxtTobeCreatedIeInfoTbl},
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, createSessionReqBearerCtxtTobeRemovedIeInfoTbl},
-  { NW_GTPV2C_IE_SERVING_NETWORK,       3,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL},
-  { NW_GTPV2C_IE_RECOVERY       ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_CHARGING_CHARACTERISTICS, 0,   NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_LDN            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-  { NW_GTPV2C_IE_LDN            ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT modifyBearerReqIeInfoTbl[] = {
-  { NW_GTPV2C_IE_MEI            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_SERVING_NETWORK,       3,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-  { NW_GTPV2C_IE_ULI            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_RAT_TYPE       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_INDICATION     ,       3,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT deleteSessionReqIeInfoTbl[] = {
-  { NW_GTPV2C_IE_CAUSE          ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_EBI            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_ULI            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_INDICATION     ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PCO            ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_RECOVERY       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT createSessionRspIeInfoTbl[] = {
-  { NW_GTPV2C_IE_CAUSE          ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_PAA            ,       5,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_APN_RESTRICTION,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_RECOVERY       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT modifyBearerRspIeInfoTbl[] = {
-  { NW_GTPV2C_IE_CAUSE          ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_PAA            ,       5,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_APN_RESTRICTION,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_RECOVERY       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT deleteSessionRspIeInfoTbl[] = {
-  { NW_GTPV2C_IE_CAUSE          ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_RECOVERY       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PCO            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-/* Message sent over s10 interface */
-static
-NwGtpv2cMsgIeInfoT identificationReqIeInfoTbl[] = {
-  { NW_GTPV2C_IE_GUTI           ,          6,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_COMPLETE_REQUEST_MESSAGE, 1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_SERVING_NETWORK,          0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,        0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT identificationRspIeInfoTbl[] = {
-  { NW_GTPV2C_IE_CAUSE          ,          0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_IMSI           ,          8,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_MM_CONTEXT     ,          1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_TRACE_INFORMATION,        0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,        0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT contextReqIeInfoTbl[] = {
-  { NW_GTPV2C_IE_IMSI           ,          8,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_GUTI           ,          5,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_ULI            ,          7,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PTMSI          ,          0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_COMPLETE_REQUEST_MESSAGE, 0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_FTEID          ,          9,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_UDP_SOURCE_PORT_NUMBER,   9,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_RAT_TYPE       ,          1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_INDICATION     ,          0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-  { NW_GTPV2C_IE_HOP_COUNTER    ,          0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-  { NW_GTPV2C_IE_SERVING_NETWORK,          3,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_LDN            ,          3,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,        0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT contextRspIeInfoTbl[] = {
-  { NW_GTPV2C_IE_CAUSE          ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY           , NULL },
-  { NW_GTPV2C_IE_IMSI           ,       8,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_MM_CONTEXT     ,       4,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_PDN_CONNECTION ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_FQDN           ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_INDICATION     ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_TRACE_INFORMATION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_IP_ADDRESS     ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_IP_ADDRESS     ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL         , NULL },
-  { NW_GTPV2C_IE_RFSP_INDEX     ,       2,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_RFSP_INDEX     ,       2,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_UE_TIME_ZONE   ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_LDN            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL            , NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL            , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT contextAckIeInfoTbl[] = {
-  { NW_GTPV2C_IE_CAUSE          ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_INDICATION     ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT forwardRelocationReqIeInfoTbl[] = {
-  { NW_GTPV2C_IE_IMSI           ,       8,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_PDN_CONNECTION ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_FQDN           ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_MM_CONTEXT     ,       4,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_INDICATION     ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CONTAINER    ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CONTAINER    ,       1,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_TARGET_IDENTIFICATION, 0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_IP_ADDRESS     ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_IP_ADDRESS     ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CAUSE        ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CAUSE        ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CONTAINER    ,       1,      NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_SOURCE_IDENTIFICATION, 1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CAUSE        ,       0,      NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_SELECTED_PLMN_ID,      0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_RECOVERY       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_TRACE_INFORMATION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_RFSP_INDEX     ,       2,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_RFSP_INDEX     ,       2,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_CSG_ID         ,       4,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_CSG_MEMBERSHIP_INDICATION, 1,  NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_UE_TIME_ZONE   ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_LDN            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-  { NW_GTPV2C_IE_ADDITIONAL_MM_CTXT_FOR_SRVCC,0,NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_ADDITIONAL_FLAGS_FOR_SRVCC, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_MSISDN         ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0 }
-};
-
-static
-NwGtpv2cMsgIeInfoT forwardRelocationRspIeInfoTbl[] = {
-  { NW_GTPV2C_IE_CAUSE          ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_FTEID          ,       9,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_INDICATION     ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_BEARER_CONTEXT ,       0,      NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CAUSE        ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CAUSE        ,       0,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CONTAINER    ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CONTAINER    ,       1,      NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CONTAINER    ,       1,      NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_F_CAUSE        ,       0,      NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_LDN            ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT forwardRelocationCompleteNtfIeInfoTbl[] = {
-  { NW_GTPV2C_IE_INDICATION     ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT forwardRelocationCompleteAckIeInfoTbl[] = {
-  { NW_GTPV2C_IE_CAUSE          ,       0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY  , NULL },
-  { NW_GTPV2C_IE_RECOVERY       ,       1,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-  { NW_GTPV2C_IE_PRIVATE_EXTENSION,     0,      NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL   , NULL },
-
-  /* Do not add below this */
-  { 0, 0, 0}
-};
-
-/*----------------------------------------------------------------------------*
- *                     P R I V A T E     F U N C T I O N S                    *
- *----------------------------------------------------------------------------*/
-
-static uint32_t
-nwGtpv2cMsgGroupedIeCount(NwGtpv2cMsgIeInfoT *pMsgIeInfo)
-{
-  uint32_t count = 0;
-  NwGtpv2cMsgIeInfoT *pGroupedIeInfo = pMsgIeInfo;
-
-  while (pGroupedIeInfo++) {
-    if (pGroupedIeInfo->ieType == 0) {
-      break;
-    }
-
-    count ++;
-  }
-
-  return count;
-}
-
-static NwRcT
-nwGtpv2cMsgIeParseInfoUpdate(NwGtpv2cMsgIeParseInfoT *thiz,
-                             NwGtpv2cMsgIeInfoT      *pMsgIeInfo)
-{
-  uint32_t i, j;
-
-  for (i = 0; pMsgIeInfo[i].ieType; i++) {
-    if (pMsgIeInfo[i].pGroupedIeInfo) {
-      NwGtpv2cGroupedIeParseInfoT *pMsgIeParseInfo;
-
-      NW_GTPV2C_MALLOC(thiz->hStack, sizeof(NwGtpv2cGroupedIeParseInfoT),
-                       pMsgIeParseInfo, NwGtpv2cGroupedIeParseInfoT*);
-
-      pMsgIeParseInfo->groupedIeType = pMsgIeInfo[i].ieType;
-      pMsgIeParseInfo->hStack = thiz->hStack;
-
-      for (j = 0; pMsgIeInfo[i].pGroupedIeInfo[j].ieType; j++) {
-        pMsgIeParseInfo->ieParseInfo[pMsgIeInfo[i].pGroupedIeInfo[j].ieType][pMsgIeInfo[i].pGroupedIeInfo[j].ieInstance].ieMinLength =
-          pMsgIeInfo[i].pGroupedIeInfo[j].ieMinLength;
-        pMsgIeParseInfo->ieParseInfo[pMsgIeInfo[i].pGroupedIeInfo[j].ieType][pMsgIeInfo[i].pGroupedIeInfo[j].ieInstance].iePresence =
-          pMsgIeInfo[i].pGroupedIeInfo[j].iePresence;
-
-        if(pMsgIeInfo[i].pGroupedIeInfo[j].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY)
-          pMsgIeParseInfo->mandatoryIeCount++;
-      }
-
-      thiz->ieParseInfo[pMsgIeInfo[i].ieType][pMsgIeInfo[i].ieInstance].pGroupedIeInfo = pMsgIeParseInfo;
-    } else {
-      thiz->ieParseInfo[pMsgIeInfo[i].ieType][pMsgIeInfo[i].ieInstance].pGroupedIeInfo = NULL;
-    }
-
-    thiz->ieParseInfo[pMsgIeInfo[i].ieType][pMsgIeInfo[i].ieInstance].iePresence     = pMsgIeInfo[i].iePresence;
-    thiz->ieParseInfo[pMsgIeInfo[i].ieType][pMsgIeInfo[i].ieInstance].ieMinLength    = pMsgIeInfo[i].ieMinLength;
-
-    if(pMsgIeInfo[i].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY)
-      thiz->mandatoryIeCount++;
-  }
-
-  return NW_OK;
-}
-
-static NwRcT
-nwGtpv2cMsgGroupedIeParse(NW_IN NwGtpv2cGroupedIeParseInfoT* thiz,
-                          NW_IN uint8_t  ieType,
-                          NW_IN uint16_t ieLength,
-                          NW_IN uint8_t  ieInstance,
-                          NW_IN uint8_t  *pIeValue)
-{
-  NW_ASSERT(thiz);
-
-  NW_LOG(thiz->hStack, NW_LOG_LEVEL_DEBG, "Received grouped IE %u with instance %u of length %u in msg-type %u!",
-         ieType, ieInstance, ieLength, thiz->groupedIeType);
-
-  return NW_OK;
-}
-
-/*----------------------------------------------------------------------------*
- *                       P U B L I C   F U N C T I O N S                      *
- *----------------------------------------------------------------------------*/
-
-/**
- * Constructor
- * @return Pointer to the object on success.
- */
-
-NwGtpv2cMsgIeParseInfoT*
-nwGtpv2cMsgIeParseInfoNew(NwGtpv2cStackHandleT hStack, uint8_t msgType)
-{
-  NwRcT rc;
-  NwGtpv2cMsgIeParseInfoT *thiz;
-
-  NW_GTPV2C_MALLOC(hStack, sizeof(NwGtpv2cMsgIeParseInfoT), thiz, NwGtpv2cMsgIeParseInfoT*);
-
-  if(thiz) {
-    memset(thiz, 0, sizeof(NwGtpv2cMsgIeParseInfoT));
-
-    thiz->hStack  = hStack;
-    thiz->msgType = msgType;
-
-    switch(msgType) {
-    case NW_GTP_ECHO_RSP: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, echoRspIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_CREATE_SESSION_REQ: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, createSessionReqIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_CREATE_SESSION_RSP: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, createSessionRspIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_DELETE_SESSION_REQ: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, deleteSessionReqIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_DELETE_SESSION_RSP: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, deleteSessionRspIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_MODIFY_BEARER_REQ: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, modifyBearerReqIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_MODIFY_BEARER_RSP: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, modifyBearerRspIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_FORWARD_RELOCATION_REQ: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, forwardRelocationReqIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_FORWARD_RELOCATION_RSP: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, forwardRelocationRspIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_FORWARD_RELOCATION_COMPLETE_NTF: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, forwardRelocationCompleteNtfIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_FORWARD_RELOCATION_COMPLETE_ACK: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, forwardRelocationCompleteAckIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_CONTEXT_REQ: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, contextReqIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_CONTEXT_RSP: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, contextRspIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_CONTEXT_ACK: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, contextAckIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_IDENTIFICATION_REQ: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, identificationReqIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    case NW_GTP_IDENTIFICATION_RSP: {
-      rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, identificationRspIeInfoTbl);
-      NW_ASSERT(NW_OK == rc);
-    }
-    break;
-
-    default: {
-      free(thiz);
-      thiz = NULL;
-    }
-    break;
-    }
-  }
-
-  return thiz;
-}
-
-/**
- * Destructor
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgIeParseInfoDelete(NwGtpv2cMsgIeParseInfoT* thiz)
-{
-  NW_GTPV2C_FREE(thiz->hStack, thiz);
-  return NW_OK;
-}
-
-/**
- * Parse message
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgIeParse(NW_IN NwGtpv2cMsgIeParseInfoT* thiz,
-                   NW_IN       NwGtpv2cMsgHandleT hMsg,
-                   NW_INOUT    NwGtpv2cErrorT     *pError)
-{
-  NwRcT                 rc = NW_OK;
-  uint16_t                mandatoryIeCount =0;
-  uint8_t                 *pIeBufStart;
-  uint8_t                 *pIeBufEnd;
-  uint16_t                ieType;
-  uint16_t                ieLength;
-  uint16_t                ieInstance;
-  NwGtpv2cIeTlvT        *pIe;
-  NwGtpv2cMsgT          *pMsg = (NwGtpv2cMsgT*) hMsg;
-  uint8_t                 flags = *((uint8_t*)(pMsg->msgBuf));
-
-  pIeBufStart = (uint8_t *) (pMsg->msgBuf + (flags & 0x08 ? 12: 8));
-  pIeBufEnd   = (uint8_t *) (pMsg->msgBuf + pMsg->msgLen);
-
-  //memset(pMsg->pIe, 0, sizeof(uint8_t*) * (NW_GTPV2C_IE_TYPE_MAXIMUM) * (NW_GTPV2C_IE_INSTANCE_MAXIMUM));
-  memset(pMsg->isIeValid, (NW_FALSE), sizeof(uint8_t) * (NW_GTPV2C_IE_TYPE_MAXIMUM) * (NW_GTPV2C_IE_INSTANCE_MAXIMUM));
-
-  while (pIeBufStart < pIeBufEnd) {
-    pIe         = (NwGtpv2cIeTlvT*) pIeBufStart;
-    ieType      = pIe->t;
-    ieLength    = ntohs(pIe->l);
-    ieInstance  = pIe->i & 0x0F;
-
-    NW_ASSERT(NW_GTPV2C_IE_INSTANCE_MAXIMUM >= ieInstance);
-
-    NW_LOG(thiz->hStack, NW_LOG_LEVEL_DEBG, "Received IE %u with instance %u of length %u in msg-type %u!", ieType, ieInstance, ieLength, thiz->msgType);
-
-    if(pIeBufStart + 4 + ieLength > pIeBufEnd) {
-      NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Invalid length for IE of type %u and instance %u!", ieType, ieInstance);
-      pError->cause                     = NW_GTPV2C_CAUSE_INVALID_LENGTH;
-      pError->offendingIe.type          = ieType;
-      pError->offendingIe.instance      = ieInstance;
-      return NW_FAILURE;
-    }
-
-    if((thiz->ieParseInfo[ieType][ieInstance].iePresence)) {
-      if((ieLength < (thiz->ieParseInfo[ieType][ieInstance].ieMinLength))) {
-        if(thiz->ieParseInfo[ieType][ieInstance].iePresence == NW_GTPV2C_IE_PRESENCE_OPTIONAL) {
-          /* Ignore TLV */
-          pIeBufStart += (ieLength + 4);
-          continue;
-        } else {
-          pError->cause                     = NW_GTPV2C_CAUSE_MANDATORY_IE_INCORRECT;
-          pError->offendingIe.type          = ieType;
-          pError->offendingIe.instance      = ieInstance;
-          NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Mandatory IE of type %u and instance %u incorrect!", ieType, ieInstance);
-          return NW_FAILURE;
-        }
-      }
-
-      if(pMsg->isIeValid[ieType][ieInstance] == NW_TRUE) {
-        /*
-         * If an information element is repeated in a GTP signalling
-         * message in which repetition of the information element is
-         * not specified, only the contents of the information element
-         * appearing first shall be handled and all subsequent repetitions
-         * of the information element shall be ignored.
-         * TODO: Add handling for IEs for which repetition is allowed.
-         */
-        pIeBufStart += (ieLength + 4);
-        continue;
-      }
-
-      pMsg->pIe[ieType][ieInstance] = (uint8_t*) pIeBufStart;
-      pMsg->isIeValid[ieType][ieInstance] = NW_TRUE;
-
-      if(thiz->ieParseInfo[ieType][ieInstance].pGroupedIeInfo) {
-        /* Parse the grouped IE */
-        rc = nwGtpv2cMsgGroupedIeParse(thiz->ieParseInfo[ieType][ieInstance].pGroupedIeInfo, ieType, ieLength, ieInstance, ((uint8_t*) pIe) + 4);
-
-        if (rc != NW_OK) {
-          pError->cause                     = NW_GTPV2C_CAUSE_MANDATORY_IE_INCORRECT;
-          pError->offendingIe.type          = ieType;
-          pError->offendingIe.instance      = ieInstance;
-          NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Mandatory IE of type %u and instance %u incorrect!", ieType, ieInstance);
-          return NW_FAILURE;
-        }
-      }
-
-      if(thiz->ieParseInfo[ieType][ieInstance].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY) {
-        mandatoryIeCount++;
-      }
-    } else {
-      NW_LOG(thiz->hStack, NW_LOG_LEVEL_WARN, "Unexpected IE %u with instance %u of length %u received in msg %u!", ieType, ieInstance, ieLength, thiz->msgType);
-    }
-
-    pIeBufStart += (ieLength + 4);
-  }
-
-  if((NW_OK == rc) && (mandatoryIeCount != thiz->mandatoryIeCount)) {
-    for(ieType = 0; ieType < NW_GTPV2C_IE_TYPE_MAXIMUM; ieType++) {
-      for(ieInstance = 0; ieInstance < NW_GTPV2C_IE_INSTANCE_MAXIMUM; ieInstance++) {
-        if(thiz->ieParseInfo[ieType][ieInstance].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY) {
-          if(pMsg->isIeValid[ieType][ieInstance] == NW_FALSE) {
-            NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Mandatory IE of type %u and instance %u missing in msg type %u", ieType, ieInstance, pMsg->msgType);
-            pError->cause = NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING;
-            pError->offendingIe.type          = ieType;
-            pError->offendingIe.instance      = ieInstance;
-            return NW_FAILURE;
-          }
-        }
-      }
-    }
-
-    NW_LOG(thiz->hStack, NW_LOG_LEVEL_CRIT, "Unknown mandatory IE missing. Msg parser formed incorrectly!");
-    pError->cause = NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING;
-    pError->offendingIe.type          = 0;
-    pError->offendingIe.instance      = 0;
-    return NW_FAILURE;
-  }
-
-  pError->cause = NW_GTPV2C_CAUSE_REQUEST_ACCEPTED;
-  return NW_OK;
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- *                          E N D   O F   F I L E                           *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgParser.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgParser.c
deleted file mode 100644
index a19ddc1bcc5f328b21563fc3c2ce0d849b5cf00f..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgParser.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwGtpv2cLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgParser.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Allocate a gtpv2c message Parser.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] msgType : Message type for this message parser.
- * @param[out] pthiz : Pointer to message parser handle.
- */
-
-NwRcT
-nwGtpv2cMsgParserNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                      NW_IN uint8_t     msgType,
-                      NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
-                          uint8_t ieLength,
-                          uint8_t ieInstance,
-                          uint8_t* ieValue,
-                          void* ieReadCallbackArg),
-                      NW_IN void* ieReadCallbackArg,
-                      NW_IN NwGtpv2cMsgParserT **pthiz)
-{
-  NwGtpv2cMsgParserT* thiz;
-  //  NW_GTPV2C_MALLOC(hGtpcStackHandle, sizeof(NwGtpv2cMsgParserT), thiz, NwGtpv2cMsgParserT*);
-  thiz = (NwGtpv2cMsgParserT*) malloc (sizeof(NwGtpv2cMsgParserT));
-
-  if(thiz) {
-    memset(thiz, 0, sizeof(NwGtpv2cMsgParserT));
-    thiz->msgType = msgType;
-    thiz->hStack  = hGtpcStackHandle;
-    *pthiz = thiz;
-    thiz->ieReadCallback      = ieReadCallback;
-    thiz->ieReadCallbackArg   = ieReadCallbackArg;
-    return NW_OK;
-  }
-
-  return NW_FAILURE;
-}
-
-/**
- * Free a gtpv2c message parser.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] thiz : Message parser handle.
- */
-
-NwRcT
-nwGtpv2cMsgParserDelete( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
-                         NW_IN NwGtpv2cMsgParserT* thiz)
-{
-  NW_GTPV2C_FREE(hGtpcStackHandle, thiz);
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgParserUpdateIeReadCallback( NW_IN NwGtpv2cMsgParserT* thiz,
-                                       NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
-                                           uint8_t ieLength,
-                                           uint8_t ieInstance,
-                                           uint8_t* ieValue,
-                                           void* ieReadCallbackArg))
-{
-  if(thiz) {
-    thiz->ieReadCallback      = ieReadCallback;
-    return NW_OK;
-  }
-
-  return NW_FAILURE;
-}
-
-NwRcT
-nwGtpv2cMsgParserUpdateIeReadCallbackArg( NW_IN NwGtpv2cMsgParserT* thiz,
-    NW_IN void* ieReadCallbackArg)
-{
-  if(thiz) {
-    thiz->ieReadCallbackArg   = ieReadCallbackArg;
-    return NW_OK;
-  }
-
-  return NW_FAILURE;
-}
-
-NwRcT
-nwGtpv2cMsgParserAddIe( NW_IN NwGtpv2cMsgParserT* thiz,
-                        NW_IN uint8_t ieType,
-                        NW_IN uint8_t ieInstance,
-                        NW_IN uint8_t iePresence,
-                        NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
-                            uint8_t ieLength,
-                            uint8_t ieInstance,
-                            uint8_t* ieValue,
-                            void* ieReadCallbackArg),
-                        NW_IN void* ieReadCallbackArg)
-{
-  NW_ASSERT(thiz);
-
-  if(thiz->ieParseInfo[ieType][ieInstance].iePresence == 0) {
-    NW_ASSERT(ieInstance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
-    thiz->ieParseInfo[ieType][ieInstance].ieReadCallback      = ieReadCallback;
-    thiz->ieParseInfo[ieType][ieInstance].ieReadCallbackArg   = ieReadCallbackArg;
-    thiz->ieParseInfo[ieType][ieInstance].iePresence          = iePresence;
-
-    if (iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY) {
-      thiz->mandatoryIeCount++;
-    }
-  } else {
-    NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Cannot add IE to parser for type %u and instance %u. IE info already exists!", ieType, ieInstance);
-  }
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgParserUpdateIe( NW_IN NwGtpv2cMsgParserT* thiz,
-                           NW_IN uint8_t ieType,
-                           NW_IN uint8_t ieInstance,
-                           NW_IN uint8_t iePresence,
-                           NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
-                               uint8_t ieLength,
-                               uint8_t ieInstance,
-                               uint8_t* ieValue,
-                               void* ieReadCallbackArg),
-                           NW_IN void* ieReadCallbackArg)
-{
-  NW_ASSERT(thiz);
-
-  if(thiz->ieParseInfo[ieType][ieInstance].iePresence) {
-    thiz->ieParseInfo[ieType][ieInstance].ieReadCallback      = ieReadCallback;
-    thiz->ieParseInfo[ieType][ieInstance].ieReadCallbackArg   = ieReadCallbackArg;
-
-    thiz->ieParseInfo[ieType][ieInstance].iePresence          = iePresence;
-  } else {
-    NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Cannot update IE info for type %u and instance %u. IE info does not exist!", ieType, ieInstance);
-  }
-
-
-  return NW_OK;
-}
-
-
-
-NwRcT
-nwGtpv2cMsgParserRun( NW_IN NwGtpv2cMsgParserT *thiz,
-                      NW_IN NwGtpv2cMsgHandleT  hMsg,
-                      NW_OUT uint8_t             *pOffendingIeType,
-                      NW_OUT uint8_t             *pOffendingIeInstance,
-                      NW_OUT uint16_t            *pOffendingIeLength)
-{
-  NwRcT                 rc = NW_OK;
-  uint8_t                 flags;
-  uint16_t                mandatoryIeCount =0;
-  NwGtpv2cIeTlvT        *pIe;
-  uint8_t                 *pIeStart;
-  uint8_t                 *pIeEnd;
-  uint16_t                ieLength;
-  NwGtpv2cMsgT          *pMsg = (NwGtpv2cMsgT*) hMsg;
-
-  NW_ASSERT(pMsg);
-  flags    = *((uint8_t*)(pMsg->msgBuf));
-  pIeStart = (uint8_t *) (pMsg->msgBuf + (flags & 0x08 ? 12: 8));
-  pIeEnd   = (uint8_t *) (pMsg->msgBuf + pMsg->msgLen);
-
-  memset(thiz->pIe, 0, sizeof(uint8_t*) * (NW_GTPV2C_IE_TYPE_MAXIMUM) * (NW_GTPV2C_IE_INSTANCE_MAXIMUM));
-  memset(pMsg->pIe, 0, sizeof(uint8_t*) * (NW_GTPV2C_IE_TYPE_MAXIMUM) * (NW_GTPV2C_IE_INSTANCE_MAXIMUM));
-
-  while (pIeStart < pIeEnd) {
-    pIe = (NwGtpv2cIeTlvT*) pIeStart;
-    ieLength = ntohs(pIe->l);
-
-    if(pIeStart + 4 + ieLength > pIeEnd) {
-      *pOffendingIeType = pIe->t;
-      *pOffendingIeLength = pIe->l;
-      *pOffendingIeInstance = pIe->i;
-      return NW_GTPV2C_MSG_MALFORMED;
-    }
-
-    if((thiz->ieParseInfo[pIe->t][pIe->i].iePresence)) {
-      thiz->pIe[pIe->t][pIe->i] = (uint8_t*) pIeStart;
-      pMsg->pIe[pIe->t][pIe->i] = (uint8_t*) pIeStart;
-
-      NW_LOG(thiz->hStack, NW_LOG_LEVEL_DEBG, "Received IE %u of length %u!", pIe->t, ieLength);
-
-      if((thiz->ieParseInfo[pIe->t][pIe->i].ieReadCallback) != NULL ) {
-        rc = thiz->ieParseInfo[pIe->t][pIe->i].ieReadCallback(pIe->t, ieLength, pIe->i, pIeStart + 4, thiz->ieParseInfo[pIe->t][pIe->i].ieReadCallbackArg);
-
-        if(NW_OK == rc) {
-          if(thiz->ieParseInfo[pIe->t][pIe->i].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY)
-            mandatoryIeCount++;
-        } else {
-          NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Error while parsing IE %u with instance %u and length %u!", pIe->t, pIe->i, ieLength);
-          break;
-        }
-      } else {
-        if((thiz->ieReadCallback) != NULL ) {
-          NW_LOG(thiz->hStack, NW_LOG_LEVEL_DEBG, "Received IE %u of length %u!", pIe->t, ieLength);
-          rc = thiz->ieReadCallback(pIe->t, ieLength, pIe->i, pIeStart + 4, thiz->ieReadCallbackArg);
-
-          if(NW_OK == rc) {
-            if(thiz->ieParseInfo[pIe->t][pIe->i].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY)
-              mandatoryIeCount++;
-          } else {
-            NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Error while parsing IE %u of length %u!", pIe->t, ieLength);
-            break;
-          }
-        } else {
-          NW_LOG(thiz->hStack, NW_LOG_LEVEL_WARN, "No parse method defined for received IE type %u of length %u in message %u!", pIe->t, ieLength, thiz->msgType);
-        }
-      }
-    } else {
-      NW_LOG(thiz->hStack, NW_LOG_LEVEL_WARN, "Unexpected IE %u of length %u received in msg %u!", pIe->t, ieLength, thiz->msgType);
-    }
-
-    pIeStart += (ieLength + 4);
-  }
-
-  if((NW_OK == rc) && (mandatoryIeCount != thiz->mandatoryIeCount)) {
-    uint16_t t, i;
-    *pOffendingIeType     = 0;
-    *pOffendingIeInstance = 0;
-    *pOffendingIeLength   = 0;
-
-    for(t = 0; t < NW_GTPV2C_IE_TYPE_MAXIMUM; t++) {
-      for(i = 0; i < NW_GTPV2C_IE_INSTANCE_MAXIMUM; i++) {
-        if(thiz->ieParseInfo[t][i].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY) {
-          if(thiz->pIe[t][i] == NULL) {
-            *pOffendingIeType = t;
-            *pOffendingIeInstance = i;
-            return NW_GTPV2C_MANDATORY_IE_MISSING;
-          }
-        }
-      }
-    }
-
-    NW_LOG(thiz->hStack, NW_LOG_LEVEL_WARN, "Unknown mandatory IE missing. Parser formed incorrectly! %u:%u", mandatoryIeCount, thiz->mandatoryIeCount);
-    return NW_GTPV2C_MANDATORY_IE_MISSING;
-  }
-
-  return rc;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTrxn.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTrxn.c
deleted file mode 100644
index 4d052d05f1ef721c3ea3563beafea7c526093d6b..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTrxn.c
+++ /dev/null
@@ -1,389 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#include <stdio.h>
-#include <string.h>
-
-#include "NwTypes.h"
-#include "NwLog.h"
-#include "NwUtils.h"
-#include "NwGtpv2cLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cTrxn.h"
-
-/*--------------------------------------------------------------------------*
- *                 P R I V A T E  D E C L A R A T I O N S                   *
- *--------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static NwGtpv2cTrxnT* gpGtpv2cTrxnPool = NULL;
-
-/*--------------------------------------------------------------------------*
- *                   P R I V A T E      F U N C T I O N S                   *
- *--------------------------------------------------------------------------*/
-
-/*---------------------------------------------------------------------------
- * Send msg retransmission to peer via data request to UDP Entity
- *--------------------------------------------------------------------------*/
-
-static NwRcT
-nwGtpv2cTrxnSendMsgRetransmission(NwGtpv2cTrxnT* thiz)
-{
-  NwRcT rc ;
-
-  NW_ASSERT(thiz);
-
-  NW_ASSERT(thiz->pMsg);
-
-  rc = thiz->pStack->udp.udpDataReqCallback(thiz->pStack->udp.hUdp,
-       thiz->pMsg->msgBuf,
-       thiz->pMsg->msgLen,
-       thiz->peerIp,
-       thiz->peerPort);
-
-  thiz->maxRetries--;
-
-  return rc;
-}
-
-static NwRcT
-nwGtpv2cTrxnPeerRspWaitTimeout(void* arg)
-{
-  NwRcT rc = NW_OK;
-  NwGtpv2cTrxnT* thiz;
-  NwGtpv2cStackT* pStack;
-
-  thiz = ((NwGtpv2cTrxnT*)arg);
-  pStack = thiz->pStack;
-
-  NW_ASSERT(pStack);
-
-  NW_LOG(pStack, NW_LOG_LEVEL_WARN, "T3 Response timer expired for transaction 0x%p",
-         thiz);
-
-  thiz->hRspTmr = 0;
-
-  if(thiz->maxRetries) {
-    rc = nwGtpv2cTrxnSendMsgRetransmission(thiz);
-    NW_ASSERT(NW_OK == rc);
-
-    rc = nwGtpv2cStartTimer(thiz->pStack, thiz->t3Timer, 0, NW_GTPV2C_TMR_TYPE_ONE_SHOT, nwGtpv2cTrxnPeerRspWaitTimeout, thiz, &thiz->hRspTmr);
-  } else {
-    NwGtpv2cUlpApiT ulpApi;
-
-    ulpApi.hMsg                              = 0;
-    ulpApi.apiType                           = NW_GTPV2C_ULP_API_RSP_FAILURE_IND;
-
-    ulpApi.apiInfo.rspFailureInfo.hUlpTrxn   = thiz->hUlpTrxn;
-    ulpApi.apiInfo.rspFailureInfo.hUlpTunnel = ( (thiz->hTunnel) ? ((NwGtpv2cTunnelT*)(thiz->hTunnel))->hUlpTunnel : 0 );
-
-    NW_LOG(pStack, NW_LOG_LEVEL_ERRO, "N3 retries expired for transaction 0x%p",
-           thiz);
-    RB_REMOVE(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(pStack->outstandingTxSeqNumMap), thiz);
-    rc = nwGtpv2cTrxnDelete(&thiz);
-
-    rc = pStack->ulp.ulpReqCallback(pStack->ulp.hUlp, &ulpApi);
-  }
-
-  return rc;
-}
-
-static NwRcT
-nwGtpv2cTrxnDuplicateRequestWaitTimeout(void* arg)
-{
-  NwRcT rc = NW_OK;
-  NwGtpv2cTrxnT* thiz;
-  NwGtpv2cStackT* pStack;
-
-  thiz = ((NwGtpv2cTrxnT*)arg);
-
-  NW_ASSERT(thiz);
-  pStack = thiz->pStack;
-
-  NW_ASSERT(pStack);
-
-  NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Duplicate request hold timer expired for transaction 0x%p",
-         thiz);
-
-  thiz->hRspTmr = 0;
-
-  RB_REMOVE(NwGtpv2cOutstandingRxSeqNumTrxnMap, &(pStack->outstandingRxSeqNumMap), thiz);
-  rc = nwGtpv2cTrxnDelete(&thiz);
-  NW_ASSERT(NW_OK == rc);
-
-  return rc;
-}
-
-/**
- * Start timer to wait for rsp of a req message
- *
- * @param[in] thiz : Pointer to transaction
- * @param[in] timeoutCallbackFunc : Timeout handler callback function.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cTrxnStartPeerRspWaitTimer(NwGtpv2cTrxnT* thiz)
-{
-  NwRcT rc;
-  rc = nwGtpv2cStartTimer(thiz->pStack, thiz->t3Timer, 0, NW_GTPV2C_TMR_TYPE_ONE_SHOT, nwGtpv2cTrxnPeerRspWaitTimeout, thiz, &thiz->hRspTmr);
-  return rc;
-}
-
-/**
-  Start timer to wait before pruginf a req tran for which response has been sent
-
-  @param[in] thiz : Pointer to transaction
-  @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cTrxnStartDulpicateRequestWaitTimer(NwGtpv2cTrxnT* thiz)
-{
-  NwRcT rc;
-
-  rc = nwGtpv2cStartTimer(thiz->pStack, thiz->t3Timer * thiz->maxRetries, 0, NW_GTPV2C_TMR_TYPE_ONE_SHOT, nwGtpv2cTrxnDuplicateRequestWaitTimeout, thiz, &thiz->hRspTmr);
-
-  return rc;
-}
-
-/**
-  Send timer stop request to TmrMgr Entity.
-
-  @param[in] thiz : Pointer to transaction
-  @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cTrxnStopPeerRspTimer(NwGtpv2cTrxnT* thiz)
-{
-  NwRcT rc;
-
-  NW_ASSERT(thiz->pStack->tmrMgr.tmrStopCallback != NULL);
-
-  rc = nwGtpv2cStopTimer(thiz->pStack, thiz->hRspTmr);
-  thiz->hRspTmr = 0;
-
-  return rc;
-}
-
-/*--------------------------------------------------------------------------*
- *                      P U B L I C    F U N C T I O N S                    *
- *--------------------------------------------------------------------------*/
-
-/**
- * Constructor
- *
- * @param[in] thiz : Pointer to stack
- * @param[out] ppTrxn : Pointer to pointer to Trxn object.
- * @return NW_OK on success.
- */
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnNew( NW_IN  NwGtpv2cStackT* thiz)
-{
-  NwGtpv2cTrxnT *pTrxn;
-
-  if(gpGtpv2cTrxnPool) {
-    pTrxn = gpGtpv2cTrxnPool;
-    gpGtpv2cTrxnPool = gpGtpv2cTrxnPool->next;
-  } else {
-    NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTrxnT), pTrxn, NwGtpv2cTrxnT*);
-  }
-
-  if (pTrxn) {
-    pTrxn->pStack       = thiz;
-    pTrxn->pMsg         = NULL;
-    pTrxn->maxRetries   = 2;
-    pTrxn->t3Timer      = 2;
-    pTrxn->seqNum       = thiz->seqNum;
-
-    /* Increment sequence number */
-    thiz->seqNum++;
-
-    if(thiz->seqNum == 0x800000)
-      thiz->seqNum = 0;
-
-  }
-
-  NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Created transaction 0x%p", pTrxn);
-
-  return pTrxn;
-}
-
-/**
- * Overloaded Constructor
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] seqNum : Sequence number for this transaction.
- * @return Pointer to Trxn object.
- */
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnWithSeqNumNew( NW_IN  NwGtpv2cStackT* thiz,
-                           NW_IN  uint32_t seqNum)
-{
-  NwGtpv2cTrxnT *pTrxn;
-
-  if(gpGtpv2cTrxnPool) {
-    pTrxn = gpGtpv2cTrxnPool;
-    gpGtpv2cTrxnPool = gpGtpv2cTrxnPool->next;
-  } else {
-    NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTrxnT), pTrxn, NwGtpv2cTrxnT*);
-  }
-
-  if (pTrxn) {
-    pTrxn->pStack       = thiz;
-    pTrxn->pMsg         = NULL;
-    pTrxn->maxRetries   = 2;
-    pTrxn->t3Timer      = 2;
-    pTrxn->seqNum       = seqNum;
-    pTrxn->pMsg         = NULL;
-  }
-
-  NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Created transaction 0x%p", pTrxn);
-
-  return pTrxn;
-}
-
-/**
- * Another overloaded constructor. Create transaction as outstanding
- * RX transaction for detecting duplicated requests.
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] teidLocal : Trxn teid.
- * @param[in] peerIp : Peer Ip address.
- * @param[in] peerPort : Peer Ip port.
- * @param[in] seqNum : Seq Number.
- * @return NW_OK on success.
- */
-
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnOutstandingRxNew( NW_IN  NwGtpv2cStackT* thiz,
-                              NW_IN  uint32_t teidLocal,
-                              NW_IN  uint32_t peerIp,
-                              NW_IN  uint32_t peerPort,
-                              NW_IN  uint32_t seqNum)
-{
-  NwRcT rc;
-  NwGtpv2cTrxnT *pTrxn, *pCollision;
-
-  if(gpGtpv2cTrxnPool) {
-    pTrxn = gpGtpv2cTrxnPool;
-    gpGtpv2cTrxnPool = gpGtpv2cTrxnPool->next;
-  } else {
-    NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTrxnT), pTrxn, NwGtpv2cTrxnT*);
-  }
-
-  if (pTrxn) {
-    pTrxn->pStack       = thiz;
-    pTrxn->maxRetries   = 2;
-    pTrxn->t3Timer      = 2;
-    pTrxn->seqNum       = seqNum;
-    pTrxn->peerIp       = peerIp;
-    pTrxn->peerPort     = peerPort;
-    pTrxn->pMsg         = NULL;
-    pTrxn->hRspTmr      = 0;
-
-    pCollision = RB_INSERT(NwGtpv2cOutstandingRxSeqNumTrxnMap, &(thiz->outstandingRxSeqNumMap), pTrxn);
-
-    if(pCollision) {
-      NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Duplicate request message received for seq num 0x%x!",
-             (uint32_t) seqNum);
-
-      /* Case of duplicate request message from peer. Retransmit response. */
-      if(pCollision->pMsg) {
-        rc = pCollision->pStack->udp.udpDataReqCallback(pCollision->pStack->udp.hUdp,
-             pCollision->pMsg->msgBuf,
-             pCollision->pMsg->msgLen,
-             pCollision->peerIp,
-             pCollision->peerPort);
-      }
-
-      rc = nwGtpv2cTrxnDelete(&pTrxn);
-      NW_ASSERT(NW_OK == rc);
-      pTrxn = NULL;
-    }
-  }
-
-  if(pTrxn)
-    NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Created outstanding RX transaction 0x%p",
-           pTrxn);
-
-  return (pTrxn);
-}
-
-/**
- * Destructor
- *
- * @param[out] pthiz : Pointer to pointer to Trxn object.
- * @return NW_OK on success.
- */
-NwRcT
-nwGtpv2cTrxnDelete( NW_INOUT NwGtpv2cTrxnT **pthiz)
-{
-  NwRcT rc = NW_OK;
-  NwGtpv2cStackT* pStack;
-  NwGtpv2cTrxnT *thiz = *pthiz;
-
-  pStack = thiz->pStack;
-
-  if(thiz->hRspTmr) {
-    rc = nwGtpv2cTrxnStopPeerRspTimer(thiz);
-    NW_ASSERT(NW_OK == rc);
-  }
-
-  if(thiz->pMsg) {
-    rc = nwGtpv2cMsgDelete((NwGtpv2cStackHandleT)pStack, (NwGtpv2cMsgHandleT)thiz->pMsg);
-    NW_ASSERT(NW_OK == rc);
-  }
-
-  NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Purging  transaction 0x%p", thiz);
-
-  thiz->next = gpGtpv2cTrxnPool;
-  gpGtpv2cTrxnPool = thiz;
-
-  *pthiz = NULL;
-  return rc;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- *                          E N D   O F   F I L E                           *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTunnel.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTunnel.c
deleted file mode 100644
index 865d2c155a82d83405c263c4cceab67b156e2759..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTunnel.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwError.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cTunnel.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static NwGtpv2cTunnelT* gpGtpv2cTunnelPool = NULL;
-
-NwGtpv2cTunnelT*
-nwGtpv2cTunnelNew(struct NwGtpv2cStack *pStack, uint32_t teid, uint32_t ipv4AddrRemote, NwGtpv2cUlpTunnelHandleT hUlpTunnel)
-{
-  NwGtpv2cTunnelT* thiz;
-
-  if(gpGtpv2cTunnelPool) {
-    thiz = gpGtpv2cTunnelPool;
-    gpGtpv2cTunnelPool = gpGtpv2cTunnelPool->next;
-  } else {
-    NW_GTPV2C_MALLOC(pStack, sizeof(NwGtpv2cTunnelT), thiz, NwGtpv2cTunnelT*);
-  }
-
-  if(thiz) {
-    memset(thiz, 0, sizeof(NwGtpv2cTunnelT));
-    thiz->teid          = teid;
-    thiz->ipv4AddrRemote  = ipv4AddrRemote;
-    thiz->hUlpTunnel    = hUlpTunnel;
-  }
-
-  return thiz;
-}
-
-NwRcT
-nwGtpv2cTunnelDelete(struct NwGtpv2cStack *pStack, NwGtpv2cTunnelT* thiz)
-{
-  thiz->next = gpGtpv2cTunnelPool;
-  gpGtpv2cTunnelPool = thiz;
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cTunnelGetUlpTunnelHandle( NwGtpv2cTunnelT* thiz, NwGtpv2cUlpTunnelHandleT* phUlpTunnel)
-{
-  *phUlpTunnel = (thiz? thiz->hUlpTunnel : 0x00000000);
-  return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- *                      E N D     O F    F I L E                            *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/Makefile.am b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/Makefile.am
deleted file mode 100644
index da32172d9ae06d9f1ce78582d543994587fffa04..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-# this is example-file: Makefile.am
-
-# the subdirectories of the project to go into
-SUBDIRS =   \
-           nw-egtping\
-           nw-helloworld
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/Makefile.am b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/Makefile.am
deleted file mode 100644
index 36744459892ad0f19366805a516c358993899b82..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-AM_CFLAGS = -D__WITH_LIBEVENT__	\
-	-I$(top_srcdir)/shared	\
-	-I$(top_srcdir)/include	\
-	-I$(top_srcdir)/test-app/nw-udp	\
-	-I$(top_srcdir)/test-app/nw-log	\
-	@AM_CFLAGS@
-
-if ENABLE_TESTS_APP
-bin_PROGRAMS = egtping
-
-egtping_SOURCES =    \
-			NwEvt.h\
-			NwMiniLogMgrEntity.h\
-			NwMiniTmrMgrEntity.h\
-			NwMiniUlpEntity.h\
-			NwMiniUdpEntity.h\
-			NwMiniLogMgrEntity.c\
-			NwMiniTmrMgrEntity.c\
-			NwMiniUlpEntity.c\
-			NwMiniUdpEntity.c\
-                        NwEgtPingMain.c
-
-egtping_LDADD =  $(top_builddir)/src/libNwGtpv2c.a -levent $(AM_LDFLAGS)
-endif
\ No newline at end of file
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEgtPingMain.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEgtPingMain.c
deleted file mode 100644
index a346ab1faf9672f575d1be1f16803564f0ec8ee7..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEgtPingMain.c
+++ /dev/null
@@ -1,280 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwEgtPingMain.c
- * @brief This is a program demostrating usage of nw-gtpv2c library for eGTP ping.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include <signal.h>
-#include <string.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniTmrMgrEntity.h"
-#include "NwMiniUdpEntity.h"
-#include "NwMiniUlpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-
-typedef struct NwEgtPingS {
-  uint8_t                         localIpStr[20];
-  uint8_t                         targetIpStr[20];
-  uint32_t                        pingInterval;
-  uint32_t                        pingCount;
-  NwGtpv2cNodeUlpT              ulpObj;
-  NwGtpv2cNodeUdpT              udpObj;
-} NwEgtPingT;
-
-static NwGtpv2cNodeUlpT              ulpObj;
-static NwGtpv2cNodeUdpT              udpObj;
-
-static NwEgtPingT               egtPing;
-
-void nwEgtPingHandleSignal(int sigNum)
-{
-  printf("\n--- %s ("NW_IPV4_ADDR") EGTPING statistics --- ", egtPing.targetIpStr, NW_IPV4_ADDR_FORMAT(inet_addr(egtPing.targetIpStr)));
-  printf("\n%u requests sent, %u response received, %d%% packet loss \n\n", udpObj.packetsSent, udpObj.packetsRcvd,
-         (udpObj.packetsSent ? 100 * (udpObj.packetsSent - udpObj.packetsRcvd ) / udpObj.packetsSent : 0) );
-  exit(sigNum);
-}
-
-NwRcT
-nwEgtPingHelp()
-{
-  printf("Usage: egtping [-i interval] [-c count] [-l local-ip] ");
-  printf("\n               [-t3 t3-time] [-n3 n3-count] destination");
-  printf("\n");
-  printf("\n       -i <interval>     : Interval between two echo request messages. (Default: 1 sec)");
-  printf("\n       -c <count>        : Stop after sending count pings. (Default: Infinite)");
-  printf("\n       -t <t3-time>      : GTP T3 timeout value. (Default: 2 sec)");
-  printf("\n       -n <n3-count>     : GTP N3 count value. (Default: 2 sec)");
-  printf("\n       -l <local-ip>     : Local IP adddress to use. (Default: All local IPs)");
-  printf("\n       -h                : Show this message.");
-  printf("\n");
-  printf("\n");
-}
-
-NwRcT
-nwEgtPingParseCmdLineOpts(int argc, char* argv[])
-{
-  NwRcT rc = NW_OK;
-  int i = 0;
-  i++;
-
-  egtPing.pingInterval  = 1;
-  egtPing.pingCount     = 0xffffffff;
-
-  if(argc < 2)
-    return NW_FAILURE;
-
-  if( (argc == 2) &&
-      ((strcmp("--help", argv[i]) == 0)
-       || (strcmp(argv[i], "-h") == 0)))
-    return NW_FAILURE;
-
-  while( i < argc - 1) {
-    NW_LOG(NW_LOG_LEVEL_DEBG, "Processing cmdline arg %s", argv[i]);
-
-    if((strcmp("--local-ip", argv[i]) == 0)
-        || (strcmp(argv[i], "-l") == 0)) {
-      i++;
-
-      if(i >= (argc - 1))
-        return NW_FAILURE;
-
-      strcpy(egtPing.localIpStr, (argv[i]));
-
-    } else if((strcmp("--interval", argv[i]) == 0)
-              || (strcmp(argv[i], "-i") == 0)) {
-      i++;
-
-      if(i >= (argc - 1))
-        return NW_FAILURE;
-
-      egtPing.pingInterval = atoi(argv[i]);
-
-    } else if((strcmp("--count", argv[i]) == 0)
-              || (strcmp(argv[i], "-c") == 0)) {
-      i++;
-
-      if(i >= (argc - 1))
-        return NW_FAILURE;
-
-      egtPing.pingCount = atoi(argv[i]);
-    } else if((strcmp("--help", argv[i]) == 0)
-              || (strcmp(argv[i], "-h") == 0)) {
-      rc = NW_FAILURE;
-    } else {
-      return NW_FAILURE;
-    }
-
-    i++;
-  }
-
-  strcpy(egtPing.targetIpStr, (argv[i]));
-
-  return rc;
-}
-
-/*---------------------------------------------------------------------------
- *                T H E      M A I N      F U N C T I O N
- *--------------------------------------------------------------------------*/
-
-int main(int argc, char* argv[])
-{
-  NwRcT                         rc;
-  uint32_t                        logLevel;
-  uint8_t*                        logLevelStr;
-
-  NwGtpv2cStackHandleT          hGtpv2cStack = 0;
-
-  NwGtpv2cUlpEntityT            ulp;
-  NwGtpv2cUdpEntityT            udp;
-  NwGtpv2cTimerMgrEntityT       tmrMgr;
-  NwGtpv2cLogMgrEntityT         logMgr;
-
-  printf("EGTPING 0.1, Copyright (C) 2011 Amit Chawre.\n");
-  rc = nwEgtPingParseCmdLineOpts(argc, argv);
-
-  if(rc != NW_OK) {
-    rc = nwEgtPingHelp();
-    exit(rc);
-  }
-
-  logLevelStr = getenv ("NW_LOG_LEVEL");
-
-  if(logLevelStr == NULL) {
-    logLevel = NW_LOG_LEVEL_INFO;
-  } else {
-    if(strncmp(logLevelStr, "EMER",4) == 0)
-      logLevel = NW_LOG_LEVEL_EMER;
-    else if(strncmp(logLevelStr, "ALER",4) == 0)
-      logLevel = NW_LOG_LEVEL_ALER;
-    else if(strncmp(logLevelStr, "CRIT",4) == 0)
-      logLevel = NW_LOG_LEVEL_CRIT;
-    else if(strncmp(logLevelStr, "ERRO",4) == 0)
-      logLevel = NW_LOG_LEVEL_ERRO ;
-    else if(strncmp(logLevelStr, "WARN",4) == 0)
-      logLevel = NW_LOG_LEVEL_WARN;
-    else if(strncmp(logLevelStr, "NOTI",4) == 0)
-      logLevel = NW_LOG_LEVEL_NOTI;
-    else if(strncmp(logLevelStr, "INFO",4) == 0)
-      logLevel = NW_LOG_LEVEL_INFO;
-    else if(strncmp(logLevelStr, "DEBG",4) == 0)
-      logLevel = NW_LOG_LEVEL_DEBG;
-  }
-
-  /*---------------------------------------------------------------------------
-   *  Initialize event library
-   *--------------------------------------------------------------------------*/
-
-  NW_EVT_INIT();
-
-  /*---------------------------------------------------------------------------
-   *  Initialize Log Manager
-   *--------------------------------------------------------------------------*/
-  nwMiniLogMgrInit(nwMiniLogMgrGetInstance(), logLevel);
-
-  /*---------------------------------------------------------------------------
-   *  Initialize Gtpv2c Stack Instance
-   *--------------------------------------------------------------------------*/
-  rc = nwGtpv2cInitialize(&hGtpv2cStack);
-
-  if(rc != NW_OK) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to create gtpv2c stack instance. Error '%u' occured", rc);
-    exit(1);
-  }
-
-  rc = nwGtpv2cSetLogLevel(hGtpv2cStack, logLevel);
-
-  /*---------------------------------------------------------------------------
-   * Set up Ulp Entity
-   *--------------------------------------------------------------------------*/
-  rc = nwGtpv2cUlpInit(&ulpObj, hGtpv2cStack, egtPing.localIpStr);
-  NW_ASSERT(NW_OK == rc);
-
-  ulp.hUlp = (NwGtpv2cUlpHandleT) &ulpObj;
-  ulp.ulpReqCallback = nwGtpv2cUlpProcessStackReqCallback;
-
-  rc = nwGtpv2cSetUlpEntity(hGtpv2cStack, &ulp);
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   * Set up Udp Entity
-   *--------------------------------------------------------------------------*/
-  rc = nwGtpv2cUdpInit(&udpObj, hGtpv2cStack, egtPing.localIpStr);
-  NW_ASSERT(NW_OK == rc);
-
-  udp.hUdp = (NwGtpv2cUdpHandleT) &udpObj;
-  udp.udpDataReqCallback = nwGtpv2cUdpDataReq;
-
-  rc = nwGtpv2cSetUdpEntity(hGtpv2cStack, &udp);
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   * Set up Log Entity
-   *--------------------------------------------------------------------------*/
-  tmrMgr.tmrMgrHandle = 0;
-  tmrMgr.tmrStartCallback = nwTimerStart;
-  tmrMgr.tmrStopCallback = nwTimerStop;
-
-  rc = nwGtpv2cSetTimerMgrEntity(hGtpv2cStack, &tmrMgr);
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   * Set up Log Entity
-   *--------------------------------------------------------------------------*/
-  logMgr.logMgrHandle   = (NwGtpv2cLogMgrHandleT) nwMiniLogMgrGetInstance();
-  logMgr.logReqCallback  = nwMiniLogMgrLogRequest;
-
-  rc = nwGtpv2cSetLogMgrEntity(hGtpv2cStack, &logMgr);
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   *  Send Message Request to Gtpv2c Stack Instance
-   *--------------------------------------------------------------------------*/
-  NW_LOG(NW_LOG_LEVEL_NOTI, "EGTPING %s ("NW_IPV4_ADDR")", egtPing.targetIpStr, NW_IPV4_ADDR_FORMAT(inet_addr(egtPing.targetIpStr)));
-  rc = nwGtpv2cUlpPing(&ulpObj,
-                       inet_addr(egtPing.targetIpStr),
-                       egtPing.pingCount,
-                       egtPing.pingInterval,
-                       2,
-                       3);
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   * Install signal handler
-   *--------------------------------------------------------------------------*/
-  signal(SIGINT, nwEgtPingHandleSignal);
-
-  /*---------------------------------------------------------------------------
-   * Event loop
-   *--------------------------------------------------------------------------*/
-
-  NW_EVT_LOOP();
-  NW_LOG(NW_LOG_LEVEL_ERRO, "Exit from eventloop, no events to process!");
-
-  /*---------------------------------------------------------------------------
-   *  Destroy Gtpv2c Stack Instance
-   *--------------------------------------------------------------------------*/
-  rc = nwGtpv2cFinalize(hGtpv2cStack);
-
-  if(rc != NW_OK) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to finalize gtpv2c stack instance. Error '%u' occured", rc);
-  }
-
-  return rc;
-}
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEvt.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEvt.h
deleted file mode 100644
index 6df5794a5ffff32f98f87b78cd9408ee2887835d..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEvt.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_EVT_H__
-#define __NW_EVT_H__
-/**
- * @file NwEvt.h
- * @brief
-*/
-
-#ifdef __WITH_LIBEVENT__
-
-#include <event.h>
-
-typedef struct event                    NwEventT;
-
-#define NW_EVT_READ                     (EV_READ)
-#define NW_EVT_PERSIST                  (EV_PERSIST)
-#define NW_EVT_CALLBACK(__cbFunc)       __cbFunc(int fd, short event, void *arg)
-#define NW_TMR_CALLBACK(__cbFunc)       __cbFunc(int fd, short event, void *arg)
-
-#define NW_EVT_INIT                     event_init
-#define NW_EVT_LOOP                     event_dispatch
-
-#define NW_EVENT_ADD(__ev, __evSelObj, __evCallback, __evCallbackArg, __evFlags)        \
-  do {                                                                                  \
-    event_set(&(__ev), __evSelObj, __evFlags, __evCallback, __evCallbackArg);           \
-    event_add(&(__ev), NULL);                                                           \
-  } while(0)
-
-#else
-
-#warning "Event library not defined!"
-
-/* HACK : Defining dummy values for compilation!*/
-
-typedef struct {
-  int __tbd;
-} NwEventT;
-
-#define NW_EVT_READ                     (0)
-#define NW_EVT_PERSIST                  (1)
-#define NW_EVT_CALLBACK(__cbFunc)       __cbFunc(void *arg)
-#define NW_TMR_CALLBACK(__cbFunc)       __cbFunc(void *arg)
-
-
-#define NW_EVT_INIT()                   do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-#define NW_EVT_LOOP()                   do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-#define NW_EVENT_ADD(...)               do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-
-
-#endif
-
-#endif /* __NW_EVT_H__ */
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.c
deleted file mode 100644
index 585f7fa7c780af823a5c26f3f59a09b73dd21169..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *         M I N I M A L I S T I C    L O G M G R     E N T I T Y             *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file hello-world.c
- * @brief This file contains example of a minimalistic log manager entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwTypes.h"
-#include "NwError.h"
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-
-#include "NwMiniLogMgrEntity.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-NwMiniLogMgrT __gLogMgr;
-
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwMiniLogMgrT* nwMiniLogMgrGetInstance()
-{
-  return &(__gLogMgr);
-}
-
-NwRcT nwMiniLogMgrInit(NwMiniLogMgrT* thiz, uint32_t logLevel )
-{
-  thiz->logLevel = logLevel;
-  return NW_OK;
-}
-
-NwRcT nwMiniLogMgrSetLogLevel(NwMiniLogMgrT* thiz, uint32_t logLevel)
-{
-  thiz->logLevel = logLevel;
-}
-
-NwRcT nwMiniLogMgrLogRequest (NwGtpv2cLogMgrHandleT hLogMgr,
-                              uint32_t logLevel,
-                              NwCharT* file,
-                              uint32_t line,
-                              NwCharT* logStr)
-{
-  NwMiniLogMgrT* thiz = (NwMiniLogMgrT*) hLogMgr;
-
-  if(thiz->logLevel >= logLevel)
-    //printf("NWEGTPSTK  %s - %s <%s,%u>\n", gLogLevelStr[logLevel], logStr, basename(file), line);
-    return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.h
deleted file mode 100644
index 3f37dec409debcd6fcead1e04827e20a3aa825be..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *         M I N I M A L I S T I C    L O G M G R     E N T I T Y             *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file hello-world.c
- * @brief This file contains example of a minimalistic log manager entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_LOG_MGR_H__
-#define __NW_MINI_LOG_MGR_H__
-
-#define NW_LOG( _logLevel, ...)                                         \
-  do {                                                                  \
-    if((nwMiniLogMgrGetInstance())->logLevel >= _logLevel)              \
-    {                                                                   \
-      char _logStr[1024];                                               \
-      snprintf(_logStr, 1024, __VA_ARGS__);                             \
-      printf("%s \n", _logStr);\
-    }                                                                   \
-  } while(0)
-
-/**
- * MiniLogMgr Class Definition
- */
-typedef struct NwMiniLogMgr {
-  uint8_t  logLevel; /*< Log level */
-} NwMiniLogMgrT;
-
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Get global singleton MiniLogMgr instance
- */
-NwMiniLogMgrT* nwMiniLogMgrGetInstance();
-
-/**
- * Initialize MiniLogMgr
- * @param thiz : Pointer to global singleton MiniLogMgr instance
- * @param logLevel : Log Level
- */
-NwRcT nwMiniLogMgrInit(NwMiniLogMgrT* thiz, uint32_t logLevel );
-
-/**
- * Set MiniLogMgr log level
- * @param thiz : Pointer to global singleton MiniLogMgr instance
- * @param logLevel : Log Level
- */
-NwRcT nwMiniLogMgrSetLogLevel(NwMiniLogMgrT* thiz, uint32_t logLevel);
-
-/**
- * Process log request from stack
- * @param thiz : Pointer to global singleton MiniLogMgr instance
- * @param logLevel : Log Level
- * @param file : Filename
- * @param line : Line Number
- * @param logStr : Log string
- */
-NwRcT nwMiniLogMgrLogRequest (NwGtpv2cLogMgrHandleT logMgrHandle,
-                              uint32_t logLevel,
-                              NwCharT* file,
-                              uint32_t line,
-                              NwCharT* logStr);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.c
deleted file mode 100644
index 7b5553aa6b411edf90c88349eb57592a46e586aa..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *         M I N I M A L I S T I C    T M R M G R     E N T I T Y             *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniTmrMgrEntity.c
- * @brief This file ontains example of a minimalistic timer manager entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwGtpv2c.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniTmrMgrEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-/*---------------------------------------------------------------------------
- * Private functions
- *--------------------------------------------------------------------------*/
-
-static void
-NW_TMR_CALLBACK(nwGtpv2cNodeHandleStackTimerTimeout)
-{
-  NwRcT rc;
-  NwGtpv2cNodeTmrT *pTmr = (NwGtpv2cNodeTmrT*) arg;
-
-  /*
-   *  Send Timeout Request to Gtpv2c Stack Instance
-   */
-  rc = nwGtpv2cProcessTimeout(pTmr->timeoutArg);
-  NW_ASSERT(NW_OK == rc);
-
-  free(pTmr);
-
-  return;
-}
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwRcT nwTimerStart( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                    uint32_t timeoutSec,
-                    uint32_t timeoutUsec,
-                    uint32_t tmrType,
-                    void*  timeoutArg,
-                    NwGtpv2cTimerHandleT* hTmr)
-{
-  NwRcT rc = NW_OK;
-  NwGtpv2cNodeTmrT *pTmr;
-  struct timeval tv;
-
-  pTmr = (NwGtpv2cNodeTmrT*) malloc(sizeof(NwGtpv2cNodeTmrT));
-
-  /* set the timevalues*/
-  timerclear(&tv);
-  tv.tv_sec     = timeoutSec;
-  tv.tv_usec    = timeoutUsec;
-
-  pTmr->timeoutArg = timeoutArg;
-  evtimer_set(&pTmr->ev, nwGtpv2cNodeHandleStackTimerTimeout, pTmr);
-
-  /*add event*/
-
-  event_add(&(pTmr->ev), &tv);
-
-  *hTmr = (NwGtpv2cTimerHandleT)pTmr;
-
-  return rc;
-}
-
-NwRcT nwTimerStop( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                   NwGtpv2cTimerHandleT hTmr)
-{
-  evtimer_del(&(((NwGtpv2cNodeTmrT*)hTmr)->ev));
-  free((void*)hTmr);
-  return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.h
deleted file mode 100644
index 85970c6cc2796530308d6572a59417515bb3d479..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *         M I N I M A L I S T I C    T M R M G R     E N T I T Y             *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniTmrMgrEntity.c
- * @brief This file ontains example of a minimalistic timer manager entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_TMR_MGR_H__
-#define __NW_MINI_TMR_MGR_H__
-
-typedef struct {
-  uint8_t _tbd;
-} NwGtpv2cNodeTmrMgrT;
-
-typedef struct {
-  NwEventT      ev;
-  void*         timeoutArg;
-} NwGtpv2cNodeTmrT;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwRcT nwTimerStart( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                    uint32_t timeoutSec,
-                    uint32_t timeoutUsec,
-                    uint32_t tmrType,
-                    void*  timeoutArg,
-                    NwGtpv2cTimerHandleT* hTmr);
-
-
-NwRcT nwTimerStop( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                   NwGtpv2cTimerHandleT hTmr);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.c
deleted file mode 100644
index 16f5f2bcea39e9a6db65dccfe3ab00a365d281b1..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *            M I N I M A L I S T I C     U D P     E N T I T Y               *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniUdpEntity.c
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-#include "NwEvt.h"
-#include "NwGtpv2c.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniUdpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#define MAX_UDP_PAYLOAD_LEN             (4096)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-static int yes = 1;
-/*---------------------------------------------------------------------------
- * Private functions
- *--------------------------------------------------------------------------*/
-
-static
-void NW_EVT_CALLBACK(nwUdpDataIndicationCallbackData)
-{
-  NwRcT         rc;
-  uint8_t         udpBuf[MAX_UDP_PAYLOAD_LEN];
-  NwS32T        bytesRead;
-  struct sockaddr_in peer;
-  uint32_t        peerLen;
-  NwGtpv2cNodeUdpT* thiz = (NwGtpv2cNodeUdpT*) arg;
-
-  peerLen = sizeof(peer);
-
-  bytesRead = recvfrom(fd, udpBuf, MAX_UDP_PAYLOAD_LEN , 0, (struct sockaddr *) &peer,(socklen_t*) &peerLen);
-
-  if(bytesRead > 0) {
-    thiz->packetsRcvd++;
-    NW_LOG(NW_LOG_LEVEL_DEBG, "Received UDP message of size %u from peer %u.%u.%u.%u:%u", bytesRead,
-           (peer.sin_addr.s_addr & 0x000000ff),
-           (peer.sin_addr.s_addr & 0x0000ff00) >> 8,
-           (peer.sin_addr.s_addr & 0x00ff0000) >> 16,
-           (peer.sin_addr.s_addr & 0xff000000) >> 24,
-           ntohs(peer.sin_port));
-    rc = nwGtpv2cProcessUdpReq(thiz->hGtpv2cStack, udpBuf, bytesRead, ntohs(peer.sin_port), ntohl(peer.sin_addr.s_addr));
-  } else {
-    switch (errno) {
-
-    case ENETUNREACH:
-      NW_LOG(NW_LOG_LEVEL_ERRO, "Network not reachable", errno, strerror(errno));
-      break;
-
-    case EHOSTUNREACH:
-      NW_LOG(NW_LOG_LEVEL_ERRO, "Host not reachable", errno, strerror(errno));
-      break;
-
-    case ECONNREFUSED:
-      NW_LOG(NW_LOG_LEVEL_ERRO, "Port not reachable", errno, strerror(errno));
-      break;
-
-    default:
-      NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-    }
-
-    nwGtpv2cUdpReset(thiz);
-  }
-
-  return;
-}
-
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwRcT nwGtpv2cUdpInit(NwGtpv2cNodeUdpT* thiz, NwGtpv2cStackHandleT hGtpv2cStack, uint8_t* ipAddrStr)
-{
-  int sd;
-  struct sockaddr_in addr;
-
-  sd = socket(AF_INET, SOCK_DGRAM, 0);
-
-  if (sd < 0) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-    NW_ASSERT(0);
-  }
-
-  addr.sin_family       = AF_INET;
-  addr.sin_port         = htons(2123);
-  addr.sin_addr.s_addr  = (strlen(ipAddrStr) ? inet_addr(ipAddrStr) : INADDR_ANY);
-  memset(addr.sin_zero, '\0', sizeof (addr.sin_zero));
-
-  if(bind(sd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "Error - %s", strerror(errno));
-    NW_ASSERT(0);
-  }
-
-  yes = 1;
-
-  if (setsockopt(sd, SOL_IP, IP_RECVERR, &yes, sizeof(yes))) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-    NW_ASSERT(0);
-  }
-
-  NW_EVENT_ADD((thiz->ev), sd, nwUdpDataIndicationCallbackData, thiz, NW_EVT_READ | NW_EVT_PERSIST);
-
-  thiz->ipv4Addr        = addr.sin_addr.s_addr;
-  thiz->hSocket         = sd;
-  thiz->hGtpv2cStack    = hGtpv2cStack;
-
-  return NW_OK;
-}
-
-NwRcT nwGtpv2cUdpDestroy(NwGtpv2cNodeUdpT* thiz)
-{
-  close(thiz->hSocket);
-}
-
-NwRcT nwGtpv2cUdpReset(NwGtpv2cNodeUdpT* thiz)
-{
-  int sd;
-  struct sockaddr_in addr;
-
-  event_del(&thiz->ev);
-  close(thiz->hSocket);
-
-  sd = socket(AF_INET, SOCK_DGRAM, 0);
-
-  if (sd < 0) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-    NW_ASSERT(0);
-  }
-
-  addr.sin_family       = AF_INET;
-  addr.sin_port         = htons(2123);
-  addr.sin_addr.s_addr  = (thiz->ipv4Addr);
-  memset(addr.sin_zero, '\0', sizeof (addr.sin_zero));
-
-  if(bind(sd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-    NW_ASSERT(0);
-  }
-
-  yes = 1;
-
-  if (setsockopt(sd, SOL_IP, IP_RECVERR, &yes, sizeof(yes))) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-    NW_ASSERT(0);
-  }
-
-  NW_EVENT_ADD((thiz->ev), sd, nwUdpDataIndicationCallbackData, thiz, (NW_EVT_READ | NW_EVT_PERSIST));
-
-  thiz->hSocket         = sd;
-
-  return NW_OK;
-}
-
-NwRcT nwGtpv2cUdpDataReq(NwGtpv2cUdpHandleT udpHandle,
-                         uint8_t* dataBuf,
-                         uint32_t dataSize,
-                         uint32_t peerIp,
-                         uint32_t peerPort)
-{
-  struct sockaddr_in peerAddr;
-  NwS32T bytesSent;
-  NwGtpv2cNodeUdpT* thiz = (NwGtpv2cNodeUdpT*) udpHandle;
-
-  NW_LOG(NW_LOG_LEVEL_DEBG, "Sending %u bytes of data to %u.%u.%u.%u:%u", dataSize,
-         (peerIp & 0xff000000) >> 24,
-         (peerIp & 0x00ff0000) >> 16,
-         (peerIp & 0x0000ff00) >> 8,
-         (peerIp & 0x000000ff),
-         peerPort);
-
-  peerAddr.sin_family       = AF_INET;
-  peerAddr.sin_port         = htons(peerPort);
-  peerAddr.sin_addr.s_addr  = htonl(peerIp);
-  memset(peerAddr.sin_zero, '\0', sizeof (peerAddr.sin_zero));
-
-  bytesSent = sendto (thiz->hSocket, dataBuf, dataSize, 0, (struct sockaddr *) &peerAddr, sizeof(peerAddr));
-
-  if(bytesSent < 0) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "sendto - %s", strerror(errno));
-  } else {
-    thiz->packetsSent++;
-  }
-
-  return NW_OK;
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.h
deleted file mode 100644
index 37061e95e48823719179c8963da1c855987d26b1..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *            M I N I M A L I S T I C     U D P     E N T I T Y               *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniUdpEntity.c
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_UDP_ENTITY_H__
-#define __NW_MINI_UDP_ENTITY_H__
-
-typedef struct {
-  uint32_t                        ipv4Addr;
-  uint32_t                        hSocket;
-  NwEventT                      ev;
-  NwGtpv2cStackHandleT          hGtpv2cStack;
-  uint32_t                        packetsSent;
-  uint32_t                        packetsRcvd;
-} NwGtpv2cNodeUdpT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwRcT nwGtpv2cUdpInit(NwGtpv2cNodeUdpT* thiz, NwGtpv2cStackHandleT hGtpv2cStack, uint8_t* ipAddrStr);
-
-NwRcT nwGtpv2cUdpDestroy(NwGtpv2cNodeUdpT* thiz);
-
-NwRcT nwGtpv2cUdpDataReq(NwGtpv2cUdpHandleT udpHandle,
-                         uint8_t* dataBuf,
-                         uint32_t dataSize,
-                         uint32_t peerIp,
-                         uint32_t peerPort);
-
-NwRcT nwGtpv2cUdpReset(NwGtpv2cNodeUdpT* thiz);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.c
deleted file mode 100644
index fc5cc809d0e2c2545b1a854bd71b67c48c4ea1c1..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *            M I N I M A L I S T I C     U L P     E N T I T Y               *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniUlpEntity.c
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include <sys/time.h>
-#include "NwEvt.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgParser.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniUlpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-/*---------------------------------------------------------------------------
- * Public Functions
- *--------------------------------------------------------------------------*/
-
-NwRcT
-nwGtpv2cUlpInit(NwGtpv2cNodeUlpT* thiz, NwGtpv2cStackHandleT hGtpv2cStack, char* peerIpStr)
-{
-  NwRcT rc;
-  thiz->hGtpv2cStack = hGtpv2cStack;
-  strcpy(thiz->peerIpStr, peerIpStr);
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cUlpDestroy(NwGtpv2cNodeUlpT* thiz)
-{
-  NW_ASSERT(thiz);
-  memset(thiz, 0, sizeof(NwGtpv2cNodeUlpT));
-  return NW_OK;
-}
-
-typedef struct NwGtpv2cPeerS {
-  uint32_t ipv4Addr;
-  uint32_t pingCount;
-  uint32_t pingInterval;
-  uint32_t t3Time;
-  uint32_t n3Count;
-
-  uint32_t sendTimeStamp;
-  NwGtpv2cTunnelHandleT hTunnel;
-} NwGtpv2cPeerT;
-
-NwGtpv2cPeerT*
-nwGtpv2cUlpCreatePeerContext(NwGtpv2cNodeUlpT* thiz, uint32_t peerIp)
-{
-  NwRcT                 rc;
-  NwGtpv2cUlpApiT       ulpReq;
-  NwGtpv2cPeerT         *pPeer = (NwGtpv2cPeerT*) malloc(sizeof(NwGtpv2cPeerT));
-
-  if(pPeer) {
-    pPeer->ipv4Addr = peerIp;
-
-    /*
-     *  Send Message Request to Gtpv2c Stack Instance
-     */
-
-    ulpReq.apiType = NW_GTPV2C_ULP_CREATE_LOCAL_TUNNEL;
-
-    ulpReq.apiInfo.createLocalTunnelInfo.hTunnel         = 0;
-    ulpReq.apiInfo.createLocalTunnelInfo.hUlpTunnel      = (NwGtpv2cUlpTrxnHandleT)thiz;
-    ulpReq.apiInfo.createLocalTunnelInfo.teidLocal       = (NwGtpv2cUlpTrxnHandleT)0;
-    ulpReq.apiInfo.createLocalTunnelInfo.peerIp          = htonl(peerIp);
-
-    rc = nwGtpv2cProcessUlpReq(thiz->hGtpv2cStack, &ulpReq);
-    NW_ASSERT(NW_OK == rc);
-    pPeer->hTunnel = ulpReq.apiInfo.createLocalTunnelInfo.hTunnel;
-  }
-
-  return pPeer;
-
-}
-
-NwRcT
-nwGtpv2cUlpSendEchoRequestToPeer(NwGtpv2cNodeUlpT* thiz, NwGtpv2cPeerT *pPeer)
-{
-  NwRcT                 rc;
-  struct timeval        tv;
-  NwGtpv2cUlpApiT       ulpReq;
-  /*
-   *  Send Message Request to Gtpv2c Stack Instance
-   */
-
-  ulpReq.apiType = NW_GTPV2C_ULP_API_INITIAL_REQ;
-
-  ulpReq.apiInfo.initialReqInfo.hTunnel         = pPeer->hTunnel;
-  ulpReq.apiInfo.initialReqInfo.hUlpTrxn        = (NwGtpv2cUlpTrxnHandleT)pPeer;
-  ulpReq.apiInfo.initialReqInfo.hUlpTunnel      = (NwGtpv2cUlpTunnelHandleT)pPeer;
-
-  rc = nwGtpv2cMsgNew( thiz->hGtpv2cStack,
-                       NW_FALSE,
-                       NW_GTP_ECHO_REQ,
-                       0,
-                       0,
-                       &(ulpReq.hMsg));
-
-  NW_ASSERT(NW_OK == rc);
-
-  rc = nwGtpv2cMsgAddIeTV1((ulpReq.hMsg), NW_GTPV2C_IE_RECOVERY, 0, thiz->restartCounter);
-  NW_ASSERT(NW_OK == rc);
-
-  NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-  pPeer->sendTimeStamp = (tv.tv_sec * 1000000) + tv.tv_usec;
-
-  rc = nwGtpv2cProcessUlpReq(thiz->hGtpv2cStack, &ulpReq);
-  NW_ASSERT(NW_OK == rc);
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cUlpPing(NwGtpv2cNodeUlpT* thiz,
-                uint32_t peerIp,
-                uint32_t pingCount,
-                uint32_t pingInterval,
-                uint32_t t3Time,
-                uint32_t n3Count)
-{
-  NwRcT                 rc;
-  NwGtpv2cPeerT         *pPeer;
-  NwGtpv2cUlpApiT       ulpReq;
-
-  pPeer = nwGtpv2cUlpCreatePeerContext(thiz, peerIp);
-
-  pPeer->pingCount      = pingCount;
-  pPeer->pingInterval   = pingInterval;
-  pPeer->t3Time         = t3Time;
-  pPeer->n3Count        = n3Count;
-  /*
-   *  Send Echo Request to peer
-   */
-
-  rc = nwGtpv2cUlpSendEchoRequestToPeer(thiz, pPeer);
-
-  return rc;
-}
-
-NwRcT
-nwGtpv2cUlpProcessStackReqCallback (NwGtpv2cUlpHandleT hUlp,
-                                    NwGtpv2cUlpApiT *pUlpApi)
-{
-  NwRcT                 rc;
-  uint32_t                seqNum;
-  uint32_t                len;
-  uint32_t                recvTimeStamp;
-  struct timeval        tv;
-  NwGtpv2cPeerT         *pPeer;
-  NwGtpv2cNodeUlpT*     thiz;
-  NW_ASSERT(pUlpApi != NULL);
-
-  thiz = (NwGtpv2cNodeUlpT*) hUlp;
-
-  switch(pUlpApi->apiType) {
-  case NW_GTPV2C_ULP_API_TRIGGERED_RSP_IND: {
-    pPeer = (NwGtpv2cPeerT*)pUlpApi->apiInfo.triggeredRspIndInfo.hUlpTrxn;
-
-    if(pUlpApi->apiInfo.triggeredRspIndInfo.msgType == NW_GTP_ECHO_RSP) {
-      seqNum = nwGtpv2cMsgGetSeqNumber(pUlpApi->hMsg);
-      len = nwGtpv2cMsgGetLength(pUlpApi->hMsg);
-
-      NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-      recvTimeStamp = (tv.tv_sec * 1000000) + tv.tv_usec;
-
-      NW_LOG(NW_LOG_LEVEL_NOTI, "%u bytes of response from "NW_IPV4_ADDR": gtp_seq=%u time=%2.2f ms", len, NW_IPV4_ADDR_FORMAT(pPeer->ipv4Addr), seqNum,
-             (float) (recvTimeStamp - pPeer->sendTimeStamp) / 1000 );
-
-      if(pPeer->pingCount) {
-        sleep(pPeer->pingInterval);
-        rc = nwGtpv2cUlpSendEchoRequestToPeer(thiz, pPeer);
-
-        if(pPeer->pingCount != 0xffffffff) pPeer->pingCount--;
-      }
-    }
-
-  }
-  break;
-
-  case NW_GTPV2C_ULP_API_RSP_FAILURE_IND: {
-    pPeer = (NwGtpv2cPeerT*)pUlpApi->apiInfo.rspFailureInfo.hUlpTrxn;
-    NW_LOG(NW_LOG_LEVEL_DEBG, "No response from "NW_IPV4_ADDR" (2123)!", NW_IPV4_ADDR_FORMAT(pPeer->ipv4Addr));
-    rc = nwGtpv2cUlpSendEchoRequestToPeer(thiz, pPeer);
-  }
-  break;
-
-  default:
-    NW_LOG(NW_LOG_LEVEL_WARN, "Received undefined UlpApi from gtpv2c stack!");
-  }
-
-  return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.h
deleted file mode 100644
index 3f56bf58e8826f3eb41d7dda616dbf5e0e65eef4..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUlpEntity.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *            M I N I M A L I S T I C     U L P     E N T I T Y               *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniUlpEntity.h
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef __NW_MINI_ULP_H__
-#define __NW_MINI_ULP_H__
-
-typedef struct {
-  uint8_t                         peerIpStr[16];
-  uint32_t                        restartCounter;
-  NwGtpv2cStackHandleT          hGtpv2cStack;
-} NwGtpv2cNodeUlpT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwRcT
-nwGtpv2cUlpInit(NwGtpv2cNodeUlpT* thiz, NwGtpv2cStackHandleT hGtpv2cStack, char* peerIpStr );
-
-NwRcT
-nwGtpv2cUlpDestroy(NwGtpv2cNodeUlpT* thiz);
-
-NwRcT
-nwGtpv2cUlpProcessStackReqCallback (NwGtpv2cUlpHandleT hUlp,
-                                    NwGtpv2cUlpApiT *pUlpApi);
-
-NwRcT
-nwGtpv2cUlpPing(NwGtpv2cNodeUlpT* thiz,
-                uint32_t peerIp,
-                uint32_t pingCount,
-                uint32_t pingInterval,
-                uint32_t t3Time,
-                uint32_t n3Count);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/Makefile.am b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/Makefile.am
deleted file mode 100644
index 0cf90d9111cb08f840a361bae0a3124c97e17131..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-AM_CFLAGS = -D__WITH_LIBEVENT__	\
-	-I$(top_srcdir)/shared -I$(top_srcdir)/include \
-	-I$(top_srcdir)/test-app/nw-udp -I$(top_srcdir)/test-app/nw-log	\
-	@AM_CFLAGS@
-
-if ENABLE_TESTS_APP
-bin_PROGRAMS = helloworld
-helloworld_SOURCES =    \
-			NwEvt.h\
-			NwMiniLogMgrEntity.h\
-			NwMiniTmrMgrEntity.h\
-			NwMiniUlpEntity.h\
-			NwMiniUdpEntity.h\
-			NwMiniLogMgrEntity.c\
-			NwMiniTmrMgrEntity.c\
-			NwMiniUlpEntity.c\
-			NwMiniUdpEntity.c\
-                        helloworld.c
-
-helloworld_LDADD =  $(top_builddir)/src/libNwGtpv2c.a -levent $(AM_LDFLAGS)
-endif
\ No newline at end of file
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwEvt.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwEvt.h
deleted file mode 100644
index 6df5794a5ffff32f98f87b78cd9408ee2887835d..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwEvt.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- * Copyright (c) 2010-2011 Amit Chawre                                        *
- * All rights reserved.                                                       *
- *                                                                            *
- * Redistribution and use in source and binary forms, with or without         *
- * modification, are permitted provided that the following conditions         *
- * are met:                                                                   *
- *                                                                            *
- * 1. Redistributions of source code must retain the above copyright          *
- *    notice, this list of conditions and the following disclaimer.           *
- * 2. Redistributions in binary form must reproduce the above copyright       *
- *    notice, this list of conditions and the following disclaimer in the     *
- *    documentation and/or other materials provided with the distribution.    *
- * 3. The name of the author may not be used to endorse or promote products   *
- *    derived from this software without specific prior written permission.   *
- *                                                                            *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR       *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES  *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.    *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,           *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY      *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT        *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF   *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_EVT_H__
-#define __NW_EVT_H__
-/**
- * @file NwEvt.h
- * @brief
-*/
-
-#ifdef __WITH_LIBEVENT__
-
-#include <event.h>
-
-typedef struct event                    NwEventT;
-
-#define NW_EVT_READ                     (EV_READ)
-#define NW_EVT_PERSIST                  (EV_PERSIST)
-#define NW_EVT_CALLBACK(__cbFunc)       __cbFunc(int fd, short event, void *arg)
-#define NW_TMR_CALLBACK(__cbFunc)       __cbFunc(int fd, short event, void *arg)
-
-#define NW_EVT_INIT                     event_init
-#define NW_EVT_LOOP                     event_dispatch
-
-#define NW_EVENT_ADD(__ev, __evSelObj, __evCallback, __evCallbackArg, __evFlags)        \
-  do {                                                                                  \
-    event_set(&(__ev), __evSelObj, __evFlags, __evCallback, __evCallbackArg);           \
-    event_add(&(__ev), NULL);                                                           \
-  } while(0)
-
-#else
-
-#warning "Event library not defined!"
-
-/* HACK : Defining dummy values for compilation!*/
-
-typedef struct {
-  int __tbd;
-} NwEventT;
-
-#define NW_EVT_READ                     (0)
-#define NW_EVT_PERSIST                  (1)
-#define NW_EVT_CALLBACK(__cbFunc)       __cbFunc(void *arg)
-#define NW_TMR_CALLBACK(__cbFunc)       __cbFunc(void *arg)
-
-
-#define NW_EVT_INIT()                   do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-#define NW_EVT_LOOP()                   do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-#define NW_EVENT_ADD(...)               do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-
-
-#endif
-
-#endif /* __NW_EVT_H__ */
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.c
deleted file mode 100644
index 3ebc6a3a2379d74f92e850f8f4dd8dfca44e9a17..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *         M I N I M A L I S T I C    L O G M G R     E N T I T Y             *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file hello-world.c
- * @brief This file contains example of a minimalistic log manager entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwTypes.h"
-#include "NwError.h"
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-
-#include "NwMiniLogMgrEntity.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-NwMiniLogMgrT __gLogMgr;
-
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwMiniLogMgrT* nwMiniLogMgrGetInstance()
-{
-  return &(__gLogMgr);
-}
-
-NwRcT nwMiniLogMgrInit(NwMiniLogMgrT* thiz, uint32_t logLevel )
-{
-  thiz->logLevel = logLevel;
-  return NW_OK;
-}
-
-NwRcT nwMiniLogMgrSetLogLevel(NwMiniLogMgrT* thiz, uint32_t logLevel)
-{
-  thiz->logLevel = logLevel;
-}
-
-NwRcT nwMiniLogMgrLogRequest (NwGtpv2cLogMgrHandleT hLogMgr,
-                              uint32_t logLevel,
-                              NwCharT* file,
-                              uint32_t line,
-                              NwCharT* logStr)
-{
-  NwMiniLogMgrT* thiz = (NwMiniLogMgrT*) hLogMgr;
-
-  if(thiz->logLevel >= logLevel)
-    printf("NWGTPV2C-STK  %s - %s <%s,%u>\n", gLogLevelStr[logLevel], logStr, basename(file), line);
-
-  return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.h
deleted file mode 100644
index 361a2c6d95996eb57dbbf58b6a0824a491fad9f2..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniLogMgrEntity.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *         M I N I M A L I S T I C    L O G M G R     E N T I T Y             *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file hello-world.c
- * @brief This file contains example of a minimalistic log manager entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_LOG_MGR_H__
-#define __NW_MINI_LOG_MGR_H__
-
-#define NW_LOG( _logLevel, ...)                                         \
-  do {                                                                  \
-    if((nwMiniLogMgrGetInstance())->logLevel >= _logLevel)              \
-    {                                                                   \
-      char _logStr[1024];                                               \
-      snprintf(_logStr, 1024, __VA_ARGS__);                             \
-      printf("NWGTPV2C-APP  %s - %s <%s,%u>\n", gLogLevelStr[_logLevel], _logStr, basename(__FILE__), __LINE__);\
-    }                                                                   \
-  } while(0)
-
-/**
- * MiniLogMgr Class Definition
- */
-typedef struct NwMiniLogMgr {
-  uint8_t  logLevel; /*< Log level */
-} NwMiniLogMgrT;
-
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Get global singleton MiniLogMgr instance
- */
-NwMiniLogMgrT* nwMiniLogMgrGetInstance();
-
-/**
- * Initialize MiniLogMgr
- * @param thiz : Pointer to global singleton MiniLogMgr instance
- * @param logLevel : Log Level
- */
-NwRcT nwMiniLogMgrInit(NwMiniLogMgrT* thiz, uint32_t logLevel );
-
-/**
- * Set MiniLogMgr log level
- * @param thiz : Pointer to global singleton MiniLogMgr instance
- * @param logLevel : Log Level
- */
-NwRcT nwMiniLogMgrSetLogLevel(NwMiniLogMgrT* thiz, uint32_t logLevel);
-
-/**
- * Process log request from stack
- * @param thiz : Pointer to global singleton MiniLogMgr instance
- * @param logLevel : Log Level
- * @param file : Filename
- * @param line : Line Number
- * @param logStr : Log string
- */
-NwRcT nwMiniLogMgrLogRequest (NwGtpv2cLogMgrHandleT logMgrHandle,
-                              uint32_t logLevel,
-                              NwCharT* file,
-                              uint32_t line,
-                              NwCharT* logStr);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.c
deleted file mode 100644
index 38d2ee6374ecbe312418254414e169f7a17f3442..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *         M I N I M A L I S T I C    T M R M G R     E N T I T Y             *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniTmrMgrEntity.c
- * @brief This file ontains example of a minimalistic timer manager entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwGtpv2c.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniTmrMgrEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-/*---------------------------------------------------------------------------
- * Private functions
- *--------------------------------------------------------------------------*/
-
-static void
-NW_TMR_CALLBACK(nwGtpv2cNodeHandleStackTimerTimeout)
-{
-  NwRcT rc;
-  NwGtpv2cNodeTmrT *pTmr = (NwGtpv2cNodeTmrT*) arg;
-
-  /*
-   *  Send Timeout Request to Gtpv2c Stack Instance
-   */
-  rc = nwGtpv2cProcessTimeout(pTmr->timeoutArg);
-  NW_ASSERT(NW_OK == rc);
-
-  free(pTmr);
-
-  return;
-}
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwRcT nwTimerStart( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                    uint32_t timeoutSec,
-                    uint32_t timeoutUsec,
-                    uint32_t tmrType,
-                    void*  timeoutArg,
-                    NwGtpv2cTimerHandleT* hTmr)
-{
-  NwRcT rc = NW_OK;
-  NwGtpv2cNodeTmrT *pTmr;
-  struct timeval tv;
-
-  NW_LOG(NW_LOG_LEVEL_DEBG, "Received start timer request from stack with timer type %u, arg %x, for %u sec and %u usec", tmrType, timeoutArg, timeoutSec, timeoutUsec);
-
-  pTmr = (NwGtpv2cNodeTmrT*) malloc(sizeof(NwGtpv2cNodeTmrT));
-
-  /* set the timevalues*/
-  timerclear(&tv);
-  tv.tv_sec     = timeoutSec;
-  tv.tv_usec    = timeoutUsec;
-
-  pTmr->timeoutArg = timeoutArg;
-  evtimer_set(&pTmr->ev, nwGtpv2cNodeHandleStackTimerTimeout, pTmr);
-
-  /*add event*/
-
-  event_add(&(pTmr->ev), &tv);
-
-  *hTmr = (NwGtpv2cTimerHandleT)pTmr;
-
-  return rc;
-}
-
-NwRcT nwTimerStop( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                   NwGtpv2cTimerHandleT hTmr)
-{
-  NW_LOG(NW_LOG_LEVEL_DEBG, "Received stop timer request from stack for timer handle %u", hTmr);
-  evtimer_del(&(((NwGtpv2cNodeTmrT*)hTmr)->ev));
-  free((void*)hTmr);
-  return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.h
deleted file mode 100644
index 85970c6cc2796530308d6572a59417515bb3d479..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniTmrMgrEntity.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *         M I N I M A L I S T I C    T M R M G R     E N T I T Y             *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniTmrMgrEntity.c
- * @brief This file ontains example of a minimalistic timer manager entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_TMR_MGR_H__
-#define __NW_MINI_TMR_MGR_H__
-
-typedef struct {
-  uint8_t _tbd;
-} NwGtpv2cNodeTmrMgrT;
-
-typedef struct {
-  NwEventT      ev;
-  void*         timeoutArg;
-} NwGtpv2cNodeTmrT;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwRcT nwTimerStart( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                    uint32_t timeoutSec,
-                    uint32_t timeoutUsec,
-                    uint32_t tmrType,
-                    void*  timeoutArg,
-                    NwGtpv2cTimerHandleT* hTmr);
-
-
-NwRcT nwTimerStop( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-                   NwGtpv2cTimerHandleT hTmr);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.c
deleted file mode 100644
index a5352349f557c5267434f41c24e06a3e1d6424da..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *            M I N I M A L I S T I C     U D P     E N T I T Y               *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniUdpEntity.c
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-#include "NwEvt.h"
-#include "NwGtpv2c.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniUdpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#define MAX_UDP_PAYLOAD_LEN             (4096)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-/*---------------------------------------------------------------------------
- * Private functions
- *--------------------------------------------------------------------------*/
-
-static
-void NW_EVT_CALLBACK(nwUdpDataIndicationCallbackData)
-{
-  NwRcT         rc;
-  uint8_t         udpBuf[MAX_UDP_PAYLOAD_LEN];
-  NwS32T        bytesRead;
-  uint32_t        peerLen;
-  struct sockaddr_in peer;
-  NwGtpv2cNodeUdpT* thiz = (NwGtpv2cNodeUdpT*) arg;
-
-  peerLen = sizeof(peer);
-
-  bytesRead = recvfrom(fd, udpBuf, MAX_UDP_PAYLOAD_LEN , 0, (struct sockaddr *) &peer,(socklen_t*) &peerLen);
-
-  if(bytesRead) {
-    uint32_t peerIp = (peer.sin_addr.s_addr);
-    NW_LOG(NW_LOG_LEVEL_DEBG, "Received UDP message of size %u from peer %u.%u.%u.%u:%u", bytesRead,
-           (peerIp & 0x000000ff),
-           (peerIp & 0x0000ff00) >> 8,
-           (peerIp & 0x00ff0000) >> 16,
-           (peerIp & 0xff000000) >> 24,
-           ntohs(peer.sin_port));
-    rc = nwGtpv2cProcessUdpReq(thiz->hGtpv2cStack, udpBuf, bytesRead, ntohs(peer.sin_port), ntohl(peer.sin_addr.s_addr));
-  } else {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-  }
-}
-
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwRcT nwGtpv2cUdpInit(NwGtpv2cNodeUdpT* thiz, NwGtpv2cStackHandleT hGtpv2cStack, uint8_t* ipv4Addr)
-{
-  int sd;
-  struct sockaddr_in addr;
-
-  sd = socket(AF_INET, SOCK_DGRAM, 0);
-
-  if (sd < 0) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-    NW_ASSERT(0);
-  }
-
-  addr.sin_family       = AF_INET;
-  addr.sin_port         = htons(2123);
-  addr.sin_addr.s_addr  = inet_addr(ipv4Addr);
-  memset(addr.sin_zero, '\0', sizeof (addr.sin_zero));
-
-  if(bind(sd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-    NW_ASSERT(0);
-  }
-
-  NW_EVENT_ADD((thiz->ev), sd, nwUdpDataIndicationCallbackData, thiz, NW_EVT_READ | NW_EVT_PERSIST);
-
-  thiz->hSocket = sd;
-  thiz->hGtpv2cStack = hGtpv2cStack;
-
-  return NW_OK;
-}
-
-NwRcT nwGtpv2cUdpDestroy(NwGtpv2cNodeUdpT* thiz)
-{
-  close(thiz->hSocket);
-}
-
-NwRcT nwGtpv2cUdpDataReq(NwGtpv2cUdpHandleT udpHandle,
-                         uint8_t* dataBuf,
-                         uint32_t dataSize,
-                         uint32_t peerIp,
-                         uint32_t peerPort)
-{
-  struct sockaddr_in peerAddr;
-  NwS32T bytesSent;
-  NwGtpv2cNodeUdpT* thiz = (NwGtpv2cNodeUdpT*) udpHandle;
-
-  NW_LOG(NW_LOG_LEVEL_DEBG, "Sending buf of size %u for on handle %x to peer %u.%u.%u.%u:%u", dataSize, udpHandle,
-         (peerIp & 0xff000000) >> 24,
-         (peerIp & 0x00ff0000) >> 16,
-         (peerIp & 0x0000ff00) >> 8,
-         (peerIp & 0x000000ff),
-         peerPort);
-
-  peerAddr.sin_family       = AF_INET;
-  peerAddr.sin_port         = htons(peerPort);
-  peerAddr.sin_addr.s_addr  = htonl(peerIp);
-  memset(peerAddr.sin_zero, '\0', sizeof (peerAddr.sin_zero));
-
-  bytesSent = sendto (thiz->hSocket, dataBuf, dataSize, 0, (struct sockaddr *) &peerAddr, sizeof(peerAddr));
-
-  if(bytesSent < 0) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
-    NW_ASSERT(0);
-  }
-
-  return NW_OK;
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.h
deleted file mode 100644
index 4f1bb3eef9a44bcf224e89ede6382f2c4a12f400..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUdpEntity.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *            M I N I M A L I S T I C     U D P     E N T I T Y               *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniUdpEntity.c
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_UDP_ENTITY_H__
-#define __NW_MINI_UDP_ENTITY_H__
-
-typedef struct {
-  uint32_t        hSocket;
-  NwEventT      ev;
-  NwGtpv2cStackHandleT hGtpv2cStack;
-} NwGtpv2cNodeUdpT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwRcT nwGtpv2cUdpInit(NwGtpv2cNodeUdpT* thiz, NwGtpv2cStackHandleT hGtpv2cStack, uint8_t* ipv4Addr);
-
-NwRcT nwGtpv2cUdpDestroy(NwGtpv2cNodeUdpT* thiz);
-
-NwRcT nwGtpv2cUdpDataReq(NwGtpv2cUdpHandleT udpHandle,
-                         uint8_t* dataBuf,
-                         uint32_t dataSize,
-                         uint32_t peerIp,
-                         uint32_t peerPort);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.c
deleted file mode 100644
index 82bc6580af53639b7f8a39e5e3da8763c277b6b7..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.c
+++ /dev/null
@@ -1,278 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *            M I N I M A L I S T I C     U L P     E N T I T Y               *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniUlpEntity.c
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgParser.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniUlpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-static NwRcT
-nwGtpv2cCreateSessionRequestIeIndication(uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t* ieValue, void* arg)
-{
-  NW_LOG(NW_LOG_LEVEL_DEBG, "Received IE Parse Indication for of type %u, length %u, instance %u!", ieType, ieLength, ieInstance);
-  return NW_OK;
-}
-
-/*---------------------------------------------------------------------------
- * Public Functions
- *--------------------------------------------------------------------------*/
-
-NwRcT
-nwGtpv2cUlpInit(NwGtpv2cNodeUlpT* thiz, NwGtpv2cStackHandleT hGtpv2cStack, char* peerIpStr)
-{
-  NwRcT rc;
-  thiz->hGtpv2cStack = hGtpv2cStack;
-  strcpy(thiz->peerIpStr, peerIpStr);
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cUlpDestroy(NwGtpv2cNodeUlpT* thiz)
-{
-  NW_ASSERT(thiz);
-  memset(thiz, 0, sizeof(NwGtpv2cNodeUlpT));
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cUlpSenEchoRequestToPeer(NwGtpv2cNodeUlpT* thiz, uint32_t peerIp)
-{
-  NwRcT rc;
-  NwGtpv2cUlpApiT           ulpReq;
-  /*
-   *  Send Message Request to Gtpv2c Stack Instance
-   */
-
-  ulpReq.apiType = NW_GTPV2C_ULP_API_INITIAL_REQ;
-
-  ulpReq.apiInfo.initialReqInfo.hTunnel         = 0;
-  ulpReq.apiInfo.initialReqInfo.hUlpTrxn        = (NwGtpv2cUlpTrxnHandleT)thiz;
-  ulpReq.apiInfo.initialReqInfo.hUlpTunnel      = (NwGtpv2cUlpTrxnHandleT)thiz;
-  ulpReq.apiInfo.initialReqInfo.teidLocal       = (NwGtpv2cUlpTrxnHandleT)0;
-  ulpReq.apiInfo.initialReqInfo.peerIp          = htonl(peerIp);
-
-  rc = nwGtpv2cMsgNew( thiz->hGtpv2cStack,
-                       NW_FALSE,
-                       NW_GTP_ECHO_REQ,
-                       0,
-                       0,
-                       &(ulpReq.hMsg));
-
-  NW_ASSERT(NW_OK == rc);
-
-  rc = nwGtpv2cMsgAddIeTV1((ulpReq.hMsg), NW_GTPV2C_IE_RECOVERY, 0, thiz->restartCounter);
-  NW_ASSERT(NW_OK == rc);
-
-  rc = nwGtpv2cProcessUlpReq(thiz->hGtpv2cStack, &ulpReq);
-  NW_ASSERT(NW_OK == rc);
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cUlpCreateSessionRequestToPeer(NwGtpv2cNodeUlpT* thiz)
-{
-  NwRcT rc;
-  NwGtpv2cUlpApiT           ulpReq;
-
-  /*
-   *  Send Message Request to Gtpv2c Stack Instance
-   */
-
-  ulpReq.apiType = (NW_GTPV2C_ULP_API_INITIAL_REQ | NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL);
-
-  ulpReq.apiInfo.initialReqInfo.hUlpTrxn        = (NwGtpv2cUlpTrxnHandleT)thiz;
-  ulpReq.apiInfo.initialReqInfo.teidLocal       = (NwGtpv2cUlpTrxnHandleT)thiz;
-  ulpReq.apiInfo.initialReqInfo.peerIp          = ntohl(inet_addr(thiz->peerIpStr));
-
-  rc = nwGtpv2cMsgNew( thiz->hGtpv2cStack,
-                       NW_TRUE,
-                       NW_GTP_CREATE_SESSION_REQ,
-                       0,
-                       0,
-                       &(ulpReq.hMsg));
-
-  NW_ASSERT(NW_OK == rc);
-
-  rc = nwGtpv2cMsgAddIeTV1((ulpReq.hMsg), NW_GTPV2C_IE_RECOVERY, 0, thiz->restartCounter);
-  NW_ASSERT(NW_OK == rc);
-
-  rc = nwGtpv2cProcessUlpReq(thiz->hGtpv2cStack, &ulpReq);
-  NW_ASSERT(NW_OK == rc);
-
-  return NW_OK;
-}
-
-NwRcT
-nwGtpv2cUlpProcessStackReqCallback (NwGtpv2cUlpHandleT hUlp,
-                                    NwGtpv2cUlpApiT *pUlpApi)
-{
-  NwRcT rc;
-  NwGtpv2cNodeUlpT* thiz;
-  NW_ASSERT(pUlpApi != NULL);
-
-  thiz = (NwGtpv2cNodeUlpT*) hUlp;
-
-  switch(pUlpApi->apiType) {
-
-  case NW_GTPV2C_ULP_API_INITIAL_REQ_IND: {
-    NwGtpv2cUlpApiT           ulpReq;
-    NwGtpv2cMsgParserT        *pMsgParser;
-    NW_LOG(NW_LOG_LEVEL_DEBG, "Received NW_GTPV2C_ULP_API_INITIAL_REQ_IND from gtpv2c stack! %X:%u", pUlpApi->apiInfo.initialReqIndInfo.peerIp, pUlpApi->apiInfo.initialReqIndInfo.peerPort);
-
-    rc = nwGtpv2cMsgParserNew(thiz->hGtpv2cStack, NW_GTP_CREATE_SESSION_REQ, nwGtpv2cCreateSessionRequestIeIndication, NULL, &pMsgParser);
-    NW_ASSERT(NW_OK == rc);
-
-    if(pUlpApi->apiInfo.initialReqIndInfo.msgType == NW_GTP_CREATE_SESSION_REQ) {
-
-      struct {
-        uint8_t causeValue;
-        uint8_t spare:5;
-        uint8_t pce:1;
-        uint8_t bce:1;
-        uint8_t cs:1;
-      } cause;
-
-
-      rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_RECOVERY, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY, nwGtpv2cCreateSessionRequestIeIndication, NULL);
-      NW_ASSERT(NW_OK == rc);
-
-      uint8_t offendingIeType, OffendingIeLength;
-      rc = nwGtpv2cMsgParserRun(pMsgParser, (pUlpApi->hMsg), &offendingIeType, &OffendingIeLength);
-
-      if( rc != NW_OK ) {
-        switch(rc) {
-        case NW_GTPV2C_MANDATORY_IE_MISSING:
-          NW_LOG(NW_LOG_LEVEL_ERRO, "Mandatory IE type '%u' of instance '%u' missing!", offendingIeType, OffendingIeLength);
-          cause.causeValue = NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING;
-          break;
-
-        default:
-          NW_LOG(NW_LOG_LEVEL_ERRO, "Unknown message parse error!");
-          cause.causeValue = 0;
-          break;
-        }
-
-      } else {
-        cause.causeValue = NW_GTPV2C_CAUSE_REQUEST_ACCEPTED;
-      }
-
-      /*
-       * Send Message Request to Gtpv2c Stack Instance
-       */
-      ulpReq.apiType = NW_GTPV2C_ULP_API_TRIGGERED_RSP;
-
-      ulpReq.apiInfo.triggeredRspInfo.hTrxn         = pUlpApi->apiInfo.initialReqIndInfo.hTrxn;
-
-      rc = nwGtpv2cMsgNew( thiz->hGtpv2cStack,
-                           NW_TRUE,
-                           NW_GTP_CREATE_SESSION_RSP,
-                           0,
-                           nwGtpv2cMsgGetSeqNumber(pUlpApi->hMsg),
-                           &(ulpReq.hMsg));
-
-      rc = nwGtpv2cMsgAddIe((ulpReq.hMsg), NW_GTPV2C_IE_CAUSE, 2, 0, (uint8_t*)&cause);
-      NW_ASSERT(NW_OK == rc);
-
-      NW_LOG(NW_LOG_LEVEL_NOTI, "Received NW_GTP_CREATE_SESSION_REQ, Sending NW_GTP_CREATE_SESSION_RSP!");
-      rc = nwGtpv2cProcessUlpReq(thiz->hGtpv2cStack, &ulpReq);
-      NW_ASSERT(NW_OK == rc);
-    }
-
-    rc = nwGtpv2cMsgParserDelete(thiz->hGtpv2cStack, pMsgParser);
-    NW_ASSERT(NW_OK == rc);
-
-    rc = nwGtpv2cMsgDelete(thiz->hGtpv2cStack, (pUlpApi->hMsg));
-    NW_ASSERT(NW_OK == rc);
-
-  }
-  break;
-
-  case NW_GTPV2C_ULP_API_TRIGGERED_RSP_IND: {
-    NwGtpv2cUlpApiT           ulpReq;
-    NwGtpv2cMsgParserT        *pMsgParser;
-    NW_LOG(NW_LOG_LEVEL_DEBG, "Received NW_GTPV2C_ULP_API_TRIGGERED_RSP_IND from gtpv2c stack!", pUlpApi->apiInfo.triggeredRspIndInfo, pUlpApi->apiInfo.triggeredRspIndInfo);
-
-    rc = nwGtpv2cMsgParserNew(thiz->hGtpv2cStack, NW_GTP_CREATE_SESSION_REQ, nwGtpv2cCreateSessionRequestIeIndication, NULL, &pMsgParser);
-    NW_ASSERT(NW_OK == rc);
-
-    if(pUlpApi->apiInfo.triggeredRspIndInfo.msgType == NW_GTP_CREATE_SESSION_RSP) {
-      rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_CAUSE, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY, nwGtpv2cCreateSessionRequestIeIndication, NULL);
-      NW_ASSERT(NW_OK == rc);
-
-      uint8_t offendingIeType, OffendingIeLength;
-      rc = nwGtpv2cMsgParserRun(pMsgParser, (pUlpApi->hMsg), &offendingIeType, &OffendingIeLength);
-
-      if( rc != NW_OK ) {
-        switch(rc) {
-        case NW_GTPV2C_MANDATORY_IE_MISSING:
-          NW_LOG(NW_LOG_LEVEL_ERRO, "Mandatory IE Missing!");
-          break;
-
-        default:
-          NW_LOG(NW_LOG_LEVEL_ERRO, "Unknown message parse error!");
-          break;
-
-        }
-
-      }
-
-      /*
-       * Send Message Request to Gtpv2c Stack Instance
-       */
-      NW_LOG(NW_LOG_LEVEL_NOTI, "Received NW_GTP_CREATE_SESSION_RSP, Sending NW_GTP_CREATE_SESSION_REQ!");
-      nwGtpv2cUlpCreateSessionRequestToPeer(thiz);
-    }
-
-    rc = nwGtpv2cMsgParserDelete(thiz->hGtpv2cStack, pMsgParser);
-    NW_ASSERT(NW_OK == rc);
-
-    rc = nwGtpv2cMsgDelete(thiz->hGtpv2cStack, (pUlpApi->hMsg));
-    NW_ASSERT(NW_OK == rc);
-
-  }
-  break;
-
-  case NW_GTPV2C_ULP_API_RSP_FAILURE_IND: {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "Received NW_GTPV2C_ULP_API_RSP_FAILURE from gtpv2c stack for transaction '%x'!", thiz);
-  }
-  break;
-
-  default:
-    NW_LOG(NW_LOG_LEVEL_WARN, "Received undefined UlpApi from gtpv2c stack!");
-  }
-
-  return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.h
deleted file mode 100644
index e92a6ba6bcb53460a9188fc370cd1524b2e020c2..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/NwMiniUlpEntity.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *            M I N I M A L I S T I C     U L P     E N T I T Y               *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniUlpEntity.h
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef __NW_MINI_ULP_H__
-#define __NW_MINI_ULP_H__
-
-typedef struct {
-  uint8_t                       peerIpStr[16];
-  uint32_t                      restartCounter;
-  NwGtpv2cStackHandleT        hGtpv2cStack;
-} NwGtpv2cNodeUlpT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwRcT
-nwGtpv2cUlpInit(NwGtpv2cNodeUlpT* thiz, NwGtpv2cStackHandleT hGtpv2cStack, char* peerIpStr );
-
-NwRcT
-nwGtpv2cUlpDestroy(NwGtpv2cNodeUlpT* thiz);
-
-NwRcT
-nwGtpv2cUlpCreateSessionRequestToPeer(NwGtpv2cNodeUlpT* thiz);
-
-NwRcT
-nwGtpv2cUlpProcessStackReqCallback (NwGtpv2cUlpHandleT hUlp,
-                                    NwGtpv2cUlpApiT *pUlpApi);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/helloworld.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/helloworld.c
deleted file mode 100644
index 2b78e104e25e80d640523188d5a865c6edbe839d..0000000000000000000000000000000000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld/helloworld.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*----------------------------------------------------------------------------*
- *                                                                            *
- *                              n w - g t p v 2 c                             *
- *    G P R S   T u n n e l i n g    P r o t o c o l   v 2 c    S t a c k     *
- *                                                                            *
- *           M I N I M A L I S T I C     D E M O N S T R A T I O N            *
- *                                                                            *
- *                    Copyright (C) 2010 Amit Chawre.                         *
- *                                                                            *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file hello-world.c
- * @brief This is a test program demostrating usage of nw-gtpv2c library.
-*/
-
-#include <stdio.h>
-#include <assert.h>
-#include "NwEvt.h"
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniTmrMgrEntity.h"
-#include "NwMiniUdpEntity.h"
-#include "NwMiniUlpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT",  "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-/*---------------------------------------------------------------------------
- *                T H E      M A I N      F U N C T I O N
- *--------------------------------------------------------------------------*/
-
-int main(int argc, char* argv[])
-{
-  NwRcT                         rc;
-  uint32_t                        logLevel;
-  uint8_t*                        logLevelStr;
-
-  NwGtpv2cStackHandleT          hGtpv2cStack = 0;
-
-  NwGtpv2cNodeUlpT              ulpObj;
-  NwGtpv2cNodeUdpT              udpObj;
-
-
-  NwGtpv2cUlpEntityT            ulp;
-  NwGtpv2cUdpEntityT            udp;
-  NwGtpv2cTimerMgrEntityT       tmrMgr;
-  NwGtpv2cLogMgrEntityT         logMgr;
-
-  if(argc != 3) {
-    printf("Usage: %s <local-ip> <peer-ip>\n", argv[0]);
-    exit(0);
-  }
-
-  logLevelStr = getenv ("NW_LOG_LEVEL");
-
-  if(logLevelStr == NULL) {
-    logLevel = NW_LOG_LEVEL_INFO;
-  } else {
-    if(strncmp(logLevelStr, "EMER",4) == 0)
-      logLevel = NW_LOG_LEVEL_EMER;
-    else if(strncmp(logLevelStr, "ALER",4) == 0)
-      logLevel = NW_LOG_LEVEL_ALER;
-    else if(strncmp(logLevelStr, "CRIT",4) == 0)
-      logLevel = NW_LOG_LEVEL_CRIT;
-    else if(strncmp(logLevelStr, "ERRO",4) == 0)
-      logLevel = NW_LOG_LEVEL_ERRO ;
-    else if(strncmp(logLevelStr, "WARN",4) == 0)
-      logLevel = NW_LOG_LEVEL_WARN;
-    else if(strncmp(logLevelStr, "NOTI",4) == 0)
-      logLevel = NW_LOG_LEVEL_NOTI;
-    else if(strncmp(logLevelStr, "INFO",4) == 0)
-      logLevel = NW_LOG_LEVEL_INFO;
-    else if(strncmp(logLevelStr, "DEBG",4) == 0)
-      logLevel = NW_LOG_LEVEL_DEBG;
-  }
-
-  /*---------------------------------------------------------------------------
-   *  Initialize event library
-   *--------------------------------------------------------------------------*/
-
-  NW_EVT_INIT();
-
-  /*---------------------------------------------------------------------------
-   *  Initialize Log Manager
-   *--------------------------------------------------------------------------*/
-  nwMiniLogMgrInit(nwMiniLogMgrGetInstance(), logLevel);
-
-  /*---------------------------------------------------------------------------
-   *  Initialize Gtpv2c Stack Instance
-   *--------------------------------------------------------------------------*/
-  rc = nwGtpv2cInitialize(&hGtpv2cStack);
-
-  if(rc != NW_OK) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to create gtpv2c stack instance. Error '%u' occured", rc);
-    exit(1);
-  }
-
-  NW_LOG(NW_LOG_LEVEL_INFO, "Gtpv2c Stack Handle '%X' Creation Successful!", hGtpv2cStack);
-
-  rc = nwGtpv2cSetLogLevel(hGtpv2cStack, logLevel);
-
-  /*---------------------------------------------------------------------------
-   * Set up Ulp Entity
-   *--------------------------------------------------------------------------*/
-  rc = nwGtpv2cUlpInit(&ulpObj, hGtpv2cStack, argv[2]);
-  NW_ASSERT(NW_OK == rc);
-
-  ulp.hUlp = (NwGtpv2cUlpHandleT) &ulpObj;
-  ulp.ulpReqCallback = nwGtpv2cUlpProcessStackReqCallback;
-
-  rc = nwGtpv2cSetUlpEntity(hGtpv2cStack, &ulp);
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   * Set up Udp Entity
-   *--------------------------------------------------------------------------*/
-  rc = nwGtpv2cUdpInit(&udpObj, hGtpv2cStack, (argv[1]));
-  NW_ASSERT(NW_OK == rc);
-
-  udp.hUdp = (NwGtpv2cUdpHandleT) &udpObj;
-  udp.udpDataReqCallback = nwGtpv2cUdpDataReq;
-
-  rc = nwGtpv2cSetUdpEntity(hGtpv2cStack, &udp);
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   * Set up Log Entity
-   *--------------------------------------------------------------------------*/
-  tmrMgr.tmrMgrHandle = 0;
-  tmrMgr.tmrStartCallback = nwTimerStart;
-  tmrMgr.tmrStopCallback = nwTimerStop;
-
-  rc = nwGtpv2cSetTimerMgrEntity(hGtpv2cStack, &tmrMgr);
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   * Set up Log Entity
-   *--------------------------------------------------------------------------*/
-  logMgr.logMgrHandle   = (NwGtpv2cLogMgrHandleT) nwMiniLogMgrGetInstance();
-  logMgr.logReqCallback  = nwMiniLogMgrLogRequest;
-
-  rc = nwGtpv2cSetLogMgrEntity(hGtpv2cStack, &logMgr);
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   *  Send Message Request to Gtpv2c Stack Instance
-   *--------------------------------------------------------------------------*/
-  //rc = nwGtpv2cUlpCreateSessionRequestToPeer(&ulpObj);
-  rc = nwGtpv2cUlpSenEchoRequestToPeer(&ulpObj, inet_addr(argv[2]));
-  NW_ASSERT(NW_OK == rc);
-
-  /*---------------------------------------------------------------------------
-   * Event loop
-   *--------------------------------------------------------------------------*/
-
-  NW_EVT_LOOP();
-  NW_LOG(NW_LOG_LEVEL_ERRO, "Exit from eventloop, no events to process!");
-
-  /*---------------------------------------------------------------------------
-   *  Destroy Gtpv2c Stack Instance
-   *--------------------------------------------------------------------------*/
-  rc = nwGtpv2cFinalize(hGtpv2cStack);
-
-  if(rc != NW_OK) {
-    NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to finalize gtpv2c stack instance. Error '%u' occured", rc);
-  } else {
-    NW_LOG(NW_LOG_LEVEL_INFO, "Gtpv2c Stack Handle '%X' Finalize Successful!", hGtpv2cStack);
-  }
-
-  return rc;
-}
diff --git a/openair-cn/INSTALL b/openair-cn/INSTALL
deleted file mode 100644
index 2099840756e6302d837dcd51b5dcd6262f7adb16..0000000000000000000000000000000000000000
--- a/openair-cn/INSTALL
+++ /dev/null
@@ -1,370 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
-Inc.
-
-   Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.  This file is offered as-is,
-without warranty of any kind.
-
-Basic Installation
-==================
-
-   Briefly, the shell command `./configure && make && make install'
-should configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below.  The lack of an optional feature in a given package is not
-necessarily a bug.  More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
-   The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
-
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package, generally using the just-built uninstalled binaries.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.  When installing into a prefix owned by root, it is
-     recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
-     privileges.
-
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
-     this time using the binaries in their final installed location.
-     This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
-     root privileges, verifies that the installation completed
-     correctly.
-
-  6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-  7. Often, you can also type `make uninstall' to remove the installed
-     files again.  In practice, not all packages have tested that
-     uninstallation works correctly, even though it is required by the
-     GNU Coding Standards.
-
-  8. Some packages, particularly those that use Automake, provide `make
-     distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
-     This target is generally not run by end users.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
-for details on some of the pertinent environment variables.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
-
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
-   *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
-
-   With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
-   On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor.  Like
-this:
-
-     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CPP="gcc -E" CXXCPP="g++ -E"
-
-   This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
-
-Installation Names
-==================
-
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
-absolute file name.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
-specifications that were not explicitly provided.
-
-   The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
-both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
-having to reconfigure or recompile.
-
-   The first method involves providing an override variable for each
-affected directory.  For example, `make install
-prefix=/alternate/directory' will choose an alternate location for all
-directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
-does not work on platforms that have drive letters.  On the other hand,
-it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
-
-Optional Features
-=================
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-   Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
-
-Particular systems
-==================
-
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
-     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
-   HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved.  Use GNU `make'
-instead.
-
-   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
-
-     ./configure CC="cc"
-
-and if that doesn't work, try
-
-     ./configure CC="cc -nodtk"
-
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
-directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
-
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
-
-     ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS
-     KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-   Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
-
-     ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation.  Until the limitation is lifted, you can use
-this workaround:
-
-     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
-
-`--help=short'
-`--help=recursive'
-     Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
-
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`--cache-file=FILE'
-     Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
-     disable caching.
-
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
-
-`--no-create'
-`-n'
-     Run the configure checks, but stop before creating any output
-     files.
-
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
diff --git a/openair-cn/MME_APP/COPYING b/openair-cn/MME_APP/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/MME_APP/Makefile.am b/openair-cn/MME_APP/Makefile.am
deleted file mode 100644
index c736fb38bab293c35048ad6fba7c49df71614a0f..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/Makefile.am
+++ /dev/null
@@ -1,59 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AM_CFLAGS =				\
-	@ADD_CFLAGS@ 			\
-	-I$(top_srcdir)/COMMON								\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE					\
-	-I$(top_srcdir)/S1AP								\
-	-I$(top_srcdir)/SGW-LITE							\
-	-I$(top_srcdir)/S6A									\
-	-I$(top_srcdir)/SCTP								\
-	-I$(top_srcdir)/SECU								\
-	-I$(top_srcdir)/UTILS
-
-noinst_LTLIBRARIES = libmmeapp.la
-libmmeapp_la_LDFLAGS = -all-static
-
-libmmeapp_la_SOURCES = \
-    mme_app_capabilities.c                          \
-	mme_app_context.c								\
-	mme_app_main.c	mme_app_defs.h					\
-	mme_app_bearer.c								\
-	mme_app_authentication.c						\
-    mme_app_location.c                              \
-	mme_app_statistics.c	mme_app_statistics.h	\
-	mme_app_defs.h	mme_app_extern.h				\
-	mme_app_itti_messaging.h						\
-	s6a_2_nas_cause.c
diff --git a/openair-cn/MME_APP/mme_app_authentication.c b/openair-cn/MME_APP/mme_app_authentication.c
deleted file mode 100644
index d10e7d645b13c6b4178e6a1a6e40713b4c137cb5..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_authentication.c
+++ /dev/null
@@ -1,365 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "msc.h"
-#include "intertask_interface.h"
-#include "mme_app_itti_messaging.h"
-
-#include "mme_config.h"
-
-#include "mme_app_ue_context.h"
-#include "mme_app_defs.h"
-#include "mcc_mnc_itu.h"
-
-#include "assertions.h"
-
-static
-int mme_app_request_authentication_info(const char   *imsi,
-                                        const uint8_t nb_of_vectors,
-                                        const plmn_t *plmn,
-                                        const uint8_t *auts);
-
-static
-int mme_app_request_authentication_info(const char   *imsi,
-                                        const uint8_t nb_of_vectors,
-                                        const plmn_t *plmn,
-                                        const uint8_t *auts)
-{
-  s6a_auth_info_req_t *auth_info_req = NULL;
-  MessageDef          *message_p     = NULL;
-  int                  imsi_length   = strlen(imsi);
-
-  DevAssert(plmn != NULL);
-
-  message_p = itti_alloc_new_message(TASK_MME_APP, S6A_AUTH_INFO_REQ);
-
-  auth_info_req = &message_p->ittiMsg.s6a_auth_info_req;
-  memset(auth_info_req, 0, sizeof(*auth_info_req));
-
-  strncpy(auth_info_req->imsi, imsi, imsi_length);
-  auth_info_req->imsi_length = imsi_length;
-  //MME_APP_IMSI_TO_STRING(imsi, auth_info_req->imsi);
-
-  memcpy(&auth_info_req->visited_plmn, plmn, sizeof(plmn_t));
-  MME_APP_DEBUG("%s visited_plmn MCC %X%X%X MNC %X%X%X\n",
-                __FUNCTION__,
-                auth_info_req->visited_plmn.MCCdigit1,
-                auth_info_req->visited_plmn.MCCdigit2,
-                auth_info_req->visited_plmn.MCCdigit3,
-                auth_info_req->visited_plmn.MNCdigit1,
-                auth_info_req->visited_plmn.MNCdigit2,
-                auth_info_req->visited_plmn.MNCdigit3);
-  uint8_t *ptr = (uint8_t *)&auth_info_req->visited_plmn;
-  MME_APP_DEBUG("%s visited_plmn %02X%02X%02X\n",
-                __FUNCTION__,
-                ptr[0],
-                ptr[1],
-                ptr[2]);
-
-  auth_info_req->nb_of_vectors = nb_of_vectors;
-
-  if (auts != NULL) {
-    auth_info_req->re_synchronization = 1;
-    memcpy(auth_info_req->auts, auts, sizeof(auth_info_req->auts));
-  } else {
-    auth_info_req->re_synchronization = 0;
-    memset(auth_info_req->auts, 0, sizeof(auth_info_req->auts));
-  }
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		MSC_S6A_MME,
-  		NULL,0,
-  		"0 S6A_AUTH_INFO_REQ IMSI %s visited_plmn %02X%02X%02X re_sync %u",
-  		imsi,ptr[0],ptr[1],ptr[2],auth_info_req->re_synchronization);
-
-  return itti_send_msg_to_task(TASK_S6A, INSTANCE_DEFAULT, message_p);
-}
-
-int mme_app_handle_nas_auth_resp(const nas_auth_resp_t * const nas_auth_resp_pP)
-{
-  struct ue_context_s *ue_context = NULL;
-  uint64_t             imsi       = 0;
-
-  DevAssert(nas_auth_resp_pP != NULL);
-
-  MME_APP_STRING_TO_IMSI((char *)nas_auth_resp_pP->imsi, &imsi);
-
-  MME_APP_DEBUG("Handling imsi %"IMSI_FORMAT"\n", imsi);
-
-
-  if ((ue_context = mme_ue_context_exists_imsi(&mme_app_desc.mme_ue_contexts,
-                    imsi)) == NULL) {
-    MME_APP_ERROR("That's embarrassing as we don't know this IMSI\n");
-    MSC_LOG_EVENT(
-    		MSC_MMEAPP_MME,
-    		"0 NAS_AUTH_RESP Unknown imsi %"IMSI_FORMAT,imsi);
-    AssertFatal(0, "That's embarrassing as we don't know this IMSI\n");
-    return -1;
-  }
-
-  /* Consider the UE authenticated */
-  ue_context->imsi_auth = IMSI_AUTHENTICATED;
-
-  /* TODO: Get keys... */
-
-  /* Now generate S6A ULR */
-  {
-    MessageDef                *message_p = NULL;
-    s6a_update_location_req_t *s6a_ulr   = NULL;
-
-    message_p = itti_alloc_new_message(TASK_MME_APP, S6A_UPDATE_LOCATION_REQ);
-
-    if (message_p == NULL) {
-      return -1;
-    }
-
-    s6a_ulr = &message_p->ittiMsg.s6a_update_location_req;
-
-    memcpy(s6a_ulr->imsi, nas_auth_resp_pP->imsi, 16);
-    s6a_ulr->initial_attach = INITIAL_ATTACH;
-    s6a_ulr->rat_type = RAT_EUTRAN;
-    /* Check if we already have UE data */
-    s6a_ulr->skip_subscriber_data = 0;
-
-    MSC_LOG_TX_MESSAGE(
-    		MSC_MMEAPP_MME,
-    		MSC_S6A_MME,
-    		NULL,0,
-    		" S6A_UPDATE_LOCATION_REQ IMSI %s RAT_EUTRAN",
-    		imsi);
-
-    return itti_send_msg_to_task(TASK_S6A, INSTANCE_DEFAULT, message_p);
-  }
-  return -1;
-}
-
-int
-mme_app_handle_authentication_info_answer(
-  const s6a_auth_info_ans_t * const s6a_auth_info_ans_pP)
-{
-  struct ue_context_s *ue_context = NULL;
-  uint64_t             imsi       = 0;
-
-  DevAssert(s6a_auth_info_ans_pP != NULL);
-
-  MME_APP_STRING_TO_IMSI((char *)s6a_auth_info_ans_pP->imsi, &imsi);
-
-  MME_APP_DEBUG("Handling imsi %"IMSI_FORMAT"\n", imsi);
-
-
-  if ((ue_context = mme_ue_context_exists_imsi(&mme_app_desc.mme_ue_contexts,
-                    imsi)) == NULL) {
-    MME_APP_ERROR("That's embarrassing as we don't know this IMSI\n");
-    MSC_LOG_EVENT(
-    		MSC_MMEAPP_MME,
-    		"0 S6A_AUTH_INFO_ANS Unknown imsi %"IMSI_FORMAT,imsi);
-    return -1;
-  }
-
-  if ((s6a_auth_info_ans_pP->result.present == S6A_RESULT_BASE) &&
-      (s6a_auth_info_ans_pP->result.choice.base == DIAMETER_SUCCESS)) {
-    /* S6A procedure has succeeded.
-     * We have to request UE authentication.
-     */
-
-    /* Check that list is not empty and contain only one element */
-    DevCheck(s6a_auth_info_ans_pP->auth_info.nb_of_vectors == 1,
-             s6a_auth_info_ans_pP->auth_info.nb_of_vectors, 1, 0);
-
-    if (ue_context->vector_list == NULL) {
-      ue_context->vector_list = malloc(sizeof(eutran_vector_t));
-      DevAssert(ue_context->vector_list != NULL);
-    } else {
-      /* Some vector already exist */
-      ue_context->vector_list = realloc(
-                                  ue_context->vector_list,
-                                  (ue_context->nb_of_vectors + s6a_auth_info_ans_pP->auth_info.nb_of_vectors) * sizeof(eutran_vector_t));
-
-      DevAssert(ue_context->vector_list != NULL);
-    }
-
-    memcpy(&ue_context->vector_list[ue_context->nb_of_vectors],
-           &s6a_auth_info_ans_pP->auth_info.eutran_vector, sizeof(eutran_vector_t));
-
-    ue_context->vector_in_use = &ue_context->vector_list[ue_context->nb_of_vectors];
-
-    ue_context->nb_of_vectors += s6a_auth_info_ans_pP->auth_info.nb_of_vectors;
-
-    MME_APP_DEBUG("INFORMING NAS ABOUT AUTH RESP SUCCESS got %u vector(s)\n",
-                  s6a_auth_info_ans_pP->auth_info.nb_of_vectors);
-
-    mme_app_itti_auth_rsp(ue_context->ue_id,
-                          1,
-                          &s6a_auth_info_ans_pP->auth_info.eutran_vector);
-  } else {
-    MME_APP_ERROR("INFORMING NAS ABOUT AUTH RESP ERROR CODE\n");
-    MSC_LOG_EVENT(
-    		MSC_MMEAPP_MME,
-    		"0 S6A_AUTH_INFO_ANS S6A Failure imsi %"IMSI_FORMAT,imsi);
-
-
-
-    /* Inform NAS layer with the right failure */
-    if (s6a_auth_info_ans_pP->result.present == S6A_RESULT_BASE) {
-      mme_app_itti_auth_fail(ue_context->ue_id, s6a_error_2_nas_cause(
-                               s6a_auth_info_ans_pP->result.choice.base, 0));
-    } else {
-      mme_app_itti_auth_fail(ue_context->ue_id, s6a_error_2_nas_cause(
-                               s6a_auth_info_ans_pP->result.choice.experimental, 1));
-    }
-  }
-
-  return 0;
-}
-
-
-void
-mme_app_handle_nas_auth_param_req(
-  const nas_auth_param_req_t * const nas_auth_param_req_pP)
-{
-  plmn_t              *visited_plmn  = NULL;
-  struct ue_context_s *ue_context    = NULL;
-  uint64_t             imsi          = 0;
-  int                  mnc_length    = 0;
-  plmn_t               visited_plmn_from_req = {
-    .MCCdigit3 = 0,
-    .MCCdigit2 = 0,
-    .MCCdigit1 = 0,
-    .MNCdigit1 = 0,
-    .MNCdigit2 = 0,
-    .MNCdigit3 = 0,
-  };
-  DevAssert(nas_auth_param_req_pP != NULL);
-
-  visited_plmn = &visited_plmn_from_req;
-
-  visited_plmn_from_req.MCCdigit1 = nas_auth_param_req_pP->imsi[0];
-  visited_plmn_from_req.MCCdigit2 = nas_auth_param_req_pP->imsi[1];
-  visited_plmn_from_req.MCCdigit3 = nas_auth_param_req_pP->imsi[2];
-
-  mnc_length = find_mnc_length(
-                 nas_auth_param_req_pP->imsi[0],
-                 nas_auth_param_req_pP->imsi[1],
-                 nas_auth_param_req_pP->imsi[2],
-                 nas_auth_param_req_pP->imsi[3],
-                 nas_auth_param_req_pP->imsi[4],
-                 nas_auth_param_req_pP->imsi[5]
-               );
-
-  if (mnc_length == 2) {
-    visited_plmn_from_req.MNCdigit1 = nas_auth_param_req_pP->imsi[3];
-    visited_plmn_from_req.MNCdigit2 = nas_auth_param_req_pP->imsi[4];
-    visited_plmn_from_req.MNCdigit3 = 15;
-  } else if (mnc_length == 3) {
-    visited_plmn_from_req.MNCdigit1 = nas_auth_param_req_pP->imsi[3];
-    visited_plmn_from_req.MNCdigit2 = nas_auth_param_req_pP->imsi[4];
-    visited_plmn_from_req.MNCdigit3 = nas_auth_param_req_pP->imsi[5];
-  } else {
-    AssertFatal(0, "MNC Not found (mcc_mnc_list)");
-  }
-
-  if (mnc_length == 3) {
-    MME_APP_DEBUG("%s visited_plmn_from_req  %1d%1d%1d.%1d%1d%1d\n",
-                  __FUNCTION__,
-                  visited_plmn_from_req.MCCdigit1,
-                  visited_plmn_from_req.MCCdigit2,
-                  visited_plmn_from_req.MCCdigit3,
-                  visited_plmn_from_req.MNCdigit1,
-                  visited_plmn_from_req.MNCdigit2,
-                  visited_plmn_from_req.MNCdigit3);
-  } else {
-    MME_APP_DEBUG("%s visited_plmn_from_req  %1d%1d%1d.%1d%1d\n",
-                  __FUNCTION__,
-                  visited_plmn_from_req.MCCdigit1,
-                  visited_plmn_from_req.MCCdigit2,
-                  visited_plmn_from_req.MCCdigit3,
-                  visited_plmn_from_req.MNCdigit1,
-                  visited_plmn_from_req.MNCdigit2);
-  }
-
-  MME_APP_STRING_TO_IMSI(nas_auth_param_req_pP->imsi, &imsi);
-
-  MME_APP_DEBUG("%s Handling imsi %"IMSI_FORMAT"\n", __FUNCTION__, imsi);
-  MME_APP_DEBUG("%s Handling imsi from req  %s (mnc length %d)\n",
-                __FUNCTION__,
-                nas_auth_param_req_pP->imsi,
-                mnc_length);
-
-  /* Fetch the context associated with this IMSI */
-  ue_context = mme_ue_context_exists_imsi(&mme_app_desc.mme_ue_contexts, imsi);
-
-  if (ue_context == NULL) {
-    /* Currently no context available -> trigger an authentication request
-     * to the HSS.
-     */
-    MME_APP_DEBUG("UE context search by IMSI failed, try by ue id\n");
-    ue_context = mme_ue_context_exists_nas_ue_id(&mme_app_desc.mme_ue_contexts, nas_auth_param_req_pP->ue_id);
-
-    if (ue_context == NULL) {
-      // should have been created by initial ue message
-      MME_APP_ERROR("UE context doesn't exist -> create one\n");
-
-      if ((ue_context = mme_create_new_ue_context()) == NULL) {
-        /* Error during ue context malloc */
-        /* TODO */
-        DevMessage("mme_create_new_ue_context");
-        return;
-      }
-
-      ue_context->ue_id          = nas_auth_param_req_pP->ue_id;
-      ue_context->mme_ue_s1ap_id = nas_auth_param_req_pP->ue_id;
-      DevAssert(mme_insert_ue_context(&mme_app_desc.mme_ue_contexts, ue_context) == 0);
-    }
-
-    ue_context->imsi  = imsi;
-
-    /* We have no vector for this UE, send an authentication request
-     * to the HSS.
-     */
-
-    /* Acquire the current time */
-    time(&ue_context->cell_age);
-
-    memcpy(&ue_context->guti.gummei.plmn, visited_plmn, sizeof(plmn_t));
-    MME_APP_DEBUG("and we have no auth. vector for it, request"
-                  " authentication information\n");
-    mme_app_request_authentication_info(nas_auth_param_req_pP->imsi, 1, visited_plmn, NULL);
-  } else {
-    memcpy(&ue_context->guti.gummei.plmn, visited_plmn, sizeof(plmn_t));
-
-    mme_app_request_authentication_info(nas_auth_param_req_pP->imsi, 1, visited_plmn, nas_auth_param_req_pP->auts);
-  }
-}
diff --git a/openair-cn/MME_APP/mme_app_bearer.c b/openair-cn/MME_APP/mme_app_bearer.c
deleted file mode 100644
index fd909b198ef93c77c3aef673c4033f39b6025d41..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_bearer.c
+++ /dev/null
@@ -1,906 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file mme_app_bearer.c
-* \brief
-* \author Sebastien ROUX, Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "intertask_interface.h"
-#include "mme_config.h"
-
-#include "mme_app_extern.h"
-#include "mme_app_ue_context.h"
-#include "mme_app_defs.h"
-#include "sgw_lite_ie_defs.h"
-
-#include "secu_defs.h"
-
-#include "assertions.h"
-#include "common_types.h"
-#include "msc.h"
-
-
-//------------------------------------------------------------------------------
-int
-mme_app_send_s11_release_access_bearers_req(
-  struct ue_context_s * const ue_context_pP)
-//------------------------------------------------------------------------------
-{
-  uint8_t                     i                 = 0;
-  task_id_t                   to_task           = TASK_UNKNOWN;
-  /* Keep the identifier to the default APN */
-  context_identifier_t        context_identifier;
-  MessageDef                 *message_p         = NULL;
-  SgwReleaseAccessBearersRequest    *release_access_bearers_request_p = NULL;
-
-
-  DevAssert(ue_context_pP != NULL);
-
-#if !defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_S11;
-#else
-  to_task = TASK_SPGW_APP;
-#endif
-
-  message_p = itti_alloc_new_message(TASK_MME_APP, SGW_RELEASE_ACCESS_BEARERS_REQUEST);
-  release_access_bearers_request_p = &message_p->ittiMsg.sgwReleaseAccessBearersRequest;
-  memset(release_access_bearers_request_p, 0, sizeof(SgwReleaseAccessBearersRequest));
-
-  release_access_bearers_request_p->teid             = ue_context_pP->sgw_s11_teid;
-  release_access_bearers_request_p->num_rabs         = 1;
-  release_access_bearers_request_p->list_of_rabs[0]  = ue_context_pP->default_bearer_id;
-  release_access_bearers_request_p->originating_node = NODE_TYPE_MME;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		(to_task == TASK_S11) ? MSC_S11_MME:MSC_SP_GWAPP_MME,
-  		NULL,0,
-  		"0 SGW_RELEASE_ACCESS_BEARERS_REQUEST teid %u ebi %u",
-  		release_access_bearers_request_p->teid,
-  		release_access_bearers_request_p->list_of_rabs[0]);
-
-  itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-//------------------------------------------------------------------------------
-int
-mme_app_send_s11_create_session_req(
-  struct ue_context_s * const ue_context_pP)
-//------------------------------------------------------------------------------
-{
-  uint8_t                     i                 = 0;
-  task_id_t                   to_task           = TASK_UNKNOWN;
-  /* Keep the identifier to the default APN */
-  context_identifier_t        context_identifier;
-  MessageDef                 *message_p         = NULL;
-  SgwCreateSessionRequest    *session_request_p = NULL;
-  struct apn_configuration_s *default_apn_p     = NULL;
-
-
-  DevAssert(ue_context_pP != NULL);
-
-#if !defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_S11;
-#else
-  to_task = TASK_SPGW_APP;
-#endif
-
-
-  MME_APP_DEBUG("Handling imsi %"IMSI_FORMAT"\n", ue_context_pP->imsi);
-
-  if (ue_context_pP->sub_status != SS_SERVICE_GRANTED) {
-    /* HSS rejected the bearer creation or roaming is not allowed for this
-     * UE. This result will trigger an ESM Failure message sent to UE.
-     */
-    DevMessage("Not implemented: ACCESS NOT GRANTED, send ESM Failure to NAS\n");
-  }
-
-  message_p = itti_alloc_new_message(TASK_MME_APP, SGW_CREATE_SESSION_REQUEST);
-
-  /* WARNING:
-   * Some parameters should be provided by NAS Layer:
-   * - ue_time_zone
-   * - mei
-   * - uli
-   * - uci
-   * Some parameters should be provided by HSS:
-   * - PGW address for CP
-   * - paa
-   * - ambr
-   * and by MME Application layer:
-   * - selection_mode
-   * Set these parameters with random values for now.
-   */
-
-  session_request_p = &message_p->ittiMsg.sgwCreateSessionRequest;
-  memset(session_request_p, 0, sizeof(SgwCreateSessionRequest));
-
-  /* As the create session request is the first exchanged message and as
-   * no tunnel had been previously setup, the distant teid is set to 0.
-   * The remote teid will be provided in the response message.
-   */
-  session_request_p->teid = 0;
-
-  MME_APP_IMSI_TO_STRING(ue_context_pP->imsi, (char *)session_request_p->imsi.digit);
-  // message content was set to 0
-  session_request_p->imsi.length = strlen((const char *)session_request_p->imsi.digit);
-
-  /* Copy the MSISDN */
-  memcpy(
-    session_request_p->msisdn.digit,
-    ue_context_pP->msisdn,
-    ue_context_pP->msisdn_length);
-  session_request_p->msisdn.length = ue_context_pP->msisdn_length;
-
-  session_request_p->rat_type = RAT_EUTRAN;
-
-  /* Copy the subscribed ambr to the sgw create session request message */
-  memcpy(
-    &session_request_p->ambr,
-    &ue_context_pP->subscribed_ambr,
-    sizeof(ambr_t));
-
-  if (ue_context_pP->apn_profile.nb_apns == 0) {
-    DevMessage("No APN returned by the HSS");
-  }
-
-  context_identifier = ue_context_pP->apn_profile.context_identifier;
-
-  for (i = 0; i < ue_context_pP->apn_profile.nb_apns; i++) {
-    default_apn_p = &ue_context_pP->apn_profile.apn_configuration[i];
-
-    /* OK we got our default APN */
-    if (default_apn_p->context_identifier == context_identifier)
-      break;
-  }
-
-  if (!default_apn_p) {
-    /* Unfortunately we didn't find our default APN... */
-    DevMessage("No default APN found");
-  }
-
-  memcpy(&session_request_p->bearer_to_create.bearer_level_qos.gbr,
-         &default_apn_p->ambr, sizeof(ambr_t));
-  memcpy(&session_request_p->bearer_to_create.bearer_level_qos.mbr,
-         &default_apn_p->ambr, sizeof(ambr_t));
-
-  session_request_p->bearer_to_create.bearer_level_qos.qci =
-    default_apn_p->subscribed_qos.qci;
-
-  session_request_p->bearer_to_create.bearer_level_qos.pvi =
-    default_apn_p->subscribed_qos.allocation_retention_priority.pre_emp_vulnerability;
-  session_request_p->bearer_to_create.bearer_level_qos.pci =
-    default_apn_p->subscribed_qos.allocation_retention_priority.pre_emp_capability;
-  session_request_p->bearer_to_create.bearer_level_qos.pl =
-    default_apn_p->subscribed_qos.allocation_retention_priority.priority_level;
-
-  /* Asking for default bearer in initial UE message.
-   * Use the address of ue_context as unique TEID: Need to find better here
-   * and will generate unique id only for 32 bits platforms.
-   */
-  session_request_p->sender_fteid_for_cp.teid           = (uint32_t)ue_context_pP;
-  session_request_p->sender_fteid_for_cp.interface_type = S11_MME_GTP_C;
-  session_request_p->bearer_to_create.eps_bearer_id     = 5;
-
-  ue_context_pP->mme_s11_teid = session_request_p->sender_fteid_for_cp.teid;
-  ue_context_pP->sgw_s11_teid = 0;
-
-  memcpy(session_request_p->apn, default_apn_p->service_selection,
-         default_apn_p->service_selection_length);
-
-  /* Set PDN type for pdn_type and PAA even if this IE is redundant */
-  session_request_p->pdn_type = default_apn_p->pdn_type;
-  session_request_p->paa.pdn_type = default_apn_p->pdn_type;
-
-  if (default_apn_p->nb_ip_address == 0) {
-    /* UE DHCPv4 allocated ip address */
-    memset(session_request_p->paa.ipv4_address, 0, 4);
-    memset(session_request_p->paa.ipv6_address, 0, 16);
-  } else {
-    uint8_t j;
-
-    for (j = 0; j < default_apn_p->nb_ip_address; j++) {
-      ip_address_t *ip_address;
-      ip_address = &default_apn_p->ip_address[j];
-
-      if (ip_address->pdn_type == IPv4) {
-        memcpy(session_request_p->paa.ipv4_address, ip_address->address.ipv4_address, 4);
-      } else if (ip_address->pdn_type == IPv6) {
-        memcpy(session_request_p->paa.ipv6_address, ip_address->address.ipv6_address, 16);
-      }
-
-      //             free(ip_address);
-    }
-  }
-
-  if ((ue_context_pP->pending_pdn_connectivity_req_pco.length >= PCO_MIN_LENGTH) && (ue_context_pP->pending_pdn_connectivity_req_pco.length <= PCO_MAX_LENGTH)) {
-	  memcpy(&session_request_p->pco.byte[0],
-			  &ue_context_pP->pending_pdn_connectivity_req_pco.byte[0],
-			  ue_context_pP->pending_pdn_connectivity_req_pco.length);
-	  session_request_p->pco.length = ue_context_pP->pending_pdn_connectivity_req_pco.length;
-  }
-
-  config_read_lock(&mme_config);
-  session_request_p->peer_ip = mme_config.ipv4.sgw_ip_address_for_S11;
-  config_unlock(&mme_config);
-
-  session_request_p->serving_network.mcc[0] = ue_context_pP->e_utran_cgi.plmn.MCCdigit1;
-  session_request_p->serving_network.mcc[1] = ue_context_pP->e_utran_cgi.plmn.MCCdigit2;
-  session_request_p->serving_network.mcc[2] = ue_context_pP->e_utran_cgi.plmn.MCCdigit3;
-
-  session_request_p->serving_network.mnc[0] = ue_context_pP->e_utran_cgi.plmn.MNCdigit1;
-  session_request_p->serving_network.mnc[1] = ue_context_pP->e_utran_cgi.plmn.MNCdigit2;
-  session_request_p->serving_network.mnc[2] = ue_context_pP->e_utran_cgi.plmn.MNCdigit3;
-
-  session_request_p->selection_mode = MS_O_N_P_APN_S_V;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		(to_task == TASK_S11) ? MSC_S11_MME:MSC_SP_GWAPP_MME,
-  		NULL,0,
-  		"0 SGW_CREATE_SESSION_REQUEST imsi %"IMSI_FORMAT,ue_context_pP->imsi);
-
-  return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-//------------------------------------------------------------------------------
-int
-mme_app_handle_nas_pdn_connectivity_req(
-  nas_pdn_connectivity_req_t * const nas_pdn_connectivity_req_pP)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s *ue_context_p = NULL;
-  uint64_t             imsi         = 0;
-
-  MME_APP_DEBUG("Received NAS_PDN_CONNECTIVITY_REQ from NAS\n");
-  DevAssert(nas_pdn_connectivity_req_pP != NULL);
-
-  MME_APP_STRING_TO_IMSI((char *)nas_pdn_connectivity_req_pP->imsi, &imsi);
-
-  MME_APP_DEBUG("Handling imsi %"IMSI_FORMAT"\n", imsi);
-
-
-  if ((ue_context_p = mme_ue_context_exists_imsi(&mme_app_desc.mme_ue_contexts,
-                      imsi)) == NULL) {
-	    MSC_LOG_EVENT(
-	    		MSC_MMEAPP_MME,
-	    		"NAS_PDN_CONNECTIVITY_REQ Unknown imsi %"IMSI_FORMAT,imsi);
-	MME_APP_ERROR("That's embarrassing as we don't know this IMSI\n");
-    return -1;
-  }
-
-  /* Consider the UE authenticated */
-  ue_context_p->imsi_auth = IMSI_AUTHENTICATED;
-
-  // Temp: save request, in near future merge wisely params in context
-  memset(ue_context_p->pending_pdn_connectivity_req_imsi,0, 16);
-  AssertFatal((nas_pdn_connectivity_req_pP->imsi_length > 0) &&
-              (nas_pdn_connectivity_req_pP->imsi_length < 16),
-              "BAD IMSI LENGTH %d", nas_pdn_connectivity_req_pP->imsi_length);
-
-  AssertFatal((nas_pdn_connectivity_req_pP->imsi_length > 0) &&
-              (nas_pdn_connectivity_req_pP->imsi_length < 16),
-              "STOP ON IMSI LENGTH %d", nas_pdn_connectivity_req_pP->imsi_length);
-  memcpy(ue_context_p->pending_pdn_connectivity_req_imsi,
-         nas_pdn_connectivity_req_pP->imsi,
-         nas_pdn_connectivity_req_pP->imsi_length);
-  ue_context_p->pending_pdn_connectivity_req_imsi_length = nas_pdn_connectivity_req_pP->imsi_length;
-  DUP_OCTET_STRING(nas_pdn_connectivity_req_pP->apn, ue_context_p->pending_pdn_connectivity_req_apn);
-  FREE_OCTET_STRING(nas_pdn_connectivity_req_pP->apn)
-  // dup OctetString
-  DUP_OCTET_STRING(nas_pdn_connectivity_req_pP->pdn_addr, ue_context_p->pending_pdn_connectivity_req_pdn_addr);
-  FREE_OCTET_STRING(nas_pdn_connectivity_req_pP->pdn_addr)
-  ue_context_p->pending_pdn_connectivity_req_pti          = nas_pdn_connectivity_req_pP->pti;
-  ue_context_p->pending_pdn_connectivity_req_ue_id        = nas_pdn_connectivity_req_pP->ue_id;
-
-  memcpy(&ue_context_p->pending_pdn_connectivity_req_pco.byte[0],
-         &nas_pdn_connectivity_req_pP->pco.byte[0],
-         nas_pdn_connectivity_req_pP->pco.length);
-  ue_context_p->pending_pdn_connectivity_req_pco.length = nas_pdn_connectivity_req_pP->pco.length;
-
-  memcpy(&ue_context_p->pending_pdn_connectivity_req_qos,
-         &nas_pdn_connectivity_req_pP->qos,
-         sizeof(network_qos_t));
-  ue_context_p->pending_pdn_connectivity_req_proc_data    = nas_pdn_connectivity_req_pP->proc_data;
-  nas_pdn_connectivity_req_pP->proc_data = NULL;
-  ue_context_p->pending_pdn_connectivity_req_request_type = nas_pdn_connectivity_req_pP->request_type;
-
-  //if ((nas_pdn_connectivity_req_pP->apn.value == NULL) || (nas_pdn_connectivity_req_pP->apn.length == 0)) {
-  /* TODO: Get keys... */
-  /* Now generate S6A ULR */
-  return mme_app_send_s6a_update_location_req(ue_context_p);
-  //} else {
-  //return mme_app_send_s11_create_session_req(ue_context_p);
-
-  //}
-  //return -1;
-}
-
-
-
-// sent by NAS
-//------------------------------------------------------------------------------
-void
-mme_app_handle_conn_est_cnf(
-  const nas_conn_est_cnf_t * const nas_conn_est_cnf_pP)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s                    *ue_context_p        = NULL;
-  MessageDef                             *message_p           = NULL;
-  mme_app_connection_establishment_cnf_t *establishment_cnf_p = NULL;
-  bearer_context_t                       *current_bearer_p    = NULL;
-  ebi_t                                   bearer_id           = 0;
-  uint8_t                                 keNB[32];
-
-  MME_APP_DEBUG("Received NAS_CONNECTION_ESTABLISHMENT_CNF from NAS\n");
-
-  ue_context_p = mme_ue_context_exists_nas_ue_id(&mme_app_desc.mme_ue_contexts, nas_conn_est_cnf_pP->UEid);
-
-
-  if (ue_context_p == NULL) {
-	MSC_LOG_EVENT(
-	    		MSC_MMEAPP_MME,
-	    		"NAS_CONNECTION_ESTABLISHMENT_CNF Unknown ue %u",nas_conn_est_cnf_pP->UEid);
-	MME_APP_ERROR("UE context doesn't exist for UE %06"PRIX32"/dec%u\n",
-                  nas_conn_est_cnf_pP->UEid,
-                  nas_conn_est_cnf_pP->UEid);
-    return;
-  }
-
-  message_p           = itti_alloc_new_message(TASK_MME_APP, MME_APP_CONNECTION_ESTABLISHMENT_CNF);
-  establishment_cnf_p = &message_p->ittiMsg.mme_app_connection_establishment_cnf;
-  memset(establishment_cnf_p, 0, sizeof(mme_app_connection_establishment_cnf_t));
-
-  memcpy(&establishment_cnf_p->nas_conn_est_cnf,
-         nas_conn_est_cnf_pP,
-         sizeof(nas_conn_est_cnf_t));
-
-  bearer_id = ue_context_p->default_bearer_id;
-  current_bearer_p = &ue_context_p->eps_bearers[bearer_id];
-  establishment_cnf_p->eps_bearer_id = bearer_id;
-
-  establishment_cnf_p->bearer_s1u_sgw_fteid.interface_type = S1_U_SGW_GTP_U;
-  establishment_cnf_p->bearer_s1u_sgw_fteid.teid = current_bearer_p->s_gw_teid;
-
-  if ((current_bearer_p->s_gw_address.pdn_type == IPv4) ||
-      (current_bearer_p->s_gw_address.pdn_type == IPv4_AND_v6)) {
-    establishment_cnf_p->bearer_s1u_sgw_fteid.ipv4 = 1;
-    memcpy(&establishment_cnf_p->bearer_s1u_sgw_fteid.ipv4_address,
-           current_bearer_p->s_gw_address.address.ipv4_address,
-           4);
-  }
-
-  if ((current_bearer_p->s_gw_address.pdn_type == IPv6) ||
-      (current_bearer_p->s_gw_address.pdn_type == IPv4_AND_v6)) {
-    establishment_cnf_p->bearer_s1u_sgw_fteid.ipv6 = 1;
-    memcpy(establishment_cnf_p->bearer_s1u_sgw_fteid.ipv6_address,
-           current_bearer_p->s_gw_address.address.ipv6_address,
-           16);
-  }
-
-  establishment_cnf_p->bearer_qos_qci                    = current_bearer_p->qci;
-  establishment_cnf_p->bearer_qos_prio_level             = current_bearer_p->prio_level;
-  establishment_cnf_p->bearer_qos_pre_emp_vulnerability  = current_bearer_p->pre_emp_vulnerability;
-  establishment_cnf_p->bearer_qos_pre_emp_capability     = current_bearer_p->pre_emp_capability;
-#warning "Check ue_context_p ambr"
-  establishment_cnf_p->ambr.br_ul                        = ue_context_p->subscribed_ambr.br_ul;
-  establishment_cnf_p->ambr.br_dl                        = ue_context_p->subscribed_ambr.br_dl;
-
-  establishment_cnf_p->security_capabilities_encryption_algorithms = nas_conn_est_cnf_pP->selected_encryption_algorithm;
-  establishment_cnf_p->security_capabilities_integrity_algorithms  = nas_conn_est_cnf_pP->selected_integrity_algorithm;
-  MME_APP_DEBUG("security_capabilities_encryption_algorithms 0x%04X\n", establishment_cnf_p->security_capabilities_encryption_algorithms);
-  MME_APP_DEBUG("security_capabilities_integrity_algorithms  0x%04X\n", establishment_cnf_p->security_capabilities_integrity_algorithms);
-
-  MME_APP_DEBUG("Derive keNB with UL NAS COUNT %x\n", nas_conn_est_cnf_pP->ul_nas_count);
-  derive_keNB(ue_context_p->vector_in_use->kasme, nas_conn_est_cnf_pP->ul_nas_count, keNB); //156
-  memcpy(establishment_cnf_p->keNB, keNB, 32);
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		MSC_S1AP_MME,
-  		NULL,0,
-  		"0 MME_APP_CONNECTION_ESTABLISHMENT_CNF ebi %u s1u_sgw teid %u qci %u prio level %u sea 0x%x sia 0x%x",
-  		establishment_cnf_p->eps_bearer_id,
-  		establishment_cnf_p->bearer_s1u_sgw_fteid.teid,
-  		establishment_cnf_p->bearer_qos_qci,
-  		establishment_cnf_p->bearer_qos_prio_level,
-  		establishment_cnf_p->security_capabilities_encryption_algorithms,
-  		establishment_cnf_p->security_capabilities_integrity_algorithms);
-
-  itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-// sent by S1AP
-//------------------------------------------------------------------------------
-void
-mme_app_handle_conn_est_ind(
-  const mme_app_connection_establishment_ind_t * const conn_est_ind_pP)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s *ue_context_p  = NULL;
-  MessageDef          *message_p     = NULL;
-
-  MME_APP_DEBUG("Received MME_APP_CONNECTION_ESTABLISHMENT_IND from S1AP\n");
-
-  ue_context_p = mme_ue_context_exists_mme_ue_s1ap_id(
-                   &mme_app_desc.mme_ue_contexts,
-                   conn_est_ind_pP->mme_ue_s1ap_id);
-
-
-
-  if (ue_context_p == NULL) {
-    MME_APP_DEBUG("We didn't find this mme_ue_s1ap_id in list of UE: %06"PRIX32"/dec%u\n",
-                  conn_est_ind_pP->mme_ue_s1ap_id,
-                  conn_est_ind_pP->mme_ue_s1ap_id);
-    MME_APP_DEBUG("UE context doesn't exist -> create one\n");
-
-    if ((ue_context_p = mme_create_new_ue_context()) == NULL) {
-      /* Error during ue context malloc */
-      /* TODO */
-      DevMessage("mme_create_new_ue_context");
-      return;
-    }
-
-    // S1AP UE ID AND NAS UE ID ARE THE SAME
-    ue_context_p->mme_ue_s1ap_id = conn_est_ind_pP->mme_ue_s1ap_id;
-    ue_context_p->ue_id          = conn_est_ind_pP->mme_ue_s1ap_id;
-    DevAssert(mme_insert_ue_context(&mme_app_desc.mme_ue_contexts, ue_context_p) == 0);
-
-    // tests
-    ue_context_p = mme_ue_context_exists_mme_ue_s1ap_id(
-                     &mme_app_desc.mme_ue_contexts,
-                     conn_est_ind_pP->mme_ue_s1ap_id);
-    AssertFatal(ue_context_p != NULL, "mme_ue_context_exists_mme_ue_s1ap_id Failed");
-    ue_context_p = mme_ue_context_exists_nas_ue_id(
-                     &mme_app_desc.mme_ue_contexts,
-                     conn_est_ind_pP->mme_ue_s1ap_id);
-    AssertFatal(ue_context_p != NULL, "mme_ue_context_exists_nas_ue_id Failed");
-  }
-
-  message_p  = itti_alloc_new_message(TASK_MME_APP, NAS_CONNECTION_ESTABLISHMENT_IND);
-  memcpy(&NAS_CONN_EST_IND(message_p).nas,
-         &conn_est_ind_pP->nas,
-         sizeof (nas_establish_ind_t));
-
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		MSC_NAS_MME,
-  		NULL,0,
-  		"0 NAS_CONNECTION_ESTABLISHMENT_IND");
-
-  itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-//------------------------------------------------------------------------------
-int
-mme_app_handle_create_sess_resp(
-  const SgwCreateSessionResponse * const create_sess_resp_pP)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s *ue_context_p     = NULL;
-  bearer_context_t    *current_bearer_p = NULL;
-  MessageDef          *message_p = NULL;
-
-  int16_t bearer_id;
-
-  DevAssert(create_sess_resp_pP != NULL);
-
-  MME_APP_DEBUG("Received SGW_CREATE_SESSION_RESPONSE from S+P-GW\n");
-
-  ue_context_p = mme_ue_context_exists_s11_teid(&mme_app_desc.mme_ue_contexts,
-                 create_sess_resp_pP->teid);
-
-
-  if (ue_context_p == NULL) {
-    MME_APP_DEBUG("We didn't find this teid in list of UE: %08x\n",
-                  create_sess_resp_pP->teid);
-    return -1;
-  }
-
-  /* Store the S-GW teid */
-  ue_context_p->sgw_s11_teid = create_sess_resp_pP->s11_sgw_teid.teid;
-
-  //---------------------------------------------------------
-  // Process SgwCreateSessionResponse.bearer_context_created
-  //---------------------------------------------------------
-  bearer_id = create_sess_resp_pP->bearer_context_created.eps_bearer_id/* - 5*/;
-  /* Depending on s11 result we have to send reject or accept for bearers */
-  DevCheck((bearer_id < BEARERS_PER_UE) && (bearer_id >= 0),
-           bearer_id,
-           BEARERS_PER_UE,
-           0);
-  ue_context_p->default_bearer_id = bearer_id;
-
-  if (create_sess_resp_pP->bearer_context_created.cause != REQUEST_ACCEPTED) {
-    DevMessage("Cases where bearer cause != REQUEST_ACCEPTED are not handled\n");
-  }
-
-  DevAssert(create_sess_resp_pP->bearer_context_created.s1u_sgw_fteid.interface_type == S1_U_SGW_GTP_U);
-
-  /* Updating statistics */
-  mme_app_desc.mme_ue_contexts.nb_bearers_managed++;
-  mme_app_desc.mme_ue_contexts.nb_bearers_since_last_stat++;
-
-  current_bearer_p = &ue_context_p->eps_bearers[bearer_id];
-  current_bearer_p->s_gw_teid = create_sess_resp_pP->bearer_context_created.s1u_sgw_fteid.teid;
-
-  switch (create_sess_resp_pP->bearer_context_created.s1u_sgw_fteid.ipv4 +
-          (create_sess_resp_pP->bearer_context_created.s1u_sgw_fteid.ipv6 << 1)) {
-  default:
-  case 0: {
-    /* No address provided: impossible case */
-    DevMessage("No ip address for user-plane provided...\n");
-  }
-  break;
-
-  case 1: {
-    /* Only IPv4 address */
-    current_bearer_p->s_gw_address.pdn_type = IPv4;
-    memcpy(current_bearer_p->s_gw_address.address.ipv4_address,
-           &create_sess_resp_pP->bearer_context_created.s1u_sgw_fteid.ipv4_address, 4);
-  }
-  break;
-
-  case 2: {
-    /* Only IPv6 address */
-    current_bearer_p->s_gw_address.pdn_type = IPv6;
-    memcpy(current_bearer_p->s_gw_address.address.ipv6_address,
-           create_sess_resp_pP->bearer_context_created.s1u_sgw_fteid.ipv6_address, 16);
-  }
-  break;
-
-  case 3: {
-    /* Both IPv4 and Ipv6 */
-    current_bearer_p->s_gw_address.pdn_type = IPv4_AND_v6;
-    memcpy(current_bearer_p->s_gw_address.address.ipv4_address,
-           &create_sess_resp_pP->bearer_context_created.s1u_sgw_fteid.ipv4_address, 4);
-    memcpy(current_bearer_p->s_gw_address.address.ipv6_address,
-           create_sess_resp_pP->bearer_context_created.s1u_sgw_fteid.ipv6_address, 16);
-  }
-  break;
-  }
-
-  current_bearer_p->p_gw_teid = create_sess_resp_pP->bearer_context_created.s5_s8_u_pgw_fteid.teid;
-  memset(&current_bearer_p->p_gw_address,0, sizeof(ip_address_t));
-
-  if (create_sess_resp_pP->bearer_context_created.bearer_level_qos != NULL) {
-    current_bearer_p->qci                    = create_sess_resp_pP->bearer_context_created.bearer_level_qos->qci;
-    current_bearer_p->prio_level             = create_sess_resp_pP->bearer_context_created.bearer_level_qos->pl;
-    current_bearer_p->pre_emp_vulnerability  = create_sess_resp_pP->bearer_context_created.bearer_level_qos->pvi;
-    current_bearer_p->pre_emp_capability     = create_sess_resp_pP->bearer_context_created.bearer_level_qos->pci;
-    MME_APP_DEBUG("%s set qci %u in bearer %u\n",
-                  __FUNCTION__,
-                  current_bearer_p->qci,
-                  ue_context_p->default_bearer_id);
-  } else {
-    // if null, it is not modified
-    //current_bearer_p->qci                    = ue_context_p->pending_pdn_connectivity_req_qos.qci;
-#warning "may force QCI here to 9"
-    current_bearer_p->qci                    = 9;
-    current_bearer_p->prio_level             = 1;
-    current_bearer_p->pre_emp_vulnerability  = 0;
-    current_bearer_p->pre_emp_capability     = 0;
-    MME_APP_DEBUG("%s set qci %u in bearer %u (qos not modified by S/P-GW)\n",
-                  __FUNCTION__,
-                  current_bearer_p->qci,
-                  ue_context_p->default_bearer_id);
-  }
-
-  mme_app_dump_ue_contexts(&mme_app_desc.mme_ue_contexts);
-
-  {
-    //uint8_t *keNB = NULL;
-
-    message_p = itti_alloc_new_message(TASK_MME_APP, NAS_PDN_CONNECTIVITY_RSP);
-    memset((void*)&message_p->ittiMsg.nas_pdn_connectivity_rsp,
-           0,
-           sizeof(nas_pdn_connectivity_rsp_t));
-
-    // moved to NAS_CONNECTION_ESTABLISHMENT_CONF, keNB not handled in NAS MME
-    //derive_keNB(ue_context_p->vector_in_use->kasme, 156, &keNB);
-    //memcpy(NAS_PDN_CONNECTIVITY_RSP(message_p).keNB, keNB, 32);
-
-    //free(keNB);
-
-    NAS_PDN_CONNECTIVITY_RSP(message_p).pti            = ue_context_p->pending_pdn_connectivity_req_pti;   // NAS internal ref
-    NAS_PDN_CONNECTIVITY_RSP(message_p).ue_id          = ue_context_p->pending_pdn_connectivity_req_ue_id; // NAS internal ref
-
-    // TO REWORK:
-    if ((ue_context_p->pending_pdn_connectivity_req_apn.value != NULL)
-        && (ue_context_p->pending_pdn_connectivity_req_apn.length != 0)) {
-      DUP_OCTET_STRING(
-        ue_context_p->pending_pdn_connectivity_req_apn,
-        NAS_PDN_CONNECTIVITY_RSP(message_p).apn);
-      MME_APP_DEBUG("SET APN FROM NAS PDN CONNECTIVITY CREATE: %s\n", NAS_PDN_CONNECTIVITY_RSP(message_p).apn.value);
-    } else {
-      int i;
-      context_identifier_t context_identifier = ue_context_p->apn_profile.context_identifier;
-
-      for (i = 0; i < ue_context_p->apn_profile.nb_apns; i++) {
-        if (ue_context_p->apn_profile.apn_configuration[i].context_identifier == context_identifier) {
-          AssertFatal(ue_context_p->apn_profile.apn_configuration[i].service_selection_length > 0, "Bad APN string (len = 0)");
-
-          if (ue_context_p->apn_profile.apn_configuration[i].service_selection_length > 0) {
-            NAS_PDN_CONNECTIVITY_RSP(message_p).apn.value  = malloc(ue_context_p->apn_profile.apn_configuration[i].service_selection_length + 1);
-            NAS_PDN_CONNECTIVITY_RSP(message_p).apn.length = ue_context_p->apn_profile.apn_configuration[i].service_selection_length;
-            AssertFatal(ue_context_p->apn_profile.apn_configuration[i].service_selection_length <= APN_MAX_LENGTH,
-                        "Bad APN string length %d",
-                        ue_context_p->apn_profile.apn_configuration[i].service_selection_length);
-            memcpy(NAS_PDN_CONNECTIVITY_RSP(message_p).apn.value,
-                   ue_context_p->apn_profile.apn_configuration[i].service_selection,
-                   ue_context_p->apn_profile.apn_configuration[i].service_selection_length);
-            NAS_PDN_CONNECTIVITY_RSP(message_p).apn.value[ue_context_p->apn_profile.apn_configuration[i].service_selection_length] = '\0';
-            MME_APP_DEBUG("SET APN FROM HSS ULA: %s\n", NAS_PDN_CONNECTIVITY_RSP(message_p).apn.value);
-            break;
-          }
-        }
-      }
-    }
-
-    MME_APP_DEBUG("APN: %s\n", NAS_PDN_CONNECTIVITY_RSP(message_p).apn.value);
-
-    switch (create_sess_resp_pP->paa.pdn_type) {
-    case IPv4:
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length = 4;
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value  = malloc(NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length+1);
-      DevAssert(NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value != NULL);
-      memcpy(
-        NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value,
-        create_sess_resp_pP->paa.ipv4_address,
-        NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length);
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value[NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length] = '0';
-      break;
-
-    case IPv6:
-      DevAssert(create_sess_resp_pP->paa.ipv6_prefix_length == 64); // NAS seems to only support 64 bits
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length = create_sess_resp_pP->paa.ipv6_prefix_length/8;
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value  = malloc(NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length+1);
-      DevAssert(NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value != NULL);
-      memcpy(
-        NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value,
-        create_sess_resp_pP->paa.ipv6_address,
-        NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length);
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value[NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length] = '0';
-      break;
-
-    case IPv4_AND_v6:
-      DevAssert(create_sess_resp_pP->paa.ipv6_prefix_length == 64); // NAS seems to only support 64 bits
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length = 4 + create_sess_resp_pP->paa.ipv6_prefix_length/8;
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value  = malloc(NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length+1);
-      DevAssert(NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value != NULL);
-      memcpy(
-        NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value,
-        create_sess_resp_pP->paa.ipv4_address,
-        4);
-      memcpy(
-        &NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value[4],
-        create_sess_resp_pP->paa.ipv6_address,
-        create_sess_resp_pP->paa.ipv6_prefix_length/8);
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value[NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length] = '0';
-      break;
-
-    case IPv4_OR_v6:
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length = 4;
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value  = malloc(NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length+1);
-      DevAssert(NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value != NULL);
-      memcpy(
-        NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value,
-        create_sess_resp_pP->paa.ipv4_address,
-        NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length);
-      NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.value[NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_addr.length] = '0';
-      break;
-
-    default:
-      DevAssert(0);
-    }
-
-    NAS_PDN_CONNECTIVITY_RSP(message_p).pdn_type       = create_sess_resp_pP->paa.pdn_type;
-    NAS_PDN_CONNECTIVITY_RSP(message_p).proc_data      = ue_context_p->pending_pdn_connectivity_req_proc_data;    // NAS internal ref
-    ue_context_p->pending_pdn_connectivity_req_proc_data = NULL;
-
-#warning "QOS hardcoded here"
-    //memcpy(&NAS_PDN_CONNECTIVITY_RSP(message_p).qos,
-    //        &ue_context_p->pending_pdn_connectivity_req_qos,
-    //        sizeof(network_qos_t));
-    NAS_PDN_CONNECTIVITY_RSP(message_p).qos.gbrUL    = 64;  /* 64=64kb/s   Guaranteed Bit Rate for uplink   */
-    NAS_PDN_CONNECTIVITY_RSP(message_p).qos.gbrDL    = 120; /* 120=512kb/s Guaranteed Bit Rate for downlink */
-    NAS_PDN_CONNECTIVITY_RSP(message_p).qos.mbrUL    = 72; /* 72=128kb/s   Maximum Bit Rate for uplink      */
-    NAS_PDN_CONNECTIVITY_RSP(message_p).qos.mbrDL    = 135; /*135=1024kb/s Maximum Bit Rate for downlink    */
-    NAS_PDN_CONNECTIVITY_RSP(message_p).qos.qci      = 9; /* QoS Class Identifier                           */
-
-    NAS_PDN_CONNECTIVITY_RSP(message_p).request_type   = ue_context_p->pending_pdn_connectivity_req_request_type; // NAS internal ref
-    ue_context_p->pending_pdn_connectivity_req_request_type = 0;
-
-    // here at this point OctetString are saved in resp, no loss of memory (apn, pdn_addr)
-
-    NAS_PDN_CONNECTIVITY_RSP(message_p).eNB_ue_s1ap_id = ue_context_p->eNB_ue_s1ap_id;
-    NAS_PDN_CONNECTIVITY_RSP(message_p).mme_ue_s1ap_id = ue_context_p->mme_ue_s1ap_id;
-
-    NAS_PDN_CONNECTIVITY_RSP(message_p).ebi = bearer_id;
-
-    NAS_PDN_CONNECTIVITY_RSP(message_p).qci = current_bearer_p->qci;
-    NAS_PDN_CONNECTIVITY_RSP(message_p).prio_level = current_bearer_p->prio_level;
-    NAS_PDN_CONNECTIVITY_RSP(message_p).pre_emp_vulnerability = current_bearer_p->pre_emp_vulnerability;
-    NAS_PDN_CONNECTIVITY_RSP(message_p).pre_emp_capability = current_bearer_p->pre_emp_capability;
-
-    NAS_PDN_CONNECTIVITY_RSP(message_p).sgw_s1u_teid = current_bearer_p->s_gw_teid;
-    memcpy(&NAS_PDN_CONNECTIVITY_RSP(message_p).sgw_s1u_address,
-           &current_bearer_p->s_gw_address, sizeof(ip_address_t));
-
-    NAS_PDN_CONNECTIVITY_RSP(message_p).ambr.br_ul = ue_context_p->subscribed_ambr.br_ul;
-    NAS_PDN_CONNECTIVITY_RSP(message_p).ambr.br_dl = ue_context_p->subscribed_ambr.br_dl;
-
-
-    memcpy(&NAS_PDN_CONNECTIVITY_RSP(message_p).pco.byte[0],
-           &create_sess_resp_pP->pco.byte[0],
-           create_sess_resp_pP->pco.length);
-    NAS_PDN_CONNECTIVITY_RSP(message_p).pco.length = create_sess_resp_pP->pco.length;
-
-    MSC_LOG_TX_MESSAGE(
-    		MSC_MMEAPP_MME,
-    		MSC_NAS_MME,
-    		NULL,0,
-    		"0 NAS_PDN_CONNECTIVITY_RSP sgw_s1u_teid %u ebi %u qci %u prio %u",
-    		current_bearer_p->s_gw_teid,
-    		bearer_id,
-    		current_bearer_p->qci,
-    		current_bearer_p->prio_level);
-
-    return itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-  }
-  return 0;
-}
-
-
-
-//------------------------------------------------------------------------------
-void
-mme_app_handle_initial_context_setup_rsp(
-  const mme_app_initial_context_setup_rsp_t * const initial_ctxt_setup_rsp_pP)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s *ue_context_p  = NULL;
-  MessageDef          *message_p     = NULL;
-  task_id_t            to_task       = TASK_UNKNOWN;
-
-  MME_APP_DEBUG("Received MME_APP_INITIAL_CONTEXT_SETUP_RSP from S1AP\n");
-
-  ue_context_p = mme_ue_context_exists_mme_ue_s1ap_id(
-                   &mme_app_desc.mme_ue_contexts,
-                   initial_ctxt_setup_rsp_pP->mme_ue_s1ap_id);
-
-
-  if (ue_context_p == NULL) {
-    MME_APP_DEBUG("We didn't find this mme_ue_s1ap_id in list of UE: %08x %d(dec)\n",
-                  initial_ctxt_setup_rsp_pP->mme_ue_s1ap_id,
-                  initial_ctxt_setup_rsp_pP->mme_ue_s1ap_id);
-    MSC_LOG_EVENT(
-    		MSC_MMEAPP_MME,
-    		"MME_APP_INITIAL_CONTEXT_SETUP_RSP Unknown ue %u",initial_ctxt_setup_rsp_pP->mme_ue_s1ap_id);
-    return;
-  }
-
-#if !defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_S11;
-#else
-  to_task = TASK_SPGW_APP;
-#endif
-
-  message_p = itti_alloc_new_message(TASK_MME_APP, SGW_MODIFY_BEARER_REQUEST);
-
-  AssertFatal(message_p != NULL, "itti_alloc_new_message Failed");
-  memset((void*)&message_p->ittiMsg.sgwModifyBearerRequest,
-         0,
-         sizeof(SgwModifyBearerRequest));
-
-  SGW_MODIFY_BEARER_REQUEST(message_p).teid                      = ue_context_p->sgw_s11_teid;
-
-  /* Delay Value in integer multiples of 50 millisecs, or zero */
-  SGW_MODIFY_BEARER_REQUEST(message_p).delay_dl_packet_notif_req = 0; // TO DO
-
-  SGW_MODIFY_BEARER_REQUEST(message_p).bearer_context_to_modify.eps_bearer_id  = initial_ctxt_setup_rsp_pP->eps_bearer_id;
-  memcpy(&SGW_MODIFY_BEARER_REQUEST(message_p).bearer_context_to_modify.s1_eNB_fteid,
-         &initial_ctxt_setup_rsp_pP->bearer_s1u_enb_fteid,
-         sizeof(SGW_MODIFY_BEARER_REQUEST(message_p).bearer_context_to_modify.s1_eNB_fteid));
-
-  SGW_MODIFY_BEARER_REQUEST(message_p).mme_fq_csid.node_id_type  = GLOBAL_UNICAST_IPv4; // TO DO
-  SGW_MODIFY_BEARER_REQUEST(message_p).mme_fq_csid.csid          = 0; // TO DO ...
-  SGW_MODIFY_BEARER_REQUEST(message_p).indication_flags          = 0; // TO DO
-  SGW_MODIFY_BEARER_REQUEST(message_p).rat_type                  = RAT_EUTRAN;
-
-  /* S11 stack specific parameter. Not used in standalone epc mode */
-  SGW_MODIFY_BEARER_REQUEST(message_p).trxn                      = NULL;
-
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		(to_task == TASK_S11) ? MSC_S11_MME:MSC_SP_GWAPP_MME,
-  		NULL,0,
-  		"0 SGW_MODIFY_BEARER_REQUEST teid %u ebi %u",
-  		SGW_MODIFY_BEARER_REQUEST(message_p).teid,
-  		SGW_MODIFY_BEARER_REQUEST(message_p).bearer_context_to_modify.eps_bearer_id);
-
-
-  itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-//------------------------------------------------------------------------------
-void mme_app_handle_release_access_bearers_resp(
-		const SgwReleaseAccessBearersResponse * const rel_access_bearers_rsp_pP)
-//------------------------------------------------------------------------------
-{
-	  MessageDef          *message_p     = NULL;
-	  struct ue_context_s *ue_context_p  = NULL;
-
-	  ue_context_p = mme_ue_context_exists_s11_teid(&mme_app_desc.mme_ue_contexts,
-			  rel_access_bearers_rsp_pP->teid);
-
-
-	  if (ue_context_p == NULL) {
-	    MME_APP_DEBUG("We didn't find this teid in list of UE: %06"PRIX32"\n",
-	    		rel_access_bearers_rsp_pP->teid);
-	    return;
-	  }
-
-	  message_p = itti_alloc_new_message(TASK_MME_APP, S1AP_UE_CONTEXT_RELEASE_COMMAND);
-
-	  AssertFatal(message_p != NULL, "itti_alloc_new_message Failed");
-	  memset((void*)&message_p->ittiMsg.s1ap_ue_context_release_command,
-	         0,
-	         sizeof(s1ap_ue_context_release_command_t));
-
-	  S1AP_UE_CONTEXT_RELEASE_COMMAND(message_p).mme_ue_s1ap_id       = ue_context_p->mme_ue_s1ap_id;
-	  MSC_LOG_TX_MESSAGE(
-	  		MSC_MMEAPP_MME,
-	  		MSC_S1AP_MME,
-	  		NULL,0,
-	  		"0 S1AP_UE_CONTEXT_RELEASE_COMMAND mme_ue_s1ap_id %06"PRIX32" ",
-	  		S1AP_UE_CONTEXT_RELEASE_COMMAND(message_p).mme_ue_s1ap_id);
-
-
-	  itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
-}
-
diff --git a/openair-cn/MME_APP/mme_app_capabilities.c b/openair-cn/MME_APP/mme_app_capabilities.c
deleted file mode 100755
index 83a857ce91fe0a7900225df54a209aa190adaccd..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_capabilities.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file mme_app_capabilities.c
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "intertask_interface.h"
-#include "mme_config.h"
-
-#include "mme_app_extern.h"
-#include "mme_app_ue_context.h"
-#include "mme_app_defs.h"
-
-#include "secu_defs.h"
-
-#include "assertions.h"
-#include "common_types.h"
-
-int
-mme_app_handle_s1ap_ue_capabilities_ind(
-  const s1ap_ue_cap_ind_t  const * s1ap_ue_cap_ind_pP)
-{
-  DevAssert(s1ap_ue_cap_ind_pP != NULL);
-  //unsigned eNB_ue_s1ap_id:24;
-  //uint32_t mme_ue_s1ap_id;
-  //uint8_t  radio_capabilities[100];
-  //uint32_t radio_capabilities_length;
-  return 0;
-}
diff --git a/openair-cn/MME_APP/mme_app_config.c b/openair-cn/MME_APP/mme_app_config.c
deleted file mode 100755
index 2fabb43ab10e8d7a0f01e3a1aa4c37636b5690ba..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_config.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file mme_app_config.c
- * \brief
- * \author Lionel GAUTHIER
- * \version 1.0
- * \company Eurecom
- * \email: lionel.gauthier@eurecom.fr
- */
-#define MME_APP
-#define MME_APP_CONFIG_C
-
-#include <string.h>
-#include <libconfig.h>
-#include "mme_app_config.h"
-
-int mme_app_config_init(char* lib_config_file_name_pP, mme_app_config_t* config_pP)
-{
-
-  config_t          cfg;
-  config_setting_t *setting_sgw                          = NULL;
-  char             *sgw_interface_name_for_S1u_S12_S4_up = NULL;
-  char             *sgw_ipv4_address_for_S1u_S12_S4_up   = NULL;
-  char             *sgw_interface_name_for_S5_S8_up      = NULL;
-  char             *sgw_ipv4_address_for_S5_S8_up        = NULL;
-  char             *sgw_interface_name_for_S11           = NULL;
-  char             *sgw_ipv4_address_for_S11             = NULL;
-
-  config_setting_t *setting_pgw                  = NULL;
-  config_setting_t *subsetting                   = NULL;
-  config_setting_t *sub2setting                  = NULL;
-  char             *pgw_interface_name_for_S5_S8 = NULL;
-  char             *pgw_ipv4_address_for_S5_S8   = NULL;
-  char             *pgw_interface_name_for_SGI   = NULL;
-  char             *pgw_ipv4_address_for_SGI     = NULL;
-
-  char             *delimiters=NULL;
-  char             *saveptr1= NULL;
-  char             *astring = NULL;
-  char             *atoken  = NULL;
-  char             *atoken2 = NULL;
-  char             *address = NULL;
-  char             *cidr    = NULL;
-  char             *mask    = NULL;
-  int               num     = 0;
-  int               i       = 0;
-  int               jh, jn;
-  unsigned char     buf_in6_addr[sizeof(struct in6_addr)];
-  struct in6_addr   addr6_start;
-  struct in6_addr   addr6_mask;
-  int               prefix_mask;
-  uint64_t          counter64;
-  unsigned char     buf_in_addr[sizeof(struct in_addr)];
-  struct in_addr    addr_start;
-  struct in_addr    addr_end;
-
-
-  memset((char*)config_pP, 0 , sizeof(mme_app_config_t));
-
-  config_init(&cfg);
-
-  if(lib_config_file_name_pP != NULL) {
-    /* Read the file. If there is an error, report it and exit. */
-    if(! config_read_file(&cfg, lib_config_file_name_pP)) {
-      MME_APP_ERROR("%s:%d - %s\n", lib_config_file_name_pP, config_error_line(&cfg), config_error_text(&cfg));
-      config_destroy(&cfg);
-      AssertFatal (1 == 0, "Failed to parse eNB configuration file %s!\n", lib_config_file_name_pP);
-    }
-  } else {
-    SPGW_APP_ERROR("No SP-GW configuration file provided!\n");
-    config_destroy(&cfg);
-    AssertFatal (0, "No SP-GW configuration file provided!\n");
-  }
-
-  setting_sgw = config_lookup(&cfg, SGW_CONFIG_STRING_SGW_CONFIG);
-
-  if(setting_sgw != NULL) {
-    subsetting = config_setting_get_member (setting_sgw, SGW_CONFIG_STRING_NETWORK_INTERFACES_CONFIG);
-
-    if(subsetting != NULL) {
-      if(  (
-             config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP, (const char **)&sgw_interface_name_for_S1u_S12_S4_up)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP,   (const char **)&sgw_ipv4_address_for_S1u_S12_S4_up)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_INTERFACE_NAME_FOR_S5_S8_UP,      (const char **)&sgw_interface_name_for_S5_S8_up)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_IPV4_ADDRESS_FOR_S5_S8_UP,        (const char **)&sgw_ipv4_address_for_S5_S8_up)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_INTERFACE_NAME_FOR_S11,           (const char **)&sgw_interface_name_for_S11)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_IPV4_ADDRESS_FOR_S11,             (const char **)&sgw_ipv4_address_for_S11)
-           )
-        ) {
-        config_pP->sgw_config.ipv4.sgw_interface_name_for_S1u_S12_S4_up = strdup(sgw_interface_name_for_S1u_S12_S4_up);
-        cidr = strdup(sgw_ipv4_address_for_S1u_S12_S4_up);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR S1u_S12_S4 !\n" )
-        config_pP->sgw_config.ipv4.sgw_ip_netmask_for_S1u_S12_S4_up = atoi(mask);
-        free(cidr);
-
-        config_pP->sgw_config.ipv4.sgw_interface_name_for_S5_S8_up = strdup(sgw_interface_name_for_S5_S8_up);
-        cidr = strdup(sgw_ipv4_address_for_S5_S8_up);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S5_S8_up, "BAD IP ADDRESS FORMAT FOR S5_S8 !\n" )
-        config_pP->sgw_config.ipv4.sgw_ip_netmask_for_S5_S8_up = atoi(mask);
-        free(cidr);
-
-        config_pP->sgw_config.ipv4.sgw_interface_name_for_S11 = strdup(sgw_interface_name_for_S11);
-        cidr = strdup(sgw_ipv4_address_for_S11);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S11, "BAD IP ADDRESS FORMAT FOR S11 !\n" )
-        config_pP->sgw_config.ipv4.sgw_ip_netmask_for_S11 = atoi(mask);
-        free(cidr);
-      }
-    }
-  }
-
-  setting_pgw = config_lookup(&cfg, PGW_CONFIG_STRING_PGW_CONFIG);
-
-  if(setting_pgw != NULL) {
-    subsetting = config_setting_get_member (setting_pgw, SGW_CONFIG_STRING_NETWORK_INTERFACES_CONFIG);
-
-    if(subsetting != NULL) {
-      if(  (
-             config_setting_lookup_string(subsetting,
-                                          PGW_CONFIG_STRING_PGW_INTERFACE_NAME_FOR_S5_S8,
-                                          (const char **)&pgw_interface_name_for_S5_S8)
-             && config_setting_lookup_string(subsetting,
-                                             PGW_CONFIG_STRING_PGW_IPV4_ADDRESS_FOR_S5_S8,
-                                             (const char **)&pgw_ipv4_address_for_S5_S8)
-             && config_setting_lookup_string(subsetting,
-                                             PGW_CONFIG_STRING_PGW_INTERFACE_NAME_FOR_SGI,
-                                             (const char **)&pgw_interface_name_for_SGI)
-             && config_setting_lookup_string(subsetting,
-                                             PGW_CONFIG_STRING_PGW_IPV4_ADDR_FOR_SGI,
-                                             (const char **)&pgw_ipv4_address_for_SGI)
-           )
-        ) {
-        config_pP->pgw_config.ipv4.pgw_interface_name_for_S5_S8 = strdup(pgw_interface_name_for_S5_S8);
-        cidr = strdup(pgw_ipv4_address_for_S5_S8);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->pgw_config.ipv4.pgw_ipv4_address_for_S5_S8, "BAD IP ADDRESS FORMAT FOR S5_S8 !\n" )
-        config_pP->pgw_config.ipv4.pgw_ip_netmask_for_S5_S8 = atoi(mask);
-        free(cidr);
-
-        config_pP->pgw_config.ipv4.pgw_interface_name_for_SGI = strdup(pgw_interface_name_for_SGI);
-        cidr = strdup(pgw_ipv4_address_for_SGI);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->pgw_config.ipv4.pgw_ipv4_address_for_SGI, "BAD IP ADDRESS FORMAT FOR SGI !\n" )
-        config_pP->pgw_config.ipv4.pgw_ip_netmask_for_SGI = atoi(mask);
-        free(cidr);
-      }
-    }
-
-    subsetting = config_setting_get_member (setting_pgw, PGW_CONFIG_STRING_IP_ADDRESS_POOL);
-
-    if(subsetting != NULL) {
-      sub2setting = config_setting_get_member (subsetting, PGW_CONFIG_STRING_IPV4_ADDRESS_LIST);
-
-      if(sub2setting != NULL) {
-        num     = config_setting_length(sub2setting);
-
-        for (i = 0; i < num; i++) {
-          astring = config_setting_get_string_elem(sub2setting,i);
-
-          if (astring != NULL) {
-            trim(astring, strlen(astring)+1);
-
-            if (inet_pton(AF_INET, astring, buf_in_addr) < 1) {
-              // failure, test if there is a range specified in the string
-              atoken = strtok(astring, PGW_CONFIG_STRING_IP_ADDRESS_RANGE_DELIMITERS);
-
-              if (inet_pton(AF_INET, astring, buf_in_addr) == 1) {
-                memcpy (&addr_start, buf_in_addr, sizeof(struct in_addr));
-                // valid address
-                atoken2 = strtok(NULL, PGW_CONFIG_STRING_IP_ADDRESS_RANGE_DELIMITERS);
-
-                if (inet_pton(AF_INET, atoken2, buf_in_addr) == 1) {
-                  memcpy (&addr_end, buf_in_addr, sizeof(struct in_addr));
-
-                  // valid address
-                  for (jh = ntohl(addr_start.s_addr); jh <= ntohl(addr_end.s_addr); jh++) {
-                    DevAssert(PGW_MAX_ALLOCATED_PDN_ADDRESSES > config_pP->pgw_config.pool_pdn_addresses.num_ipv4_addresses);
-                    jn = htonl(jh);
-
-                    if (IN_CLASSA(addr_start.s_addr)) {
-                      if ((jh & 0xFF) && (jh & 0xFF) != 0xFF) {
-                        config_pP->pgw_config.pool_pdn_addresses.ipv4_addresses[config_pP->pgw_config.pool_pdn_addresses.num_ipv4_addresses++].s_addr = jn;
-                      }
-                    } else if (IN_CLASSB(addr_start.s_addr)) {
-                      if ((jh & 0xFF) && (jh & 0xFF) != 0xFF) {
-                        config_pP->pgw_config.pool_pdn_addresses.ipv4_addresses[config_pP->pgw_config.pool_pdn_addresses.num_ipv4_addresses++].s_addr = jn;
-                      }
-                    } else if (IN_CLASSC(addr_start.s_addr)) {
-                      if ((jh & 0xFF) && (jh & 0xFF) != 0xFF) {
-                        config_pP->pgw_config.pool_pdn_addresses.ipv4_addresses[config_pP->pgw_config.pool_pdn_addresses.num_ipv4_addresses++].s_addr = jn;
-                      }
-                    } else {
-                      printf("ERROR ON ADDRESS CLASS %d.%d.%d.%d\n", NIPADDR(jn));
-                    }
-                  }
-                }
-              }
-            } else {
-              DevAssert(PGW_MAX_ALLOCATED_PDN_ADDRESSES > config_pP->pgw_config.pool_pdn_addresses.num_ipv4_addresses);
-              memcpy (&addr_start, buf_in_addr, sizeof(struct in_addr));
-              config_pP->pgw_config.pool_pdn_addresses.ipv4_addresses[config_pP->pgw_config.pool_pdn_addresses.num_ipv4_addresses++].s_addr = addr_start.s_addr;
-            }
-          }
-        }
-      }
-
-      sub2setting = config_setting_get_member (subsetting, PGW_CONFIG_STRING_IPV6_ADDRESS_LIST);
-
-      if(sub2setting != NULL) {
-        num     = config_setting_length(sub2setting);
-
-        for (i = 0; i < num; i++) {
-          astring = config_setting_get_string_elem(sub2setting,i);
-
-          if (astring != NULL) {
-            trim(astring, strlen(astring)+1);
-
-            if (inet_pton(AF_INET6, astring, buf_in6_addr) < 1) {
-              // failure, test if there is a range specified in the string
-              atoken = strtok(astring, PGW_CONFIG_STRING_IPV6_PREFIX_DELIMITER);
-
-              if (inet_pton(AF_INET6, astring, buf_in6_addr) == 1) {
-                atoken2 = strtok(NULL, PGW_CONFIG_STRING_IPV6_PREFIX_DELIMITER);
-                prefix_mask = atoi(atoken2);
-                // arbitrary values
-                DevAssert((prefix_mask < 128) && (prefix_mask >= 64));
-
-                memcpy (&addr6_start, buf_in6_addr, sizeof(struct in6_addr));
-                memcpy (&addr6_mask,  buf_in6_addr, sizeof(struct in6_addr));
-                sgw_ipv6_mask_in6_addr(&addr6_mask, prefix_mask);
-
-                if (memcmp(&addr6_start, &addr6_mask, sizeof(struct in6_addr)) != 0) {
-                  AssertFatal(0, "BAD IPV6 ADDR CONFIG/MASK PAIRING %s/%d\n", astring, prefix_mask);
-                }
-
-                counter64 = 0xFFFFFFFFFFFFFFFF >> prefix_mask; // address Prefix_mask/0..0 not valid
-
-                do {
-                  addr6_start.s6_addr32[3] = addr6_start.s6_addr32[3] + htonl(1);
-
-                  if (addr6_start.s6_addr32[3] == 0) {
-                    addr6_start.s6_addr32[2] = addr6_start.s6_addr32[2] + htonl(1);
-
-                    if (addr6_start.s6_addr32[2] == 0) {
-                      // should not happen since mask is no less than 64
-                      addr6_start.s6_addr32[1] = addr6_start.s6_addr32[1] + htonl(1);
-
-                      if (addr6_start.s6_addr32[1] == 0) {
-                        addr6_start.s6_addr32[0] = addr6_start.s6_addr32[0] + htonl(1);
-                      }
-                    }
-                  }
-
-                  memcpy (&config_pP->pgw_config.pool_pdn_addresses.ipv6_addresses[config_pP->pgw_config.pool_pdn_addresses.num_ipv6_addresses++],
-                          &addr6_start,
-                          sizeof(struct in6_addr));
-                  counter64 = counter64 - 1;
-                } while (counter64 > 0);
-              }
-            } else {
-              DevAssert(PGW_MAX_ALLOCATED_PDN_ADDRESSES > config_pP->pgw_config.pool_pdn_addresses.num_ipv6_addresses);
-              memcpy (&config_pP->pgw_config.pool_pdn_addresses.ipv6_addresses[config_pP->pgw_config.pool_pdn_addresses.num_ipv6_addresses++],
-                      buf_in6_addr,
-                      sizeof(struct in6_addr));
-            }
-          }
-        }
-      }
-    }
-  }
-
-  return 0;
-}
diff --git a/openair-cn/MME_APP/mme_app_config.h b/openair-cn/MME_APP/mme_app_config.h
deleted file mode 100755
index 047678d60da222b11f07bd9f807dc0a047934473..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file mme_app_config.h
- * \brief
- * \author Lionel GAUTHIER
- * \version 1.0
- * \company Eurecom
- * \email: lionel.gauthier@eurecom.fr
- */
-#ifndef MME_APP_CONFIG_H_
-#define MME_APP_CONFIG_H_
-
-
-#endif /* MME_APP_CONFIG_H_ */
diff --git a/openair-cn/MME_APP/mme_app_context.c b/openair-cn/MME_APP/mme_app_context.c
deleted file mode 100644
index f7ca54f8da3993556355c08435eaf311f9dcf356..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_context.c
+++ /dev/null
@@ -1,555 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-#include <pthread.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <stdint.h>
-#include <inttypes.h>
-
-#include <arpa/inet.h>
-
-#include "intertask_interface.h"
-#include "mme_config.h"
-
-#include "assertions.h"
-#include "conversions.h"
-#include "tree.h"
-#include "enum_string.h"
-#include "common_types.h"
-
-#include "mme_app_extern.h"
-#include "mme_app_ue_context.h"
-#include "mme_app_defs.h"
-#include "msc.h"
-
-int ue_context_compare_identifiers(struct ue_context_s *p1,
-                                   struct ue_context_s *p2);
-
-RB_PROTOTYPE(ue_context_map, ue_context_s, rb_entry,
-             ue_context_compare_identifiers);
-
-RB_GENERATE(ue_context_map, ue_context_s, rb_entry,
-            ue_context_compare_identifiers);
-
-//------------------------------------------------------------------------------
-extern inline int ue_context_compare_identifiers(
-  struct ue_context_s *p1, struct ue_context_s *p2)
-//------------------------------------------------------------------------------
-{
-  MME_APP_DEBUG(" ue_context_compare_identifiers IMSI           %"SCNu64"\n", p1->imsi);
-  MME_APP_DEBUG(" ue_context_compare_identifiers mme_s11_teid   %08x\n"       , p1->mme_s11_teid);
-  MME_APP_DEBUG(" ue_context_compare_identifiers mme_ue_s1ap_id %08x\n"       , p1->mme_ue_s1ap_id);
-  MME_APP_DEBUG(" ue_context_compare_identifiers ue_id          %08x\n"       , p1->ue_id);
-
-  if (p1->imsi > 0) {
-    MME_APP_DEBUG(" with IMSI          %"SCNu64"\n", p2->imsi);
-
-    /* if IMSI provided */
-    if (p1->imsi > p2->imsi) {
-      return 1;
-    }
-
-    if (p1->imsi < p2->imsi) {
-      return -1;
-    }
-  } else if (p1->mme_s11_teid > 0) {
-    MME_APP_DEBUG(" with mme_s11_teid          %08x\n", p2->mme_s11_teid);
-
-    /* if s11 teid provided */
-    if (p1->mme_s11_teid > p2->mme_s11_teid) {
-      return 1;
-    }
-
-    if (p1->mme_s11_teid < p2->mme_s11_teid) {
-      return -1;
-    }
-  } else if (p1->mme_ue_s1ap_id > 0) {
-    MME_APP_DEBUG(" with mme_ue_s1ap_id          %08x\n", p2->mme_ue_s1ap_id);
-
-    /* if s1ap ue id provided */
-    if (p1->mme_ue_s1ap_id > p2->mme_ue_s1ap_id) {
-      return 1;
-    }
-
-    if (p1->mme_ue_s1ap_id < p2->mme_ue_s1ap_id) {
-      return -1;
-    }
-  }  else if (p1->ue_id > 0) {
-    MME_APP_DEBUG(" with ue_id          %08x\n", p2->ue_id);
-
-    /* if nas ue_id provided */
-    if (p1->ue_id > p2->ue_id) {
-      return 1;
-    }
-
-    if (p1->ue_id < p2->ue_id) {
-      return -1;
-    }
-  } else {
-    uint16_t mcc1;
-    uint16_t mnc1;
-    uint16_t mnc1_len;
-    uint16_t mcc2;
-    uint16_t mnc2;
-    uint16_t mnc2_len;
-
-    PLMN_T_TO_MCC_MNC(p1->guti.gummei.plmn, mcc1, mnc1, mnc1_len);
-    PLMN_T_TO_MCC_MNC(p1->guti.gummei.plmn, mcc2, mnc2, mnc2_len);
-
-    /* else compare by GUTI */
-    if ((p1->guti.m_tmsi < p2->guti.m_tmsi) &&
-        (p1->guti.gummei.MMEcode < p2->guti.gummei.MMEcode) &&
-        (p1->guti.gummei.MMEgid < p2->guti.gummei.MMEgid) &&
-        (mcc1 < mcc2) &&
-        (mnc1 < mnc2) &&
-        (mnc1_len < mnc2_len))
-      return 1;
-
-    if ((p1->guti.m_tmsi > p2->guti.m_tmsi) &&
-        (p1->guti.gummei.MMEcode > p2->guti.gummei.MMEcode) &&
-        (p1->guti.gummei.MMEgid > p2->guti.gummei.MMEgid) &&
-        (mcc1 > mcc2) &&
-        (mnc1 > mnc2) &&
-        (mnc1_len > mnc2_len))
-      return -1;
-  }
-
-  /* Match -> return 0 */
-  return 0;
-}
-
-//------------------------------------------------------------------------------
-ue_context_t *mme_create_new_ue_context(void)
-//------------------------------------------------------------------------------
-{
-  ue_context_t *new_p;
-
-  new_p = malloc(sizeof(ue_context_t));
-
-  if (new_p == NULL) {
-    return NULL;
-  }
-
-  memset(new_p, 0, sizeof(ue_context_t));
-  return new_p;
-}
-
-
-//------------------------------------------------------------------------------
-struct ue_context_s *mme_ue_context_exists_imsi(mme_ue_context_t *mme_ue_context,
-    mme_app_imsi_t imsi)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s  reference;
-
-  DevAssert(mme_ue_context != NULL);
-
-  memset(&reference, 0, sizeof(struct ue_context_s));
-  reference.imsi = imsi;
-  return RB_FIND(ue_context_map, &mme_ue_context->ue_context_tree,
-                 &reference);
-}
-
-
-//------------------------------------------------------------------------------
-struct ue_context_s *mme_ue_context_exists_s11_teid(mme_ue_context_t *mme_ue_context,
-    uint32_t teid)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s  reference;
-
-  DevAssert(mme_ue_context != NULL);
-
-  memset(&reference, 0, sizeof(struct ue_context_s));
-  reference.mme_s11_teid = teid;
-  return RB_FIND(ue_context_map, &mme_ue_context->ue_context_tree,
-                 &reference);
-}
-
-
-
-//------------------------------------------------------------------------------
-ue_context_t *mme_ue_context_exists_mme_ue_s1ap_id(
-  mme_ue_context_t *mme_ue_context,
-  uint32_t mme_ue_s1ap_id)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s  reference;
-
-  DevAssert(mme_ue_context != NULL);
-
-  memset(&reference, 0, sizeof(struct ue_context_s));
-  reference.mme_ue_s1ap_id = mme_ue_s1ap_id;
-  return RB_FIND(ue_context_map, &mme_ue_context->ue_context_tree,
-                 &reference);
-}
-
-
-
-//------------------------------------------------------------------------------
-ue_context_t *mme_ue_context_exists_nas_ue_id(
-  mme_ue_context_t *mme_ue_context,
-  uint32_t nas_ue_id)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s  reference;
-
-  DevAssert(mme_ue_context != NULL);
-
-  memset(&reference, 0, sizeof(struct ue_context_s));
-  reference.ue_id = nas_ue_id;
-  return RB_FIND(ue_context_map, &mme_ue_context->ue_context_tree,
-                 &reference);
-}
-
-
-
-
-//------------------------------------------------------------------------------
-ue_context_t *mme_ue_context_exists_guti(mme_ue_context_t *mme_ue_context,
-    GUTI_t guti)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s  reference;
-
-  DevAssert(mme_ue_context != NULL);
-
-  memset(&reference, 0, sizeof(struct ue_context_s));
-
-  memcpy(&reference.guti, &guti, sizeof(GUTI_t));
-
-  return RB_FIND(ue_context_map, &mme_ue_context->ue_context_tree,
-                 &reference);
-}
-
-//------------------------------------------------------------------------------
-int mme_insert_ue_context(mme_ue_context_t *mme_ue_context, struct ue_context_s *ue_context_p)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s *collision_p = NULL;
-
-  DevAssert(mme_ue_context != NULL);
-  DevAssert(ue_context_p != NULL);
-
-  /* Updating statistics */
-  mme_ue_context->nb_ue_managed++;
-  mme_ue_context->nb_ue_since_last_stat++;
-
-  collision_p = RB_INSERT(ue_context_map, &mme_ue_context->ue_context_tree,
-                          ue_context_p);
-
-  if (collision_p != NULL) {
-    fprintf(stderr, "This ue context already exists...\n");
-    return -1;
-  }
-
-  return 0;
-}
-
-
-
-//------------------------------------------------------------------------------
-void mme_remove_ue_context(mme_ue_context_t *mme_ue_context, struct ue_context_s *ue_context_p)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s *collision_p = NULL;
-
-  DevAssert(mme_ue_context != NULL);
-  DevAssert(ue_context_p != NULL);
-
-  /* Updating statistics */
-  mme_ue_context->nb_ue_managed++;
-  mme_ue_context->nb_ue_since_last_stat++;
-
-  collision_p = RB_REMOVE(ue_context_map, &mme_ue_context->ue_context_tree,
-                          ue_context_p);
-#warning "TODO mme_ue_context_free_content"
-  //TODO mme_ue_context_free_content(ue_context_p);
-  free(ue_context_p);
-  return 0;
-}
-
-//------------------------------------------------------------------------------
-void mme_app_dump_ue_contexts(mme_ue_context_t *mme_ue_context)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s *context_p;
-
-  MME_APP_DEBUG("-----------------------UE contexts-----------------------\n");
-  RB_FOREACH(context_p, ue_context_map, &mme_ue_context->ue_context_tree) {
-    uint8_t j;
-
-    MME_APP_DEBUG("    - IMSI ...........: %"SCNu64"\n", context_p->imsi);
-    MME_APP_DEBUG("                        |  m_tmsi  | mmec | mmegid | mcc | mnc |\n");
-    MME_APP_DEBUG("    - GUTI............: | %08x |  %02x  |  %04x  | %03u | %03u |\n",
-                  context_p->guti.m_tmsi, context_p->guti.gummei.MMEcode,
-                  context_p->guti.gummei.MMEgid,
-                  /* TODO check if two or three digits MNC... */
-                  context_p->guti.gummei.plmn.MCCdigit3 * 100 +
-                  context_p->guti.gummei.plmn.MCCdigit2 * 10 +
-                  context_p->guti.gummei.plmn.MCCdigit1,
-                  context_p->guti.gummei.plmn.MNCdigit3 * 100 +
-                  context_p->guti.gummei.plmn.MNCdigit2 * 10 +
-                  context_p->guti.gummei.plmn.MNCdigit1);
-    MME_APP_DEBUG("    - Authenticated ..: %s\n",
-                  (context_p->imsi_auth == IMSI_UNAUTHENTICATED) ? "FALSE": "TRUE");
-    MME_APP_DEBUG("    - eNB UE s1ap ID .: %08x\n", context_p->eNB_ue_s1ap_id);
-    MME_APP_DEBUG("    - MME UE s1ap ID .: %08x\n", context_p->mme_ue_s1ap_id);
-    MME_APP_DEBUG("    - MME S11 TEID ...: %08x\n", context_p->mme_s11_teid);
-    MME_APP_DEBUG("    - SGW S11 TEID ...: %08x\n", context_p->sgw_s11_teid);
-    MME_APP_DEBUG("                        | mcc | mnc | cell id  |\n");
-    MME_APP_DEBUG("    - E-UTRAN CGI ....: | %03u | %03u | %08x |\n",
-                  context_p->e_utran_cgi.plmn.MCCdigit3 * 100 +
-                  context_p->e_utran_cgi.plmn.MCCdigit2 * 10 +
-                  context_p->e_utran_cgi.plmn.MCCdigit1,
-                  context_p->e_utran_cgi.plmn.MNCdigit3 * 100 +
-                  context_p->e_utran_cgi.plmn.MNCdigit2 * 10 +
-                  context_p->e_utran_cgi.plmn.MNCdigit1,
-                  context_p->e_utran_cgi.cell_identity);
-    /* Ctime return a \n in the string */
-    MME_APP_DEBUG("    - Last acquired ..: %s", ctime(&context_p->cell_age));
-
-    /* Display UE info only if we know them */
-    if (context_p->subscription_known == SUBSCRIPTION_KNOWN) {
-      MME_APP_DEBUG("    - Status .........: %s\n",
-                    (context_p->sub_status == SS_SERVICE_GRANTED) ? "Granted" : "Barred");
-#define DISPLAY_BIT_MASK_PRESENT(mASK)   \
-            ((context_p->access_restriction_data & mASK) ? 'X' : 'O')
-      MME_APP_DEBUG("    (O = allowed, X = !O) |UTRAN|GERAN|GAN|HSDPA EVO|E_UTRAN|HO TO NO 3GPP|\n");
-      MME_APP_DEBUG("    - Access restriction  |  %c  |  %c  | %c |    %c    |   %c   |      %c      |\n",
-                    DISPLAY_BIT_MASK_PRESENT(ARD_UTRAN_NOT_ALLOWED),
-                    DISPLAY_BIT_MASK_PRESENT(ARD_GERAN_NOT_ALLOWED),
-                    DISPLAY_BIT_MASK_PRESENT(ARD_GAN_NOT_ALLOWED),
-                    DISPLAY_BIT_MASK_PRESENT(ARD_I_HSDPA_EVO_NOT_ALLOWED),
-                    DISPLAY_BIT_MASK_PRESENT(ARD_E_UTRAN_NOT_ALLOWED),
-                    DISPLAY_BIT_MASK_PRESENT(ARD_HO_TO_NON_3GPP_NOT_ALLOWED));
-      MME_APP_DEBUG("    - Access Mode ....: %s\n",
-                    ACCESS_MODE_TO_STRING(context_p->access_mode));
-      MME_APP_DEBUG("    - MSISDN .........: %-*s\n",
-                    MSISDN_LENGTH, context_p->msisdn);
-      MME_APP_DEBUG("    - RAU/TAU timer ..: %u\n", context_p->rau_tau_timer);
-      MME_APP_DEBUG("    - IMEISV .........: %*s\n", 15,
-                    context_p->me_identity.imeisv);
-      MME_APP_DEBUG("    - AMBR (bits/s)     ( Downlink |  Uplink  )\n");
-      MME_APP_DEBUG("        Subscribed ...: (%010"PRIu64"|%010"PRIu64")\n",
-                    context_p->subscribed_ambr.br_dl,
-                    context_p->subscribed_ambr.br_ul);
-      MME_APP_DEBUG("        Allocated ....: (%010"PRIu64"|%010"PRIu64")\n",
-                    context_p->used_ambr.br_dl, context_p->used_ambr.br_ul);
-      MME_APP_DEBUG("    - Known vectors ..: %u\n", context_p->nb_of_vectors);
-
-      for (j = 0; j < context_p->nb_of_vectors; j++) {
-        int k;
-        char xres_string[3 * XRES_LENGTH_MAX + 1];
-        eutran_vector_t *vector_p;
-
-        vector_p = &context_p->vector_list[j];
-
-        MME_APP_DEBUG("        - RAND ..: "RAND_FORMAT"\n",
-                      RAND_DISPLAY(vector_p->rand));
-        MME_APP_DEBUG("        - AUTN ..: "AUTN_FORMAT"\n",
-                      AUTN_DISPLAY(vector_p->autn));
-        MME_APP_DEBUG("        - KASME .: "KASME_FORMAT"\n",
-                      KASME_DISPLAY_1(vector_p->kasme));
-        MME_APP_DEBUG("                   "KASME_FORMAT"\n",
-                      KASME_DISPLAY_2(vector_p->kasme));
-
-        for (k = 0; k < vector_p->xres.size; k++) {
-          sprintf(&xres_string[k * 3], "%02x,", vector_p->xres.data[k]);
-        }
-
-        xres_string[k * 3 - 1] = '\0';
-        MME_APP_DEBUG("        - XRES ..: %s\n", xres_string);
-      }
-
-      MME_APP_DEBUG("    - PDN List:\n");
-
-      for (j = 0; j < context_p->apn_profile.nb_apns; j++) {
-        struct apn_configuration_s *apn_config_p;
-
-        apn_config_p = &context_p->apn_profile.apn_configuration[j];
-
-        /* Default APN ? */
-        MME_APP_DEBUG("        - Default APN ...: %s\n",
-                      (apn_config_p->context_identifier == context_p->apn_profile.context_identifier)
-                      ? "TRUE" : "FALSE");
-        MME_APP_DEBUG("        - APN ...........: %s\n", apn_config_p->service_selection);
-        MME_APP_DEBUG("        - AMBR (bits/s) ( Downlink |  Uplink  )\n");
-        MME_APP_DEBUG("                        (%010"PRIu64"|%010"PRIu64")\n",
-                      apn_config_p->ambr.br_dl, apn_config_p->ambr.br_ul);
-        MME_APP_DEBUG("        - PDN type ......: %s\n",
-                      PDN_TYPE_TO_STRING(apn_config_p->pdn_type));
-        MME_APP_DEBUG("        - QOS\n");
-        MME_APP_DEBUG("            QCI .........: %u\n",
-                      apn_config_p->subscribed_qos.qci);
-        MME_APP_DEBUG("            Prio level ..: %u\n",
-                      apn_config_p->subscribed_qos.allocation_retention_priority.priority_level);
-        MME_APP_DEBUG("            Pre-emp vul .: %s\n",
-                      (apn_config_p->subscribed_qos.allocation_retention_priority.pre_emp_vulnerability
-                       == PRE_EMPTION_VULNERABILITY_ENABLED) ? "ENABLED" : "DISABLED");
-        MME_APP_DEBUG("            Pre-emp cap .: %s\n",
-                      (apn_config_p->subscribed_qos.allocation_retention_priority.pre_emp_capability
-                       == PRE_EMPTION_CAPABILITY_ENABLED) ? "ENABLED" : "DISABLED");
-
-        if (apn_config_p->nb_ip_address == 0) {
-          MME_APP_DEBUG("            IP addr .....: Dynamic allocation\n");
-        } else {
-          int i;
-          MME_APP_DEBUG("            IP addresses :\n");
-
-          for (i = 0; i < apn_config_p->nb_ip_address; i++) {
-            if (apn_config_p->ip_address[i].pdn_type == IPv4) {
-              MME_APP_DEBUG("                           ["IPV4_ADDR"]\n",
-                            IPV4_ADDR_DISPLAY_8(apn_config_p->ip_address[i].address.ipv4_address));
-            } else {
-              char ipv6[40];
-              inet_ntop(AF_INET6, apn_config_p->ip_address[i].address.ipv6_address,ipv6, 40);
-              MME_APP_DEBUG("                           [%s]\n",  ipv6);
-            }
-          }
-        }
-
-        MME_APP_DEBUG("\n");
-      }
-
-      MME_APP_DEBUG("    - Bearer List:\n");
-
-      for (j = 0; j < BEARERS_PER_UE; j++) {
-        bearer_context_t *bearer_context_p;
-
-        bearer_context_p = &context_p->eps_bearers[j];
-
-        if (bearer_context_p->s_gw_teid != 0) {
-          MME_APP_DEBUG("        Bearer id .......: %02u\n", j);
-          MME_APP_DEBUG("        S-GW TEID (UP)...: %08x\n", bearer_context_p->s_gw_teid);
-          MME_APP_DEBUG("        P-GW TEID (UP)...: %08x\n", bearer_context_p->p_gw_teid);
-          MME_APP_DEBUG("        QCI .............: %u\n",
-                        bearer_context_p->qci);
-          MME_APP_DEBUG("        Priority level ..: %u\n",
-                        bearer_context_p->prio_level);
-          MME_APP_DEBUG("        Pre-emp vul .....: %s\n",
-                        (bearer_context_p->pre_emp_vulnerability
-                         == PRE_EMPTION_VULNERABILITY_ENABLED) ? "ENABLED" : "DISABLED");
-          MME_APP_DEBUG("        Pre-emp cap .....: %s\n",
-                        (bearer_context_p->pre_emp_capability
-                         == PRE_EMPTION_CAPABILITY_ENABLED) ? "ENABLED" : "DISABLED");
-        }
-      }
-    }
-  }
-  MME_APP_DEBUG("---------------------------------------------------------\n");
-}
-
-
-//------------------------------------------------------------------------------
-void mme_app_handle_s1ap_ue_context_release_req(const s1ap_ue_context_release_req_t const *s1ap_ue_context_release_req)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s           *ue_context_p = NULL;
-  MessageDef                    *message_p    = NULL;
-
-  MME_APP_DEBUG("Received S1AP_UE_CONTEXT_RELEASE_REQ from S1AP\n");
-  ue_context_p = mme_ue_context_exists_nas_ue_id(&mme_app_desc.mme_ue_contexts, s1ap_ue_context_release_req->mme_ue_s1ap_id);
-
-  if (ue_context_p == NULL) {
-	MSC_LOG_EVENT(
-   		MSC_MMEAPP_MME,
-   		"0 S1AP_UE_CONTEXT_RELEASE_REQ Unknown mme_ue_s1ap_id 0x%06"PRIX32" ",s1ap_ue_context_release_req->mme_ue_s1ap_id);
-    MME_APP_ERROR("UE context doesn't exist for UE 0x%06"PRIX32"/dec%u\n",
-    		s1ap_ue_context_release_req->mme_ue_s1ap_id,
-    		s1ap_ue_context_release_req->mme_ue_s1ap_id);
-    return;
-  }
-  if ((ue_context_p->mme_s11_teid == 0) &&
-	  (ue_context_p->sgw_s11_teid == 0)) {
-	  // no session was created, no need for releasing bearers in SGW
-	  message_p = itti_alloc_new_message(TASK_MME_APP, S1AP_UE_CONTEXT_RELEASE_COMMAND);
-
-	  AssertFatal(message_p != NULL, "itti_alloc_new_message Failed");
-	  memset((void*)&message_p->ittiMsg.s1ap_ue_context_release_command,
-	         0,
-	         sizeof(s1ap_ue_context_release_command_t));
-
-	  S1AP_UE_CONTEXT_RELEASE_COMMAND(message_p).mme_ue_s1ap_id       = ue_context_p->mme_ue_s1ap_id;
-	  MSC_LOG_TX_MESSAGE(
-	  		MSC_MMEAPP_MME,
-	  		MSC_S1AP_MME,
-	  		NULL,0,
-	  		"0 S1AP_UE_CONTEXT_RELEASE_COMMAND mme_ue_s1ap_id %06"PRIX32" ",
-	  		S1AP_UE_CONTEXT_RELEASE_COMMAND(message_p).mme_ue_s1ap_id);
-
-
-	  itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
-  } else {
-    mme_app_send_s11_release_access_bearers_req(ue_context_p);
-  }
-}
-
-
-//------------------------------------------------------------------------------
-void mme_app_handle_s1ap_ue_context_release_complete(const s1ap_ue_context_release_complete_t const *s1ap_ue_context_release_complete)
-//------------------------------------------------------------------------------
-{
-  struct ue_context_s     *ue_context_p  = NULL;
-  MessageDef              *message_p     = NULL;
-
-  MME_APP_DEBUG("Received S1AP_UE_CONTEXT_RELEASE_COMPLETE from S1AP\n");
-
-  ue_context_p = mme_ue_context_exists_nas_ue_id(&mme_app_desc.mme_ue_contexts, s1ap_ue_context_release_complete->mme_ue_s1ap_id);
-
-  if (ue_context_p == NULL) {
-	MSC_LOG_EVENT(
-   		MSC_MMEAPP_MME,
-   		"0 S1AP_UE_CONTEXT_RELEASE_COMPLETE Unknown mme_ue_s1ap_id 0x%06"PRIX32" ",s1ap_ue_context_release_complete->mme_ue_s1ap_id);
-    MME_APP_ERROR("UE context doesn't exist for mme_ue_s1ap_id 0x%06"PRIX32"/dec%u\n",
-    		s1ap_ue_context_release_complete->mme_ue_s1ap_id,
-    		s1ap_ue_context_release_complete->mme_ue_s1ap_id);
-    return;
-  }
-  message_p  = itti_alloc_new_message(TASK_MME_APP, S1AP_DEREGISTER_UE_REQ);
-  memset((void*)&message_p->ittiMsg.s1ap_deregister_ue_req,
-	         0,
-	         sizeof(s1ap_deregister_ue_req_t));
-
-  S1AP_DEREGISTER_UE_REQ(message_p).mme_ue_s1ap_id = s1ap_ue_context_release_complete->mme_ue_s1ap_id;
-
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		MSC_NAS_MME,
-  		NULL,0,
-  		"0 S1AP_DEREGISTER_UE_REQ");
-
-  itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-
-  mme_remove_ue_context(&mme_app_desc.mme_ue_contexts, ue_context_p);
-}
diff --git a/openair-cn/MME_APP/mme_app_defs.h b/openair-cn/MME_APP/mme_app_defs.h
deleted file mode 100644
index 11fbfdc2c8047fe33e80e4ec8fb4c9127fc5af27..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_defs.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-/* This file contains definitions related to mme applicative layer and should
- * not be included within other layers.
- * Use mme_app_extern.h to expose mme applicative layer procedures/data.
- */
-
-#include "intertask_interface.h"
-#include "mme_app_ue_context.h"
-
-#ifndef MME_APP_DEFS_H_
-#define MME_APP_DEFS_H_
-
-#ifndef MME_APP_DEBUG
-# define MME_APP_DEBUG(x, args...) do { fprintf(stdout, "[MMEA][D]"x, ##args); } while(0)
-#endif
-#ifndef MME_APP_ERROR
-# define MME_APP_ERROR(x, args...) do { fprintf(stdout, "[MMEA][E]"x, ##args); } while(0)
-#endif
-
-typedef struct {
-  /* UE contexts + some statistics variables */
-  mme_ue_context_t mme_ue_contexts;
-
-  long statistic_timer_id;
-  uint32_t statistic_timer_period;
-} mme_app_desc_t;
-
-extern mme_app_desc_t mme_app_desc;
-
-
-#if defined(DISABLE_USE_NAS)
-int mme_app_handle_attach_req(nas_attach_req_t *attach_req_p);
-#endif
-
-int mme_app_handle_s1ap_ue_capabilities_ind  (const s1ap_ue_cap_ind_t const * s1ap_ue_cap_ind_pP);
-
-int mme_app_send_s11_create_session_req      (struct ue_context_s * const ue_context_pP);
-
-int mme_app_send_s6a_update_location_req     (struct ue_context_s * const ue_context_pP);
-
-int mme_app_handle_s6a_update_location_ans   (const s6a_update_location_ans_t * const ula_pP);
-
-int mme_app_handle_nas_pdn_connectivity_req  ( nas_pdn_connectivity_req_t * const nas_pdn_connectivity_req_p);
-
-void mme_app_handle_conn_est_cnf             (const nas_conn_est_cnf_t * const nas_conn_est_cnf_pP);
-
-void mme_app_handle_conn_est_ind             (const mme_app_connection_establishment_ind_t * const conn_est_ind_pP);
-
-int mme_app_handle_create_sess_resp          (const SgwCreateSessionResponse * const create_sess_resp_pP);
-
-int mme_app_handle_establish_ind             (const nas_establish_ind_t * const nas_establish_ind_pP);
-
-int mme_app_handle_authentication_info_answer(const s6a_auth_info_ans_t * const s6a_auth_info_ans_pP);
-
-int mme_app_handle_nas_auth_resp             (const nas_auth_resp_t * const nas_auth_resp_pP);
-
-nas_cause_t s6a_error_2_nas_cause            (const uint32_t s6a_errorP, const int experimentalP);
-
-void mme_app_handle_nas_auth_param_req       (const nas_auth_param_req_t * const nas_auth_param_req_pP);
-
-void mme_app_handle_initial_context_setup_rsp(const mme_app_initial_context_setup_rsp_t * const initial_ctxt_setup_rsp_pP);
-
-#endif /* MME_APP_DEFS_H_ */
diff --git a/openair-cn/MME_APP/mme_app_extern.h b/openair-cn/MME_APP/mme_app_extern.h
deleted file mode 100644
index b34a849aff0acfd1a88598279e91a8fe308e5062..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_extern.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-#ifndef MME_APP_EXTERN_H_
-#define MME_APP_EXTERN_H_
-
-int mme_app_init(const mme_config_t *mme_config);
-
-#endif /* MME_APP_EXTERN_H_ */
diff --git a/openair-cn/MME_APP/mme_app_itti_messaging.h b/openair-cn/MME_APP/mme_app_itti_messaging.h
deleted file mode 100644
index df23ba7d7e43dce52f0d31842df7b882843c6f90..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_itti_messaging.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-#ifndef MME_APP_ITTI_MESSAGING_H_
-#define MME_APP_ITTI_MESSAGING_H_
-
-static inline void
-mme_app_itti_auth_fail(
-  const uint32_t ue_id,
-  const nas_cause_t cause)
-{
-  MessageDef *message_p;
-
-
-  message_p = itti_alloc_new_message(TASK_MME_APP, NAS_AUTHENTICATION_PARAM_FAIL);
-
-  NAS_AUTHENTICATION_PARAM_FAIL(message_p).ue_id = ue_id;
-  NAS_AUTHENTICATION_PARAM_FAIL(message_p).cause = cause;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		MSC_NAS_MME,
-  		NULL,0,
-  		"0 NAS_AUTHENTICATION_PARAM_FAIL ue_id %06"PRIX32" cause %u",
-  		ue_id, cause);
-
-  itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-static inline void mme_app_itti_auth_rsp(
-  const uint32_t                 ue_id,
-  const uint8_t                  nb_vectors,
-  const  eutran_vector_t * const vector)
-{
-  MessageDef *message_p;
-
-  message_p = itti_alloc_new_message(TASK_MME_APP, NAS_AUTHENTICATION_PARAM_RSP);
-
-  NAS_AUTHENTICATION_PARAM_RSP(message_p).ue_id       = ue_id;
-  NAS_AUTHENTICATION_PARAM_RSP(message_p).nb_vectors  = nb_vectors;
-  memcpy(&NAS_AUTHENTICATION_PARAM_RSP(message_p).vector, vector, sizeof(*vector));
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		MSC_NAS_MME,
-  		NULL,0,
-  		"0 NAS_AUTHENTICATION_PARAM_RSP ue_id %06"PRIX32" nb_vectors %u",
-  		ue_id, nb_vectors);
-  itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-}
-
-#endif /* MME_APP_ITTI_MESSAGING_H_ */
diff --git a/openair-cn/MME_APP/mme_app_location.c b/openair-cn/MME_APP/mme_app_location.c
deleted file mode 100755
index 969b7b6ffbce221545808d657ce1a0794fe90e48..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_location.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file mme_app_location.c
- * \brief
- * \author Sebastien ROUX, Lionel GAUTHIER
- * \version 1.0
- * \company Eurecom
- * \email: lionel.gauthier@eurecom.fr
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "intertask_interface.h"
-#include "mme_config.h"
-
-#include "mme_app_extern.h"
-#include "mme_app_ue_context.h"
-#include "mme_app_defs.h"
-
-#include "secu_defs.h"
-
-#include "assertions.h"
-#include "common_types.h"
-#include "msc.h"
-
-
-int
-mme_app_send_s6a_update_location_req(
-  struct ue_context_s * const ue_context_pP)
-{
-  struct ue_context_s       *ue_context_p = NULL;
-  uint64_t                   imsi         = 0;
-  MessageDef                *message_p    = NULL;
-  s6a_update_location_req_t *s6a_ulr_p    = NULL;
-
-
-  MME_APP_STRING_TO_IMSI((char *)ue_context_pP->pending_pdn_connectivity_req_imsi, &imsi);
-
-  MME_APP_DEBUG("Handling imsi %"IMSI_FORMAT"\n", imsi);
-
-  if ((ue_context_p = mme_ue_context_exists_imsi(&mme_app_desc.mme_ue_contexts,
-                      imsi)) == NULL) {
-    MME_APP_ERROR("That's embarrassing as we don't know this IMSI\n");
-    return -1;
-  }
-
-  message_p = itti_alloc_new_message(TASK_MME_APP, S6A_UPDATE_LOCATION_REQ);
-
-  if (message_p == NULL) {
-    return -1;
-  }
-
-  s6a_ulr_p = &message_p->ittiMsg.s6a_update_location_req;
-  memset((void*)s6a_ulr_p, 0, sizeof(s6a_update_location_req_t));
-
-  MME_APP_IMSI_TO_STRING(imsi, s6a_ulr_p->imsi);
-  s6a_ulr_p->imsi_length         = strlen(s6a_ulr_p->imsi);
-  s6a_ulr_p->initial_attach      = INITIAL_ATTACH;
-  memcpy(&s6a_ulr_p->visited_plmn, &ue_context_p->guti.gummei.plmn, sizeof(plmn_t));
-  s6a_ulr_p->rat_type            = RAT_EUTRAN;
-  /* Check if we already have UE data */
-  s6a_ulr_p->skip_subscriber_data = 0;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_MMEAPP_MME,
-  		MSC_S6A_MME,
-  		NULL,0,
-  		"0 S6A_UPDATE_LOCATION_REQ imsi %"IMSI_FORMAT,imsi);
-
-  return itti_send_msg_to_task(TASK_S6A, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-int
-mme_app_handle_s6a_update_location_ans(
-  const s6a_update_location_ans_t * const ula_pP)
-{
-  uint64_t                    imsi              = 0;
-  struct ue_context_s        *ue_context_p      = NULL;
-
-  DevAssert(ula_pP != NULL);
-
-  if (ula_pP->result.present == S6A_RESULT_BASE) {
-    if (ula_pP->result.choice.base != DIAMETER_SUCCESS) {
-      /* The update location procedure has failed. Notify the NAS layer
-       * and don't initiate the bearer creation on S-GW side.
-       */
-      MME_APP_DEBUG("ULR/ULA procedure returned non success (ULA.result.choice.base=%d)\n", ula_pP->result.choice.base);
-      DevMessage("ULR/ULA procedure returned non success\n");
-    }
-  } else {
-    /* The update location procedure has failed. Notify the NAS layer
-     * and don't initiate the bearer creation on S-GW side.
-     */
-    MME_APP_DEBUG("ULR/ULA procedure returned non success (ULA.result.present=%d)\n", ula_pP->result.present);
-    DevMessage("ULR/ULA procedure returned non success\n");
-  }
-
-  MME_APP_STRING_TO_IMSI((char *)ula_pP->imsi, &imsi);
-
-  MME_APP_DEBUG("%s Handling imsi %"IMSI_FORMAT"\n", __FUNCTION__, imsi);
-
-
-  if ((ue_context_p = mme_ue_context_exists_imsi(&mme_app_desc.mme_ue_contexts, imsi)) == NULL) {
-    MME_APP_ERROR("That's embarrassing as we don't know this IMSI\n");
-    MSC_LOG_EVENT(
-    		MSC_MMEAPP_MME,
-    		"0 S6A_UPDATE_LOCATION unknown imsi %"IMSI_FORMAT,imsi);
-    return -1;
-  }
-
-  ue_context_p->subscription_known = SUBSCRIPTION_KNOWN;
-
-  ue_context_p->sub_status = ula_pP->subscription_data.subscriber_status;
-  ue_context_p->access_restriction_data = ula_pP->subscription_data.access_restriction;
-
-  /* Copy the subscribed ambr to the sgw create session request message */
-  memcpy(&ue_context_p->subscribed_ambr, &ula_pP->subscription_data.subscribed_ambr,
-         sizeof(ambr_t));
-  memcpy(
-    ue_context_p->msisdn,
-    ula_pP->subscription_data.msisdn,
-    ula_pP->subscription_data.msisdn_length);
-  ue_context_p->msisdn_length = ula_pP->subscription_data.msisdn_length;
-  AssertFatal(ula_pP->subscription_data.msisdn_length != 0, "MSISDN LENGTH IS 0");
-  AssertFatal(ula_pP->subscription_data.msisdn_length <= MSISDN_LENGTH, "MSISDN LENGTH is too high %u", MSISDN_LENGTH);
-  ue_context_p->msisdn[ue_context_p->msisdn_length] = '\0';
-
-  ue_context_p->rau_tau_timer = ula_pP->subscription_data.rau_tau_timer;
-  ue_context_p->access_mode   = ula_pP->subscription_data.access_mode;
-
-  memcpy(&ue_context_p->apn_profile, &ula_pP->subscription_data.apn_config_profile,
-         sizeof(apn_config_profile_t));
-
-  return mme_app_send_s11_create_session_req(ue_context_p);
-}
-
diff --git a/openair-cn/MME_APP/mme_app_main.c b/openair-cn/MME_APP/mme_app_main.c
deleted file mode 100644
index ddd00e1fafa27c7a119ff9b548582d8f2778a118..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_main.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "intertask_interface.h"
-#include "mme_config.h"
-#include "timer.h"
-
-#include "mme_app_extern.h"
-#include "mme_app_ue_context.h"
-#include "mme_app_defs.h"
-#include "mme_app_statistics.h"
-
-#include "assertions.h"
-#include "msc.h"
-
-mme_app_desc_t mme_app_desc;
-
-void *mme_app_thread(void *args);
-
-void *mme_app_thread(void *args)
-{
-  itti_mark_task_ready(TASK_MME_APP);
-  MSC_START_USE();
-
-  while(1) {
-    MessageDef *received_message_p = NULL;
-    /* Trying to fetch a message from the message queue.
-     * If the queue is empty, this function will block till a
-     * message is sent to the task.
-     */
-    itti_receive_msg(TASK_MME_APP, &received_message_p);
-    DevAssert(received_message_p != NULL);
-
-    switch (ITTI_MSG_ID(received_message_p)) {
-    case S6A_AUTH_INFO_ANS: {
-      /* We received the authentication vectors from HSS, trigger a ULR
-       * for now. Normaly should trigger an authentication procedure with UE.
-       */
-      mme_app_handle_authentication_info_answer(&received_message_p->ittiMsg.s6a_auth_info_ans);
-    }
-    break;
-
-    case S6A_UPDATE_LOCATION_ANS: {
-      /* We received the update location answer message from HSS -> Handle it */
-      mme_app_handle_s6a_update_location_ans(&received_message_p->ittiMsg.s6a_update_location_ans);
-    }
-    break;
-
-    case SGW_CREATE_SESSION_RESPONSE: {
-      mme_app_handle_create_sess_resp(&received_message_p->ittiMsg.sgwCreateSessionResponse);
-    }
-    break;
-
-    case SGW_MODIFY_BEARER_RESPONSE: {
-      MME_APP_DEBUG(" TO DO HANDLE SGW_MODIFY_BEARER_RESPONSE");
-      // TO DO
-    }
-    break;
-
-    case SGW_RELEASE_ACCESS_BEARERS_RESPONSE: {
-        mme_app_handle_release_access_bearers_resp(&received_message_p->ittiMsg.sgwReleaseAccessBearersResponse);
-    }
-    break;
-
-#if defined(DISABLE_USE_NAS)
-
-    case NAS_ATTACH_REQ: {
-      mme_app_handle_attach_req(&received_message_p->ittiMsg.nas_attach_req);
-    }
-    break;
-
-    case NAS_AUTHENTICATION_RESP: {
-      mme_app_handle_nas_auth_resp(&received_message_p->ittiMsg.nas_auth_resp);
-    }
-    break;
-#else
-
-    case NAS_AUTHENTICATION_PARAM_REQ: {
-      mme_app_handle_nas_auth_param_req(&received_message_p->ittiMsg.nas_auth_param_req);
-    }
-    break;
-#endif
-
-    case NAS_PDN_CONNECTIVITY_REQ: {
-      mme_app_handle_nas_pdn_connectivity_req(&received_message_p->ittiMsg.nas_pdn_connectivity_req);
-    }
-    break;
-
-    case NAS_CONNECTION_ESTABLISHMENT_CNF: {
-      mme_app_handle_conn_est_cnf(&NAS_CONNECTION_ESTABLISHMENT_CNF(received_message_p));
-    }
-    break;
-
-    // From S1AP Initiating Message/EMM Attach Request
-    case MME_APP_CONNECTION_ESTABLISHMENT_IND: {
-      mme_app_handle_conn_est_ind(&MME_APP_CONNECTION_ESTABLISHMENT_IND(received_message_p));
-    }
-    break;
-
-    case MME_APP_INITIAL_CONTEXT_SETUP_RSP: {
-      mme_app_handle_initial_context_setup_rsp(&MME_APP_INITIAL_CONTEXT_SETUP_RSP(received_message_p));
-    }
-    break;
-
-    case TIMER_HAS_EXPIRED: {
-      /* Check if it is the statistic timer */
-      if (received_message_p->ittiMsg.timer_has_expired.timer_id ==
-          mme_app_desc.statistic_timer_id) {
-        mme_app_statistics_display();
-      }
-    }
-    break;
-
-    case TERMINATE_MESSAGE: {
-      /* Termination message received TODO -> release any data allocated */
-      itti_exit_task();
-    }
-    break;
-
-    case S1AP_UE_CAPABILITIES_IND: {
-      mme_app_handle_s1ap_ue_capabilities_ind(&received_message_p->ittiMsg.s1ap_ue_cap_ind);
-    }
-    break;
-
-    case S1AP_UE_CONTEXT_RELEASE_REQ: {
-        mme_app_handle_s1ap_ue_context_release_req(&received_message_p->ittiMsg.s1ap_ue_context_release_req);
-    }
-    break;
-
-    case S1AP_UE_CONTEXT_RELEASE_COMPLETE: {
-        mme_app_handle_s1ap_ue_context_release_complete(&received_message_p->ittiMsg.s1ap_ue_context_release_complete);
-    }
-    break;
-    default: {
-      MME_APP_DEBUG("Unkwnon message ID %d:%s\n",
-                    ITTI_MSG_ID(received_message_p), ITTI_MSG_NAME(received_message_p));
-      AssertFatal(0, "Unkwnon message ID %d:%s\n",
-                  ITTI_MSG_ID(received_message_p), ITTI_MSG_NAME(received_message_p));
-    }
-    break;
-    }
-
-    itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), received_message_p);
-    received_message_p = NULL;
-  }
-
-  return NULL;
-}
-
-int mme_app_init(const mme_config_t *mme_config_p)
-{
-  MME_APP_DEBUG("Initializing MME applicative layer\n");
-
-  memset(&mme_app_desc, 0, sizeof(mme_app_desc));
-
-  /* Create the thread associated with MME applicative layer */
-  if (itti_create_task(TASK_MME_APP, &mme_app_thread, NULL) < 0) {
-    MME_APP_ERROR("MME APP create task failed\n");
-    return -1;
-  }
-
-  mme_app_desc.statistic_timer_period = mme_config_p->mme_statistic_timer;
-
-  /* Request for periodic timer */
-  if (timer_setup(mme_config_p->mme_statistic_timer, 0, TASK_MME_APP, INSTANCE_DEFAULT,
-                  TIMER_PERIODIC, NULL, &mme_app_desc.statistic_timer_id) < 0) {
-    MME_APP_ERROR("Failed to request new timer for statistics with %ds "
-                  "of periocidity\n", mme_config_p->mme_statistic_timer);
-    mme_app_desc.statistic_timer_id = 0;
-  }
-
-  MME_APP_DEBUG("Initializing MME applicative layer: DONE\n");
-  return 0;
-}
diff --git a/openair-cn/MME_APP/mme_app_statistics.c b/openair-cn/MME_APP/mme_app_statistics.c
deleted file mode 100644
index e9eea88a421e481f2271c9791698c0436d23708e..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_statistics.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "intertask_interface.h"
-
-#include "mme_app_ue_context.h"
-#include "mme_app_defs.h"
-#include "mme_app_statistics.h"
-
-int
-mme_app_statistics_display(void)
-{
-  fprintf(stdout, "================== Statistics ==================\n");
-  fprintf(stdout, "        |   Global   | Since last display |\n");
-  fprintf(stdout, "UE      | %10u |     %10u     |\n",
-          mme_app_desc.mme_ue_contexts.nb_ue_managed,
-          mme_app_desc.mme_ue_contexts.nb_ue_since_last_stat);
-  fprintf(stdout, "Bearers | %10u |     %10u     |\n",
-          mme_app_desc.mme_ue_contexts.nb_bearers_managed,
-          mme_app_desc.mme_ue_contexts.nb_bearers_since_last_stat);
-
-  mme_app_desc.mme_ue_contexts.nb_ue_since_last_stat = 0;
-  mme_app_desc.mme_ue_contexts.nb_bearers_since_last_stat = 0;
-
-  return 0;
-}
diff --git a/openair-cn/MME_APP/mme_app_statistics.h b/openair-cn/MME_APP/mme_app_statistics.h
deleted file mode 100644
index 886cb9acd838fa1f0b105019855b48c693820bb2..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_statistics.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#ifndef MME_APP_STATISTICS_H_
-#define MME_APP_STATISTICS_H_
-
-int mme_app_statistics_display(void);
-
-#endif /* MME_APP_STATISTICS_H_ */
diff --git a/openair-cn/MME_APP/mme_app_ue_context.h b/openair-cn/MME_APP/mme_app_ue_context.h
deleted file mode 100644
index d87f0fa4c0f90cf35e480e63e1d32f1c41c39852..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/mme_app_ue_context.h
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-/*! \file mme_app_ue_context.h
- *  \brief MME applicative layer
- *  \author Sebastien ROUX
- *  \date 2013
- *  \version 1.0
- *  @defgroup _mme_app_impl_ MME applicative layer
- *  @ingroup _ref_implementation_
- *  @{
- */
-
-#include <stdint.h>
-#include <inttypes.h>   /* For sscanf formats */
-#include <time.h>       /* to provide time_t */
-
-#include "s1ap_messages_types.h"
-#include "nas_messages_types.h"
-#include "s6a_messages_types.h"
-#include "security_types.h"
-#include "tree.h"
-
-#ifndef MME_APP_UE_CONTEXT_H_
-#define MME_APP_UE_CONTEXT_H_
-
-typedef enum {
-  ECM_IDLE,
-  ECM_CONNECTED,
-  ECM_DEREGISTERED,
-} mm_state_t;
-
-typedef uint64_t mme_app_imsi_t;
-
-#define IMSI_FORMAT SCNu64
-
-/* Convert the IMSI contained by a char string NULL terminated to uint64_t */
-#define MME_APP_STRING_TO_IMSI(sTRING, iMSI) sscanf(sTRING, "%"IMSI_FORMAT, iMSI)
-#define MME_APP_IMSI_TO_STRING(iMSI, sTRING) snprintf(sTRING, IMSI_DIGITS_MAX+1, "%"IMSI_FORMAT, iMSI)
-
-/** @struct bearer_context_t
- *  @brief Parameters that should be kept for an eps bearer.
- */
-typedef struct bearer_context_s {
-  /* S-GW Tunnel Endpoint for User-Plane */
-  Teid_t       s_gw_teid;
-
-  /* S-GW IP address for User-Plane */
-  ip_address_t s_gw_address;
-
-  /* P-GW Tunnel Endpoint for User-Plane */
-  Teid_t       p_gw_teid;
-
-  /* P-GW IP address for User-Plane */
-  ip_address_t p_gw_address;
-
-  /* QoS for this bearer */
-  qci_t                   qci;
-  priority_level_t        prio_level;
-  pre_emp_vulnerability_t pre_emp_vulnerability;
-  pre_emp_capability_t    pre_emp_capability;
-
-  /* TODO: add TFT */
-} bearer_context_t;
-
-/** @struct ue_context_t
- *  @brief Useful parameters to know in MME application layer. They are set
- * according to 3GPP TS.23.401 #5.7.2
- */
-typedef struct ue_context_s {
-  /* Tree entry */
-  RB_ENTRY(ue_context_s) rb_entry;
-
-  /* Basic identifier for ue. IMSI is encoded on maximum of 15 digits of 4 bits,
-   * so usage of an unsigned integer on 64 bits is necessary.
-   */
-  mme_app_imsi_t         imsi;                        // set by nas_auth_param_req_t
-#define IMSI_UNAUTHENTICATED  (0x0)
-#define IMSI_AUTHENTICATED    (0x1)
-  /* Indicator to show the IMSI authentication state */
-  unsigned               imsi_auth:1;                 // set by nas_auth_resp_t
-
-  unsigned               eNB_ue_s1ap_id:24;
-  uint32_t               mme_ue_s1ap_id;
-
-  /* ue_id is equal to mme_ue_s1ap_id */
-  uint32_t               ue_id;                       // set by nas_auth_param_req_t
-
-  uint8_t                nb_of_vectors;               // updated by S6A AUTHENTICATION ANSWER
-  /* List of authentication vectors for E-UTRAN */
-  eutran_vector_t       *vector_list;                 // updated by S6A AUTHENTICATION ANSWER
-  // pointer in vector_list
-  eutran_vector_t       *vector_in_use;               // updated by S6A AUTHENTICATION ANSWER
-
-#define SUBSCRIPTION_UNKNOWN    0x0
-#define SUBSCRIPTION_KNOWN      0x1
-  unsigned               subscription_known:1;        // set by S6A UPDATE LOCATION ANSWER
-  uint8_t                msisdn[MSISDN_LENGTH+1];     // set by S6A UPDATE LOCATION ANSWER
-  uint8_t                msisdn_length;               // set by S6A UPDATE LOCATION ANSWER
-
-  mm_state_t             mm_state;                    // not set/read
-  /* Globally Unique Temporary Identity */
-  GUTI_t                 guti;                        // guti.gummei.plmn set by nas_auth_param_req_t
-  // read by S6A UPDATE LOCATION REQUEST
-  me_identity_t          me_identity;                 // not set/read except read by display utility
-
-  /* TODO: Add TAI list */
-
-  /* Last known cell identity */
-  cgi_t                  e_utran_cgi;                 // set by nas_attach_req_t
-  // read for S11 CREATE_SESSION_REQUEST
-  /* Time when the cell identity was acquired */
-  time_t                 cell_age;                    // set by nas_auth_param_req_t
-
-  /* TODO: add csg_id */
-  /* TODO: add csg_membership */
-
-  network_access_mode_t  access_mode;                  // set by S6A UPDATE LOCATION ANSWER
-
-  /* TODO: add ue radio cap, ms classmarks, supported codecs */
-
-  /* TODO: add ue network capability, ms network capability */
-  /* TODO: add selected NAS algorithm */
-
-  /* TODO: add DRX parameter */
-
-  apn_config_profile_t   apn_profile;                  // set by S6A UPDATE LOCATION ANSWER
-  ard_t                  access_restriction_data;      // set by S6A UPDATE LOCATION ANSWER
-  subscriber_status_t    sub_status;                   // set by S6A UPDATE LOCATION ANSWER
-  ambr_t                 subscribed_ambr;              // set by S6A UPDATE LOCATION ANSWER
-  ambr_t                 used_ambr;
-
-  rau_tau_timer_t        rau_tau_timer;               // set by S6A UPDATE LOCATION ANSWER
-
-  /* Store the radio capabilities as received in S1AP UE capability indication
-   * message.
-   */
-  char                  *ue_radio_capabilities;       // not set/read
-  int                    ue_radio_cap_length;         // not set/read
-
-  Teid_t                 mme_s11_teid;                // set by mme_app_send_s11_create_session_req
-  Teid_t                 sgw_s11_teid;                // set by S11 CREATE_SESSION_RESPONSE
-  PAA_t                  paa;                         // set by S11 CREATE_SESSION_RESPONSE
-
-  // temp
-  char                   pending_pdn_connectivity_req_imsi[16];
-  uint8_t                pending_pdn_connectivity_req_imsi_length;
-  OctetString            pending_pdn_connectivity_req_apn;
-  OctetString            pending_pdn_connectivity_req_pdn_addr;
-  int                    pending_pdn_connectivity_req_pti;
-  unsigned               pending_pdn_connectivity_req_ue_id;
-  network_qos_t          pending_pdn_connectivity_req_qos;
-  pco_flat_t             pending_pdn_connectivity_req_pco;
-  void                  *pending_pdn_connectivity_req_proc_data;
-  int                    pending_pdn_connectivity_req_request_type;
-
-  ebi_t                  default_bearer_id;
-  bearer_context_t       eps_bearers[BEARERS_PER_UE];
-} ue_context_t;
-
-typedef struct {
-  uint32_t nb_ue_managed;
-  uint32_t nb_ue_idle;
-
-  uint32_t nb_bearers_managed;
-
-  uint32_t nb_ue_since_last_stat;
-  uint32_t nb_bearers_since_last_stat;
-
-  /* Entry to the root */
-  RB_HEAD(ue_context_map, ue_context_s) ue_context_tree;
-} mme_ue_context_t;
-
-/** \brief Retrieve an UE context by selecting the provided IMSI
- * \param imsi Imsi to find in UE map
- * @returns an UE context matching the IMSI or NULL if the context doesn't exists
- **/
-ue_context_t *mme_ue_context_exists_imsi(mme_ue_context_t *mme_ue_context,
-    mme_app_imsi_t imsi);
-
-/** \brief Retrieve an UE context by selecting the provided S11 teid
- * \param teid The tunnel endpoint identifier used between MME and S-GW
- * @returns an UE context matching the teid or NULL if the context doesn't exists
- **/
-ue_context_t *mme_ue_context_exists_s11_teid(mme_ue_context_t *mme_ue_context,
-    uint32_t teid);
-
-/** \brief Retrieve an UE context by selecting the provided mme_ue_s1ap_id
- * \param mme_ue_s1ap_id The UE id identifier used in S1AP MME (and NAS)
- * @returns an UE context matching the mme_ue_s1ap_id or NULL if the context doesn't exists
- **/
-ue_context_t *mme_ue_context_exists_mme_ue_s1ap_id(mme_ue_context_t *mme_ue_context,
-    uint32_t mme_ue_s1ap_id);
-
-/** \brief Retrieve an UE context by selecting the provided nas_ue_id
- * \param nas_ue_id The UE id identifier used in S1AP MME and NAS
- * @returns an UE context matching the nas_ue_id or NULL if the context doesn't exists
- **/
-ue_context_t *mme_ue_context_exists_nas_ue_id(mme_ue_context_t *mme_ue_context,
-    uint32_t nas_ue_id);
-
-/** \brief Retrieve an UE context by selecting the provided guti
- * \param guti The GUTI used by the UE
- * @returns an UE context matching the guti or NULL if the context doesn't exists
- **/
-ue_context_t *mme_ue_context_exists_guti(mme_ue_context_t *mme_ue_context,
-    GUTI_t guti);
-
-/** \brief Insert a new UE context in the tree of known UEs.
- * At least the IMSI should be known to insert the context in the tree.
- * \param ue_context_p The UE context to insert
- * @returns 0 in case of success, -1 otherwise
- **/
-int mme_insert_ue_context(mme_ue_context_t *mme_ue_context,
-                          struct ue_context_s *ue_context_p);
-
-/** \brief Remove a UE context of the tree of known UEs.
- * \param ue_context_p The UE context to remove
- **/
-void mme_remove_ue_context(mme_ue_context_t *mme_ue_context,
-		                   struct ue_context_s *ue_context_p);
-
-
-/** \brief Allocate memory for a new UE context
- * @returns Pointer to the new structure, NULL if allocation failed
- **/
-ue_context_t *mme_create_new_ue_context(void);
-
-/** \brief Dump the UE contexts present in the tree
- **/
-void mme_app_dump_ue_contexts(mme_ue_context_t *mme_ue_context);
-
-
-void mme_app_handle_s1ap_ue_context_release_req(const s1ap_ue_context_release_req_t const *s1ap_ue_context_release_req);
-
-#endif /* MME_APP_UE_CONTEXT_H_ */
-
-/* @} */
diff --git a/openair-cn/MME_APP/s6a_2_nas_cause.c b/openair-cn/MME_APP/s6a_2_nas_cause.c
deleted file mode 100644
index 979247b0764bf755aa0f5fd64563fcef0aeac896..0000000000000000000000000000000000000000
--- a/openair-cn/MME_APP/s6a_2_nas_cause.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-#include "as_message.h"
-#include "common_types.h"
-#include "s6a_defs.h"
-#include "mme_app_defs.h"
-
-nas_cause_t s6a_error_2_nas_cause(uint32_t s6a_error, int experimental)
-{
-  if (experimental == 0) {
-    /* Base protocol errors */
-    switch (s6a_error) {
-      /* 3002 */
-    case ER_DIAMETER_UNABLE_TO_DELIVER: /* Fall through */
-
-      /* 3003 */
-    case ER_DIAMETER_REALM_NOT_SERVED: /* Fall through */
-
-      /* 5003 */
-    case ER_DIAMETER_AUTHORIZATION_REJECTED:
-      return NAS_CAUSE_NO_SUITABLE_CELLS_IN_TRACKING_AREA;
-
-      /* 5012 */
-    case ER_DIAMETER_UNABLE_TO_COMPLY: /* Fall through */
-
-      /* 5004 */
-    case ER_DIAMETER_INVALID_AVP_VALUE: /* Fall through */
-
-      /* Any other permanent errors from the diameter base protocol */
-    default:
-      break;
-    }
-  } else {
-    switch (s6a_error) {
-      /* 5001 */
-    case DIAMETER_ERROR_USER_UNKNOWN:
-      return NAS_CAUSE_EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED;
-
-      /* TODO: distinguish GPRS_DATA_SUBSCRIPTION */
-      /* 5420 */
-    case DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION:
-      return NAS_CAUSE_NO_SUITABLE_CELLS_IN_TRACKING_AREA;
-
-      /* 5421 */
-    case DIAMETER_ERROR_RAT_NOT_ALLOWED:
-      /* One of the following parameter can be sent depending on
-       * operator preference:
-       * ROAMING_NOT_ALLOWED_IN_THIS_TRACKING_AREA
-       * TRACKING_AREA_NOT_ALLOWED
-       * NO_SUITABLE_CELLS_IN_TRACKING_AREA
-       */
-      return NAS_CAUSE_TRACKING_AREA_NOT_ALLOWED;
-
-      /* 5004 without error diagnostic */
-    case DIAMETER_ERROR_ROAMING_NOT_ALLOWED:
-      return NAS_CAUSE_PLMN_NOT_ALLOWED;
-
-      /* TODO: 5004 with error diagnostic of ODB_HPLMN_APN or
-       * ODB_VPLMN_APN
-       */
-      /* TODO: 5004 with error diagnostic of ODB_ALL_APN */
-    default:
-      break;
-    }
-  }
-
-  return NAS_CAUSE_NETWORK_FAILURE;
-}
diff --git a/openair-cn/Makefile.am b/openair-cn/Makefile.am
deleted file mode 100644
index 9a829d7c7417664592740c0b4840a88cf3c5e773..0000000000000000000000000000000000000000
--- a/openair-cn/Makefile.am
+++ /dev/null
@@ -1,102 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-ACLOCAL_AMFLAGS = -I m4
-
-AM_CFLAGS = @ADD_CFLAGS@ 								\
-	-I$(top_srcdir)/COMMON								\
-	-I$(top_srcdir)/UTILS								\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE
-
-if HAVE_GCCXML
-BUILT_SOURCES =		\
-	messages.xml	\
-	messages_xml.h
-
-messages_hdr =	 							\
-	$(top_srcdir)/INTERTASK_INTERFACE/intertask_messages_def.h	\
-	$(top_srcdir)/INTERTASK_INTERFACE/timer_messages_def.h		\
-	$(top_srcdir)/INTERTASK_INTERFACE/timer_messages_types.h	\
-	$(top_srcdir)/COMMON/tasks_def.h				\
-	$(top_srcdir)/COMMON/messages_def.h				\
-	$(top_srcdir)/COMMON/messages_types.h				\
-	$(top_srcdir)/COMMON/gtpv1_u_messages_def.h			\
-	$(top_srcdir)/COMMON/gtpv1_u_messages_types.h			\
-	$(top_srcdir)/COMMON/nas_messages_def.h				\
-	$(top_srcdir)/COMMON/nas_messages_types.h			\
-	$(top_srcdir)/COMMON/s11_messages_def.h				\
-	$(top_srcdir)/COMMON/s11_messages_types.h			\
-	$(top_srcdir)/COMMON/s1ap_messages_def.h			\
-	$(top_srcdir)/COMMON/s1ap_messages_types.h			\
-	$(top_srcdir)/COMMON/s6a_messages_def.h				\
-	$(top_srcdir)/COMMON/s6a_messages_types.h			\
-	$(top_srcdir)/COMMON/sgw_lite_def.h				\
-	$(top_srcdir)/COMMON/sgw_lite_messages_types.h			\
-	$(top_srcdir)/COMMON/sctp_messages_def.h			\
-	$(top_srcdir)/COMMON/sctp_messages_types.h			\
-	$(top_srcdir)/COMMON/udp_messages_def.h				\
-	$(top_srcdir)/COMMON/udp_messages_types.h
-
-messages.xml:	$(top_srcdir)/INTERTASK_INTERFACE/intertask_interface_types.h $(messages_hdr)
-	@echo "Generating $<"
-	@gccxml $(AM_CFLAGS) $< -fxml=$(top_builddir)/$@
-
-messages_xml.h: messages.xml
-	@echo "Generating $<"
-	@sed -e 's/[ ]*//' -e 's/"/\\"/g' -e 's/^/"/' -e 's/$$/\\n"/' messages.xml > messages_xml.h
-
-clean-local:
-	@rm -rf -v messages.xml messages_xml.h
-endif
-
-SUBDIRS = 				\
-	.				\
-	GTPV1-U				\
-	GTPV2-C				\
-	INTERTASK_INTERFACE		\
-	SGI				\
-	NAS				\
-	SCTP				\
-	S11				\
-	S1AP				\
-	S6A		        	\
-	SECU				\
-	SGW-LITE			\
-	UTILS				\
-	UDP				\
-	MME_APP				\
-	TEST				\
-	OAISIM_MME			\
-	OAI_EPC				\
-	OAI_SGW
\ No newline at end of file
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/COPYING b/openair-cn/NAS/COMMON/API/NETWORK/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/COPYING
+++ b/openair-cn/NAS/COMMON/API/NETWORK/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/Makefile b/openair-cn/NAS/COMMON/API/NETWORK/Makefile
index cce6a240eef0a4eee336b7f48677462db7c9d1ca..03b706bc5dd4573d355bc7e535a60beb6bf6bd39 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/Makefile
+++ b/openair-cn/NAS/COMMON/API/NETWORK/Makefile
@@ -1,31 +1,3 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
 ifndef PROJDIR
 PROJDIR  = $(PWD)/../../..
 INCLUDES = -I. -I$(INCDIR) -I$(UTILDIR) -I$(IESDIR) -I$(EMMMSGDIR) -I$(ESMMSGDIR) 
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/as_message.c b/openair-cn/NAS/COMMON/API/NETWORK/as_message.c
index 5b29016f3abc6a7f0bec25fb02945c7b6c69f7c1..be850d31af5a29df81d1550d4eface2831095de5 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/as_message.c
+++ b/openair-cn/NAS/COMMON/API/NETWORK/as_message.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 
 Source    as_message.c
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/l2_message.h b/openair-cn/NAS/COMMON/API/NETWORK/l2_message.h
index d24d78b503b10edc4c599c6f528501ff85b31de4..02e5d87354eeba634236231964ada5f1dd28e443 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/l2_message.h
+++ b/openair-cn/NAS/COMMON/API/NETWORK/l2_message.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 
 Source    as_message.h
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/nas_message.c b/openair-cn/NAS/COMMON/API/NETWORK/nas_message.c
index 611ad6fc3acdbfdb6070d626bcbfe9c9cbc9afb8..a7e58027650193d48ad5d7e789813d34e4b65bcf 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/nas_message.c
+++ b/openair-cn/NAS/COMMON/API/NETWORK/nas_message.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 
 Source    nas_message.h
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/nas_message.h b/openair-cn/NAS/COMMON/API/NETWORK/nas_message.h
index f4187b73967f0afa269207fd0b7abcdacaff4199..cecd676c93f5cfcd6e0ef9fb7f0b45dabdcf4d10 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/nas_message.h
+++ b/openair-cn/NAS/COMMON/API/NETWORK/nas_message.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 
 Source      nas_message.h
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/network_api.c b/openair-cn/NAS/COMMON/API/NETWORK/network_api.c
index 61814c3e11c36c6312e9646fbf439321fd936f06..a057c7e5b0fd29f33a0eea7003c875926c56da61 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/network_api.c
+++ b/openair-cn/NAS/COMMON/API/NETWORK/network_api.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 
 Source    network_api.c
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/network_api.h b/openair-cn/NAS/COMMON/API/NETWORK/network_api.h
index f9b04371fe88621c04f3157813b8dc9111089784..bf531539bde1c690bf9c39de753b1dc6e8846209 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/network_api.h
+++ b/openair-cn/NAS/COMMON/API/NETWORK/network_api.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 
 Source    network_api.h
diff --git a/openair-cn/NAS/COMMON/COPYING b/openair-cn/NAS/COMMON/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/openair-cn/NAS/COMMON/COPYING
+++ b/openair-cn/NAS/COMMON/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AttachAccept.c b/openair-cn/NAS/COMMON/EMM/MSG/AttachAccept.c
index 62eab5acb95c2e07a30bfae677a8adb4767ce5a8..3d800d5c19ef6d2fe9e1e1e687aea2a3cbc588dd 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AttachAccept.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AttachAccept.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AttachAccept.h b/openair-cn/NAS/COMMON/EMM/MSG/AttachAccept.h
index 2c1fc64bae610a8d8e3582845b4c3eb3fd4b9e5b..760d85ec0566d180fa6ba7634658422bf846b450 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AttachAccept.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AttachAccept.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AttachComplete.c b/openair-cn/NAS/COMMON/EMM/MSG/AttachComplete.c
index 386694eadf0fcdd38c043a33b7138712e9586b99..f36176f16b29b1535c70fe577c0618672b0b471b 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AttachComplete.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AttachComplete.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AttachComplete.h b/openair-cn/NAS/COMMON/EMM/MSG/AttachComplete.h
index 6856d9fd32a61d4894eb785cab14b2f4a5cb7126..f11623ff445c8df8e4d35be7815a436d904e6cb4 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AttachComplete.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AttachComplete.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AttachReject.c b/openair-cn/NAS/COMMON/EMM/MSG/AttachReject.c
index 16621cf25ede450588ff435a4c8828a85ccf64c7..eed71996354c72b6249ab3d059a9595e6ed2de00 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AttachReject.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AttachReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AttachReject.h b/openair-cn/NAS/COMMON/EMM/MSG/AttachReject.h
index 3d12b7fdadfb6d1087acf2850d5685ff0a89bad3..e65fe1732547594df3584314112a83deaffb4bba 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AttachReject.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AttachReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AttachRequest.c b/openair-cn/NAS/COMMON/EMM/MSG/AttachRequest.c
index f301b44a863c46a98abd9e46f9d186a81d85930f..fa11d84ed735f4bb4cd3596886c3323a30bc76ec 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AttachRequest.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AttachRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AttachRequest.h b/openair-cn/NAS/COMMON/EMM/MSG/AttachRequest.h
index f19c53f1adc51422fb05b431d45156e4240517f3..26937ad5d677576a4be66d4782f7a0169040d211 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AttachRequest.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AttachRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationFailure.c b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationFailure.c
index 979ade2f24fc9c0a53ad9659f032b8fbfb824627..79a12874cf27dd9a7b70c7db8107b94f274317a4 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationFailure.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationFailure.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationFailure.h b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationFailure.h
index 8c9b66dd3263805a32af1ae65071b03994e0de7a..978bf31f18cf2e1994a7b995cb4c367624ffe432 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationFailure.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationFailure.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationReject.c b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationReject.c
index 1d486e070bc21be20869bf1408e6f1eaeb3f2a7d..1b8643083e4cbd97d6cf6283f5e518f241c6fcdb 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationReject.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationReject.h b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationReject.h
index 85111297ee04892ae17d6575a9b75c371b4f103e..629b032074dee9cebcba21df887b082fbb539a2a 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationReject.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationRequest.c b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationRequest.c
index e6f10c9ef6cd8497968749e56cb0e284f4ee72c1..bba6ea7f3b94b023f421c5b9d675455a61d1824a 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationRequest.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationRequest.h b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationRequest.h
index 1bfe9f1719f401a9f0694efa0e7822b8dbadac19..2997836b0f6d203c1f50b64c86405fecfaf9fd71 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationRequest.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationResponse.c b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationResponse.c
index 775932e18f818efc17b239a973de71b9e72c3841..db508c578659c7932974a2f8dc270bf12ded05a7 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationResponse.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationResponse.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationResponse.h b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationResponse.h
index 2e93301ee7b7fde134f0035e7a5c9cffacacc92a..3442e340643de93fe3b201288ea869e61a0ee4b9 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationResponse.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/AuthenticationResponse.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/COPYING b/openair-cn/NAS/COMMON/EMM/MSG/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/COPYING
+++ b/openair-cn/NAS/COMMON/EMM/MSG/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/CsServiceNotification.c b/openair-cn/NAS/COMMON/EMM/MSG/CsServiceNotification.c
index d299fd8d13081738d3302e2e7569ba98e2d533e9..08514dfbe1226fb5477fe94f1d8e8f8a1cb59e34 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/CsServiceNotification.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/CsServiceNotification.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/CsServiceNotification.h b/openair-cn/NAS/COMMON/EMM/MSG/CsServiceNotification.h
index 6fcb5e0bab7d491a2f63d66b5f97c3caa5e824b5..e726802840a25ea6c51fb09bfa7d56971177b753 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/CsServiceNotification.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/CsServiceNotification.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/DetachAccept.c b/openair-cn/NAS/COMMON/EMM/MSG/DetachAccept.c
index 242020c4bf29be632128808ee87d13d77890d3f0..7b3a79453a9da974426e8624e12fe89cc594db8b 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/DetachAccept.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/DetachAccept.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/DetachAccept.h b/openair-cn/NAS/COMMON/EMM/MSG/DetachAccept.h
index 2966bbad7972365c495ea1e0fb3352fedb41637a..a04905aef685a6182d9ee5fe672c98ad4b364762 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/DetachAccept.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/DetachAccept.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/DetachRequest.c b/openair-cn/NAS/COMMON/EMM/MSG/DetachRequest.c
index 32b9a8f37f759e1d8b1a5c7523a532b74d26484e..81675e6fd03ba947e2ef047dd4e2c2c89244ef30 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/DetachRequest.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/DetachRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/DetachRequest.h b/openair-cn/NAS/COMMON/EMM/MSG/DetachRequest.h
index 9577b9a9cd4caa96e3b1842b62903928eee7b6af..572466d139441f9a2261f9f5720b009d41e3ab19 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/DetachRequest.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/DetachRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c b/openair-cn/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c
index b4a1658c57a40ffd4ab4a2cc9db29ce9b29ccea0..a5255e99ea11a6eef9a66ee5ec747744f93b10e8 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/DownlinkNasTransport.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h b/openair-cn/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h
index 4aaf43449b2e1b1dd5b623a0815165e9471e20b3..111958fdf1d972f461346d50ded475c008935110 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/DownlinkNasTransport.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/EmmInformation.c b/openair-cn/NAS/COMMON/EMM/MSG/EmmInformation.c
index c7a041ed7d0473c01a43a0ffb3993d30f14700ac..2901998eb685a34de11460fc15bb46fa19a9092d 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/EmmInformation.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/EmmInformation.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/EmmInformation.h b/openair-cn/NAS/COMMON/EMM/MSG/EmmInformation.h
index ce87feb4e7367ffbc670658449d0f8dc15fa97ef..a3f80595610d26bcb4511c943ff6e71dd5ed7455 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/EmmInformation.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/EmmInformation.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/EmmStatus.c b/openair-cn/NAS/COMMON/EMM/MSG/EmmStatus.c
index ec3154728bb49b5e3dd6673d7fd2807758ef5719..274f8d47c0a6bec993c33936fd38f51e60317606 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/EmmStatus.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/EmmStatus.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/EmmStatus.h b/openair-cn/NAS/COMMON/EMM/MSG/EmmStatus.h
index 6fe769dac66579839a2489fffba13c9198cc8cd8..716d08763a58c0e127c9cbe3f4e79b6cad9011ce 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/EmmStatus.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/EmmStatus.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c b/openair-cn/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c
index 85e337bc316d69d01fc6198b839bc16080772fc0..903d92c51f295bb78d5e7ed06a8ffe1f4091361d 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h b/openair-cn/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h
index 06d40edc195913aecb9ef21f0957e6ea482c4cdc..d0a9d02e92d4622cceaeb9a0860903609f63b6c6 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/ExtendedServiceRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c b/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c
index e3f776413999f57b8059d417c960f0698628ab67..313212c09dd3026fb472ed92f2b1d420463e7b19 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationCommand.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h b/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h
index 7e7ffb7636e145b8e0726878ed83c1941911e5d2..68a68d6dc60ad95db450138e11ca38ac28d2969a 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationCommand.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c b/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c
index 8c3b0ed9ff21bb9b787d4b2422c144a02e7b6dbe..c7bdda8a0f6fd59175733280d62e5cb88235bcc8 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationComplete.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h b/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h
index 977e51709aee856e2c762560d0bff44292275b0e..63a51cbe2c33dca49317a394f99a6a0e1253a57c 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/GutiReallocationComplete.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/IdentityRequest.c b/openair-cn/NAS/COMMON/EMM/MSG/IdentityRequest.c
index 3aafece930616b7d6d92ac4034728ceb567d1c2c..3d785cddf843af6bd5d60c1c26c71f99babb3eb9 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/IdentityRequest.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/IdentityRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/IdentityRequest.h b/openair-cn/NAS/COMMON/EMM/MSG/IdentityRequest.h
index 18462533894991044dc014936e29123ca36f339a..97f783addddcfef0b6bdcbd9d5e9e607f67ab8ef 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/IdentityRequest.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/IdentityRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/IdentityResponse.c b/openair-cn/NAS/COMMON/EMM/MSG/IdentityResponse.c
index bbef1794f76d9c22fafe300db6c2413fb5519468..827b9e64e0d8998be174e4a6f88196ac18e9a716 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/IdentityResponse.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/IdentityResponse.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/IdentityResponse.h b/openair-cn/NAS/COMMON/EMM/MSG/IdentityResponse.h
index cf58487f947a0a1fb14317111d1946b2bdc55c1d..c6bb0d8f717756223afdc0e6ec7c9c65ec09d517 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/IdentityResponse.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/IdentityResponse.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/Makefile b/openair-cn/NAS/COMMON/EMM/MSG/Makefile
index 0b434ba8ab44b42a7e41712cf1d037f8b6dcb5c6..10f3cda68bbabff63d5c691b4c5b16d53a5d91e5 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/Makefile
+++ b/openair-cn/NAS/COMMON/EMM/MSG/Makefile
@@ -1,31 +1,3 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
 ifndef PROJDIR
 PROJDIR = $(PWD)/../../..
 endif
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h b/openair-cn/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h
index 96bef59660df215c2c8edcd1b040ce274ff090e8..66baa1726968eca44da86dc0c109d21db6df4027 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/NASSecurityModeCommand.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h b/openair-cn/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h
index 5643e0ef8acb48e32714d13384f9e7b4ac3f0bc4..0c4c5400d9cd62b02aec164fb4ae4a92ff8a297b 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/NASSecurityModeComplete.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeCommand.c b/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeCommand.c
index 60946cd4ea6ccdf38780c70d03c813121a446a24..2086d59489ded91f8458ae73ee2a7e4c735241fc 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeCommand.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeCommand.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeComplete.c b/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeComplete.c
index 971f94f05f12670d3a8bc0a0a64a2d6f95819c87..e3fbbf3a78f1a49eafcae6407dafbd268ee910d2 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeComplete.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeComplete.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeReject.c b/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeReject.c
index 6347772667801fb587ee49d6a873668d085ae68b..972aad044402cf8fea70b8b3f3c026b09b46ebfa 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeReject.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeReject.h b/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeReject.h
index 6dcbeea3795eb3139752b38cc9211a250fb0937f..0067104fcd4baa3832caf4d8f904e94427566fac 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeReject.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/SecurityModeReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/ServiceReject.c b/openair-cn/NAS/COMMON/EMM/MSG/ServiceReject.c
index 21a2d8a2ba02a91919c93a65cbbfb62c08096cdf..0e2aff4374dd0854ee6dd3190b790a4f81b0af54 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/ServiceReject.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/ServiceReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/ServiceReject.h b/openair-cn/NAS/COMMON/EMM/MSG/ServiceReject.h
index acafd9247b37eea84a1552407d7c5743d0d5594c..8a5525d00c21b83fd108ca1d8f4cde96a73a7e4f 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/ServiceReject.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/ServiceReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/ServiceRequest.c b/openair-cn/NAS/COMMON/EMM/MSG/ServiceRequest.c
index 28e22b773d07c2ba06ba45c585d3e5c53f59a502..df51149b881bb6133ec274709255697c8e7fba7e 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/ServiceRequest.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/ServiceRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/ServiceRequest.h b/openair-cn/NAS/COMMON/EMM/MSG/ServiceRequest.h
index 7f8f78f95d47b8203d63b1c5ab32084eb557c7b0..999d5d9f3778038b6693023812004c9ff5f79c68 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/ServiceRequest.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/ServiceRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c
index 267534f18a3884b28efe92bf2f69e91c2508eefe..0d4aea3f12111a60e9685d5674443c93d0351c0c 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h
index 1765f38836452a099291bc7c31cb2cd3cf9625bf..1b07da4c7ff44f2d5449cb821fe59537d101d96d 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c
index 6ef5b1adcb586befd79e32c9878f215b39810629..5facc985f568639d58adf8dcdb4a347c6cff6990 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h
index 3ebb3fe6fb477b0f371a34e8695ca379b28d6eee..bdb7083c3573a89428cacbff0d023dd9995e12c6 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c
index ebb6ffd3768c31b6a072c55f0a3f59dcb15fe54a..56bbcdc7e5831a6b510fc30bc6846cf0e407d5bb 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h
index 56452a58d4988d67196243fd4d719dfeac365ce7..055ae55ae74f0430954ed92a735ede5175972009 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c
index ca614ce1afa7d21bf2a2fd4ee6519470c0716565..53fe541e4798d0f960f2c2bed76a86b7f80cff74 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h
index d8ce48027b1dc74dc572edffe51960f8525a310b..b4ee5bcb425c951f03d6c53483496939b9a4c998 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/UplinkNasTransport.c b/openair-cn/NAS/COMMON/EMM/MSG/UplinkNasTransport.c
index ad1fe82b302453f4d091f22aa97d133e9c73e7a5..61b85ca2cac7dbbd0ffb7d4b90766ee3590c3738 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/UplinkNasTransport.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/UplinkNasTransport.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/UplinkNasTransport.h b/openair-cn/NAS/COMMON/EMM/MSG/UplinkNasTransport.h
index 09f1bd2e00c6b55f859e36f20a96733e63fe122a..02a58b104f32f576dde6b0703199b50c97f23eee 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/UplinkNasTransport.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/UplinkNasTransport.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/emm_cause.h b/openair-cn/NAS/COMMON/EMM/MSG/emm_cause.h
index c5419201d2ff7ae2deec6112f0e72f158e215289..231e8bfe863c44e236c1b48b376aea855a4ab64e 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/emm_cause.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/emm_cause.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    emm_cause.h
 
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/emm_msg.c b/openair-cn/NAS/COMMON/EMM/MSG/emm_msg.c
index 979210c6151c7ac4d3357163a76dff6e6ac240c0..b727b09a73437104f7f4646b650f30bf70f17977 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/emm_msg.c
+++ b/openair-cn/NAS/COMMON/EMM/MSG/emm_msg.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 
 Source      emm_msg.c
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/emm_msg.h b/openair-cn/NAS/COMMON/EMM/MSG/emm_msg.h
index bb66c5e68bb990d267561dc294fcc06683077525..db36f45948bfe6ca5011414d52a4d5fcde2f9772 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/emm_msg.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/emm_msg.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    emm_msg.h
 
diff --git a/openair-cn/NAS/COMMON/EMM/MSG/emm_msgDef.h b/openair-cn/NAS/COMMON/EMM/MSG/emm_msgDef.h
index 862204d37ec109d29e47ee39eb93ef20b9d55331..3e7ba3b50f4f803764581f365a632c09ef0c97e0 100644
--- a/openair-cn/NAS/COMMON/EMM/MSG/emm_msgDef.h
+++ b/openair-cn/NAS/COMMON/EMM/MSG/emm_msgDef.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Version   0.1
 
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c
index c377e11680fe7c270bf05cc7b80c4417844d337d..1e9509147103fb86d0bd618a2d7489dfd9fa8c18 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h
index c8e12750866f7af07dc7d36ae813c42dda3fa35f..90db94714b841d880561fb3957262e1b617de3e9 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c
index 95c6591281748eea2e4d91dc1d1cde8be1eecbd5..09b9ef66f66a4883cdd0d6af8e0da1b16bff9fe4 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h
index e766ba18fee3f198a12ef6fb51694f7e1bfa6881..30e1e72d62af4dfe1320c1681c061e0ac16327af 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c
index 750793784d22eb0933993a343a7c324178366b08..2c081468b269c121a28d0ab529b990d2f39445f9 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h
index cc7d65555a6704970d15bdb9706800d706db1f5b..89ce283302237a34746c0143a2a17db830a31273 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c
index a4806d58d4b4a6c2d2ae29c59d15141708a75f59..116160b0e1b2390b89f23973a35ff5fb99003b4b 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h
index c678d9b9d2898d6c37cc711b4c06541c530c0621..231a87d1173d7509f943ff780bb5f069fa2106ad 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c
index a8252622c865fbf94a138bac6d17a9ed571010f6..ecb40aee2baa50536ce579d26b4003f175426f9c 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h
index 2bfe844c6b3ac44dd1ce169939c39027552c5e1e..b18cf46a62b3eb4a4542781b8aabc11e7bfb6e39 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c
index 3dec0a429a6a1292e629cb679d32c69e566e377f..56e570903d9ac0dfa9ffbb7c5628e0caaf20a955 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h
index 749c64f93d0bacbb02138c39b9ab17985dade2bf..254087da4ecdc16e1a00b69a0de8fb2684a90f7e 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c
index 9ca43d45f809afe00eb66775ac10197b3d70ccd4..ff859d659b0810154d631795e35e0cc2d47ccddd 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h
index e31a6f6d8a40111045b5bc675227902d0c8047f8..41073b2aa60f2d8896439892e2f2d3a904bce6e6 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c
index 73968f489bc2b85e52f4b5c7d6d16e2ae86ccd0c..2ad5018d1524e09b988fa80876d872163315efc2 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h
index 48a28c5090b134f5e94cd9bd0f39fb20b84c944e..8b4ef0fff941f6d313932b05f0baab817390c105 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceAllocationRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c
index 52fbc55b69fb24f803b27bc97e64c8bd97046749..57591de457db6d1e940724899ca26ff8ed96c041 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h
index 07a9d00e0856f2659e88943c6bcef91dca80419b..e06922fa209b92b8cd2313d3bd6137b542a283fd 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c
index a3b821ee4766392c8c05114bc843e9c570e9bea7..b5e623343a4a87a9d2b8697845b2ae032fa043c0 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h
index f17a89b3481dcaa3b4980e57d079c5b606aa43d7..e209c74bfeb5dc26b6d226f65386ccb718c70b63 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/BearerResourceModificationRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/COPYING b/openair-cn/NAS/COMMON/ESM/MSG/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/COPYING
+++ b/openair-cn/NAS/COMMON/ESM/MSG/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c b/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c
index 38383ecc07c208a540b1104fb0278a9edd2b3bc1..3d05c2e7d1409cd32df933d70ee8d6f45fd6e697 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h b/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h
index 0ef58548f5860d499285dd1898af02e2d123a0d4..23b46c7b2fa76981be55e6e3064a7a2a38ec9d7e 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c b/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c
index 6030a119a3907d3924c80f15c6ae450ae06769c3..77038dee2304e6eaea0ffebb737035a17e91015f 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h b/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h
index b85c5710e8ac78dc9c8a4145ea4af370314f37b1..3cfa64a57aff82d5a2979d121b86d9bd718e476c 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationRequest.c b/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationRequest.c
index 0f3d22f63f56efd9e151a665e84837c981ed1dc5..79e5b3d732a81ee441d9a54934ab089c9682be35 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationRequest.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationRequest.h b/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationRequest.h
index 21bf9bc0ca0406b57de26adf700b4542052750ae..d2dad73b4627506596b6a41ec63492fb8d9d0424 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationRequest.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationResponse.c b/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationResponse.c
index 1609de75f4cf75fe1023773b6006ea388c2032c0..c278784ae257bddb2798833bb9eb7ce0325b078e 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationResponse.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationResponse.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationResponse.h b/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationResponse.h
index 186c582e91a67c1c8a682db7053957bc8d9fece4..3b66dadcc40b22ab2845e495e7e59f7995b22272 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationResponse.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/EsmInformationResponse.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/EsmStatus.c b/openair-cn/NAS/COMMON/ESM/MSG/EsmStatus.c
index 0297b0eecd8c0afe24c286497aa039211a37984a..7f6be43a9fcf8a02e59ff944429cf3e283ab07a9 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/EsmStatus.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/EsmStatus.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/EsmStatus.h b/openair-cn/NAS/COMMON/ESM/MSG/EsmStatus.h
index 5bbce9e06de45890e855cada05257c25cef97986..afcf3142af000fad9c1a8cac7b55b19a0971cd6c 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/EsmStatus.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/EsmStatus.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/Makefile b/openair-cn/NAS/COMMON/ESM/MSG/Makefile
index 8786e88c13376fcee693750ae9eea827dc9e79be..7f8c40a5a02660b9461efdeff7714f73967e427b 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/Makefile
+++ b/openair-cn/NAS/COMMON/ESM/MSG/Makefile
@@ -1,31 +1,4 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
+
 ifndef PROJDIR
 PROJDIR = $(PWD)/../../..
 endif
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c
index b7da151edbfdc645e72889dbf7ebe212bcc20f0c..b4f6833dfc87725e57f8263544c29933c55b8138 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h
index e80a7f8dbc1de8fd4b08cbb1a2e7d5d4559953f3..688e0ec814c066a957eadf346b96a00cd220bf7b 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c
index c3b216bb242b0ba6f219b8f55243604cb651f7d8..01aaa5575debed1fe7daaa87f1026d2ebcdd6b71 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h
index 2c023c914bd07c73a0638bde5e04e01f810d3f3f..5c40f4487987dcceb9b5c99add97b9709b91e5ea 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c
index 62e7fc8a2283b4c8ef6c38eeaf24affee3faf8a3..1624e4e3c34f5bda799f17a472614c0039cecb1e 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h
index 1c2f24950c17bbf79da6a5c77ee63acdc5b47115..2b21e1b2fd5d6aa973f7b3413923dce7147cf717 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c b/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c
index 6d08e046cced7f3b25ab588f2866dcc7b73ececb..30fa4242f4c676cc634f2701a14eb61c159f9c6a 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h b/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h
index 9712f2118c2ad4ef6d60b31753a7325f998e3d7b..3e5ad16c02df5108bd23b48bde0b7a58a2871f46 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c b/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c
index 6ff9acab121118f96d7208a69edd049ffb20c631..6ca5ca94abe9f524b2082fc9e134e39e4a5277a8 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h b/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h
index 2a30138f9e315836807795999d88ead27e72a055..78b227ce374947cc048eaa340f03475fea3444cb 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/PdnConnectivityRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c b/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c
index 0e710bf96833c6c4f1e432b0bef509c76c5af93d..73a095d15d88caf1586d84a19bdc11f4036989c4 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectReject.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h b/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h
index 3d6508a8695ab1e5db5c6202745441916e8aa8d7..980d0f6d09d3326669673950029779a6a7ea042a 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectReject.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c b/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c
index 21273840066190a3305dae585a039004dfbb1820..7ab48c6c39c643bec39bb6c19d72e2b0e60903a5 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h b/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h
index 449a088c6a58d4e2546bc45ceb9ca9bb32ba9d9a..9ac114df3a21b56201450e7fdb8bc2d6945f2b84 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/PdnDisconnectRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/esm_cause.h b/openair-cn/NAS/COMMON/ESM/MSG/esm_cause.h
index 65063a8ddaba18fd3e37f13b46938beb0ac3766e..e731ec1a8b74a7edd7049e33c685cc47cdbaa7af 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/esm_cause.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/esm_cause.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    esm_cause.h
 
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/esm_msg.c b/openair-cn/NAS/COMMON/ESM/MSG/esm_msg.c
index 2f5dbc87274964ac7091b2c9a9e05f9320f85e6e..d9f7df68543e3346d48150e00f2c259048e19c7b 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/esm_msg.c
+++ b/openair-cn/NAS/COMMON/ESM/MSG/esm_msg.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    esm_msg.c
 
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/esm_msg.h b/openair-cn/NAS/COMMON/ESM/MSG/esm_msg.h
index 4c932969892ac7c4e1669978b75ee46bbf849548..9ed64ea2a5e9d9e7d4753b83f85426e0e5c1b36c 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/esm_msg.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/esm_msg.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    esm_msg.h
 
diff --git a/openair-cn/NAS/COMMON/ESM/MSG/esm_msgDef.h b/openair-cn/NAS/COMMON/ESM/MSG/esm_msgDef.h
index 71a76a8f362be07f5f9645fd546ad7298b2e8ad0..2bb0a4e18894438df5784acd7de2ff8089b7ed15 100644
--- a/openair-cn/NAS/COMMON/ESM/MSG/esm_msgDef.h
+++ b/openair-cn/NAS/COMMON/ESM/MSG/esm_msgDef.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 
 Version   0.1
diff --git a/openair-cn/NAS/COMMON/IES/AccessPointName.c b/openair-cn/NAS/COMMON/IES/AccessPointName.c
index 286b0afd7f202700f86f13f5ba35e04912e8b798..3a40d84a23855a99726e27a342bbe2440fae18a1 100644
--- a/openair-cn/NAS/COMMON/IES/AccessPointName.c
+++ b/openair-cn/NAS/COMMON/IES/AccessPointName.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AccessPointName.h b/openair-cn/NAS/COMMON/IES/AccessPointName.h
index f121d8833dd03dc81179fdb133c1ac14b726d791..a05d6f0d53011feb2f6bbaa0ec90447f6d4ad251 100644
--- a/openair-cn/NAS/COMMON/IES/AccessPointName.h
+++ b/openair-cn/NAS/COMMON/IES/AccessPointName.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AdditionalUpdateResult.c b/openair-cn/NAS/COMMON/IES/AdditionalUpdateResult.c
index d8c306ba439eeffd02b540338d1bd936afd5a1d0..7a24f4a31e0af6b8ff7a5cc5cd367b98555bca4a 100644
--- a/openair-cn/NAS/COMMON/IES/AdditionalUpdateResult.c
+++ b/openair-cn/NAS/COMMON/IES/AdditionalUpdateResult.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AdditionalUpdateResult.h b/openair-cn/NAS/COMMON/IES/AdditionalUpdateResult.h
index 70edbc2634ee6f6b00cdb274e7a509cddd37dc8b..6c96baaa2a0616ad38c6717a414585eaa9da9c1f 100644
--- a/openair-cn/NAS/COMMON/IES/AdditionalUpdateResult.h
+++ b/openair-cn/NAS/COMMON/IES/AdditionalUpdateResult.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AdditionalUpdateType.c b/openair-cn/NAS/COMMON/IES/AdditionalUpdateType.c
index f253c43a82096f1310c20a80ace04590212b4094..d3e713480ee4ab3414863f39efe5ea94dd226f08 100644
--- a/openair-cn/NAS/COMMON/IES/AdditionalUpdateType.c
+++ b/openair-cn/NAS/COMMON/IES/AdditionalUpdateType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AdditionalUpdateType.h b/openair-cn/NAS/COMMON/IES/AdditionalUpdateType.h
index dd7bc36643d2557407a7f35abf86ebf0da5386e1..49fbcc137e086e9776d066abf1699db4fca17055 100644
--- a/openair-cn/NAS/COMMON/IES/AdditionalUpdateType.h
+++ b/openair-cn/NAS/COMMON/IES/AdditionalUpdateType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c b/openair-cn/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c
index b92ed3732edfad788e17ac6e7885ed11a30e21ed..f892f93450afbf1b48547bc1c8cf831ae94d67b8 100644
--- a/openair-cn/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c
+++ b/openair-cn/NAS/COMMON/IES/ApnAggregateMaximumBitRate.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h b/openair-cn/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h
index b7666084d2c33e68b478d8f1b69e1ab80b3c55dd..e7eb8da33f14b5b3d93283e6dca604faa5d4e9f0 100644
--- a/openair-cn/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h
+++ b/openair-cn/NAS/COMMON/IES/ApnAggregateMaximumBitRate.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AuthenticationFailureParameter.c b/openair-cn/NAS/COMMON/IES/AuthenticationFailureParameter.c
index 68b642430723b5b4bbf677ad6103e7dafbe5906f..179808307e4e977fcef1939958a4d774dcdbbe20 100644
--- a/openair-cn/NAS/COMMON/IES/AuthenticationFailureParameter.c
+++ b/openair-cn/NAS/COMMON/IES/AuthenticationFailureParameter.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AuthenticationFailureParameter.h b/openair-cn/NAS/COMMON/IES/AuthenticationFailureParameter.h
index c8384685f18cfc1ccd327ed575b88dcf1e32a08e..f2208ef057c881c56bfe24334be3f4a288eab2b1 100644
--- a/openair-cn/NAS/COMMON/IES/AuthenticationFailureParameter.h
+++ b/openair-cn/NAS/COMMON/IES/AuthenticationFailureParameter.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AuthenticationParameterAutn.c b/openair-cn/NAS/COMMON/IES/AuthenticationParameterAutn.c
index f338b11f48f97d39d33fb1059bc5ec7b25754dc8..b2b9c72696c1d5f913ca268ae1d1f4456b49412b 100644
--- a/openair-cn/NAS/COMMON/IES/AuthenticationParameterAutn.c
+++ b/openair-cn/NAS/COMMON/IES/AuthenticationParameterAutn.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AuthenticationParameterAutn.h b/openair-cn/NAS/COMMON/IES/AuthenticationParameterAutn.h
index f4246ca5da6c80c4664a0d93f364e788a650e074..d75855e45a674123bb49f6c6f215e9e49fc53988 100644
--- a/openair-cn/NAS/COMMON/IES/AuthenticationParameterAutn.h
+++ b/openair-cn/NAS/COMMON/IES/AuthenticationParameterAutn.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AuthenticationParameterRand.c b/openair-cn/NAS/COMMON/IES/AuthenticationParameterRand.c
index ebc44a5d7c85fc534bb5d7aa1db26bdd372d81f2..ae402e41c7b6422b146dfeace9c66aecb1789402 100644
--- a/openair-cn/NAS/COMMON/IES/AuthenticationParameterRand.c
+++ b/openair-cn/NAS/COMMON/IES/AuthenticationParameterRand.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AuthenticationParameterRand.h b/openair-cn/NAS/COMMON/IES/AuthenticationParameterRand.h
index 6690aceb5fe7996974e8697c82e6848c096e6b20..b940e8304f8394e950c827dcfc777d130844f158 100644
--- a/openair-cn/NAS/COMMON/IES/AuthenticationParameterRand.h
+++ b/openair-cn/NAS/COMMON/IES/AuthenticationParameterRand.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AuthenticationResponseParameter.c b/openair-cn/NAS/COMMON/IES/AuthenticationResponseParameter.c
index 94dd1c0dd4b9d7f61450f6491c2a492b660e9938..b142fed5a636266da19a5588d7210fd1b63ab9f7 100644
--- a/openair-cn/NAS/COMMON/IES/AuthenticationResponseParameter.c
+++ b/openair-cn/NAS/COMMON/IES/AuthenticationResponseParameter.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/AuthenticationResponseParameter.h b/openair-cn/NAS/COMMON/IES/AuthenticationResponseParameter.h
index 9b4c72bfad178cd9554637da8f8c93268a9f05ef..0ea7c1af049de9d428c77600bbcd66d6407d032e 100644
--- a/openair-cn/NAS/COMMON/IES/AuthenticationResponseParameter.h
+++ b/openair-cn/NAS/COMMON/IES/AuthenticationResponseParameter.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/COPYING b/openair-cn/NAS/COMMON/IES/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/openair-cn/NAS/COMMON/IES/COPYING
+++ b/openair-cn/NAS/COMMON/IES/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/openair-cn/NAS/COMMON/IES/CipheringKeySequenceNumber.c b/openair-cn/NAS/COMMON/IES/CipheringKeySequenceNumber.c
index 16f039627eb47ddcb3468eae44938de8e1fc721d..c2e395f4fb533939798f7d4527de4945669005be 100644
--- a/openair-cn/NAS/COMMON/IES/CipheringKeySequenceNumber.c
+++ b/openair-cn/NAS/COMMON/IES/CipheringKeySequenceNumber.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/CipheringKeySequenceNumber.h b/openair-cn/NAS/COMMON/IES/CipheringKeySequenceNumber.h
index d75b686ab454c0807f21fbe13312919c14a9a53e..d1fd9627f404224e8171e5ad88b6ea62b047edbe 100644
--- a/openair-cn/NAS/COMMON/IES/CipheringKeySequenceNumber.h
+++ b/openair-cn/NAS/COMMON/IES/CipheringKeySequenceNumber.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/Cli.c b/openair-cn/NAS/COMMON/IES/Cli.c
index 7a534dee111e7e655aa2ad107206bad39ffa9e03..e8c662e2890a57dc3aae0abf99f04f3e2c6fee65 100644
--- a/openair-cn/NAS/COMMON/IES/Cli.c
+++ b/openair-cn/NAS/COMMON/IES/Cli.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/Cli.h b/openair-cn/NAS/COMMON/IES/Cli.h
index 998289359b414240fc4592396965e0220b4c29d0..293bdf28a2d63036e32379ed85e7561f0feaaf03 100644
--- a/openair-cn/NAS/COMMON/IES/Cli.h
+++ b/openair-cn/NAS/COMMON/IES/Cli.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/CsfbResponse.c b/openair-cn/NAS/COMMON/IES/CsfbResponse.c
index 84ce13a3226ee0aaeb8c112f9cfb086fff203c65..aa0e2478af88333c5a3347e30ca7a591eda59e6d 100644
--- a/openair-cn/NAS/COMMON/IES/CsfbResponse.c
+++ b/openair-cn/NAS/COMMON/IES/CsfbResponse.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/CsfbResponse.h b/openair-cn/NAS/COMMON/IES/CsfbResponse.h
index 20172a0be84faf721e40ae9830ab461979e70fe6..b20a50bcb037965a320b3a353b745b6ae376074f 100644
--- a/openair-cn/NAS/COMMON/IES/CsfbResponse.h
+++ b/openair-cn/NAS/COMMON/IES/CsfbResponse.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/DaylightSavingTime.c b/openair-cn/NAS/COMMON/IES/DaylightSavingTime.c
index 07791bfc4d6ea67ac2088608cfd6f9196b49e6dc..fe10157bb91a91d205a4491ef169b44a09153a57 100644
--- a/openair-cn/NAS/COMMON/IES/DaylightSavingTime.c
+++ b/openair-cn/NAS/COMMON/IES/DaylightSavingTime.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/DaylightSavingTime.h b/openair-cn/NAS/COMMON/IES/DaylightSavingTime.h
index c8397132f4ae2613a7e35c09360efd517ad0bd29..6e676d6e72e85dff31780a54cffd46e6ee729355 100644
--- a/openair-cn/NAS/COMMON/IES/DaylightSavingTime.h
+++ b/openair-cn/NAS/COMMON/IES/DaylightSavingTime.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/DetachType.c b/openair-cn/NAS/COMMON/IES/DetachType.c
index 7a92ffebcac22a1472aaa8b74bca5bd9f0911bc4..b27fae53d4c0a61af388be28e52c77c2edf0bb65 100644
--- a/openair-cn/NAS/COMMON/IES/DetachType.c
+++ b/openair-cn/NAS/COMMON/IES/DetachType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/DetachType.h b/openair-cn/NAS/COMMON/IES/DetachType.h
index 52da84e4743e8987c4558bc1d4f04437c09011a3..3728aa7702a83130406d6323396f14fe274b4f7b 100644
--- a/openair-cn/NAS/COMMON/IES/DetachType.h
+++ b/openair-cn/NAS/COMMON/IES/DetachType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/DrxParameter.c b/openair-cn/NAS/COMMON/IES/DrxParameter.c
index c9528e1cae500f162d168ee778e083675d426e3c..f920ead27f0ec8f184c9acf3c72a29004c4161df 100644
--- a/openair-cn/NAS/COMMON/IES/DrxParameter.c
+++ b/openair-cn/NAS/COMMON/IES/DrxParameter.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/DrxParameter.h b/openair-cn/NAS/COMMON/IES/DrxParameter.h
index 49452c12152277b3aa8dbc72b1e1c36276e12803..d30c0e033a15011361fddcea3438968104582e97 100644
--- a/openair-cn/NAS/COMMON/IES/DrxParameter.h
+++ b/openair-cn/NAS/COMMON/IES/DrxParameter.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EmergencyNumberList.c b/openair-cn/NAS/COMMON/IES/EmergencyNumberList.c
index 3939acd6f83a771e9c33870f817f8811063eaac9..084dbd15fac642bed749353606d3e74cc8a00317 100644
--- a/openair-cn/NAS/COMMON/IES/EmergencyNumberList.c
+++ b/openair-cn/NAS/COMMON/IES/EmergencyNumberList.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EmergencyNumberList.h b/openair-cn/NAS/COMMON/IES/EmergencyNumberList.h
index 0ac2d8cace2ef40a4fbd7c3f1b9bf1dfcfcea0da..090ce1ec38d3675c74a3b7ad8a7f8918f5bdade3 100644
--- a/openair-cn/NAS/COMMON/IES/EmergencyNumberList.h
+++ b/openair-cn/NAS/COMMON/IES/EmergencyNumberList.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EmmCause.c b/openair-cn/NAS/COMMON/IES/EmmCause.c
index a6734b71223325b0ec54e0ac6aee820e32b707ea..a89d0d6c30d412af60f7d09689b84d374acf2a79 100644
--- a/openair-cn/NAS/COMMON/IES/EmmCause.c
+++ b/openair-cn/NAS/COMMON/IES/EmmCause.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EmmCause.h b/openair-cn/NAS/COMMON/IES/EmmCause.h
index 1aa2e7b9616b8f5b876667cbbd1af4be4bf7f5d8..42d9f51904a8d8b6fa462097bf3483c3ad5a9420 100644
--- a/openair-cn/NAS/COMMON/IES/EmmCause.h
+++ b/openair-cn/NAS/COMMON/IES/EmmCause.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsAttachResult.c b/openair-cn/NAS/COMMON/IES/EpsAttachResult.c
index dff7004ff6fb9853362735805dbd69e1c75284f9..6b7058532476c39e0b5d2fdb86275839a812de7c 100644
--- a/openair-cn/NAS/COMMON/IES/EpsAttachResult.c
+++ b/openair-cn/NAS/COMMON/IES/EpsAttachResult.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsAttachResult.h b/openair-cn/NAS/COMMON/IES/EpsAttachResult.h
index 56192c7034451ea052170192db39bebc670bd30f..1c459ce914ecbf1ea7229c646aa7679fa611e0f9 100644
--- a/openair-cn/NAS/COMMON/IES/EpsAttachResult.h
+++ b/openair-cn/NAS/COMMON/IES/EpsAttachResult.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsAttachType.c b/openair-cn/NAS/COMMON/IES/EpsAttachType.c
index b7946edb0e7649d5546dec817a7a950b44447a17..8bc691fe55d98a6fd32b18b9a4dfe258265343f6 100644
--- a/openair-cn/NAS/COMMON/IES/EpsAttachType.c
+++ b/openair-cn/NAS/COMMON/IES/EpsAttachType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsAttachType.h b/openair-cn/NAS/COMMON/IES/EpsAttachType.h
index fd2676b760d9f0770c2250aa5a01abb3233f1bf2..268c997db2e63a16909a95e8d534d6f58054105e 100644
--- a/openair-cn/NAS/COMMON/IES/EpsAttachType.h
+++ b/openair-cn/NAS/COMMON/IES/EpsAttachType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsBearerContextStatus.c b/openair-cn/NAS/COMMON/IES/EpsBearerContextStatus.c
index 9ef3a4e8f55b2c35837d83c661755a3590aa9971..b51cf95b67e8fb5acfd2911bcd8202987b68c15f 100644
--- a/openair-cn/NAS/COMMON/IES/EpsBearerContextStatus.c
+++ b/openair-cn/NAS/COMMON/IES/EpsBearerContextStatus.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsBearerContextStatus.h b/openair-cn/NAS/COMMON/IES/EpsBearerContextStatus.h
index 7c2e1a040383dce51993237793d690f1ffe1a41f..be1fd2f21cf5e6239f86bf30e77123f3fab32909 100644
--- a/openair-cn/NAS/COMMON/IES/EpsBearerContextStatus.h
+++ b/openair-cn/NAS/COMMON/IES/EpsBearerContextStatus.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsBearerIdentity.c b/openair-cn/NAS/COMMON/IES/EpsBearerIdentity.c
index 2a49a67d1513ae3086e66695be043c88a38d8724..f7d405a415957d034d939decc531fb6324005062 100644
--- a/openair-cn/NAS/COMMON/IES/EpsBearerIdentity.c
+++ b/openair-cn/NAS/COMMON/IES/EpsBearerIdentity.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsBearerIdentity.h b/openair-cn/NAS/COMMON/IES/EpsBearerIdentity.h
index e9c368ec6962c85d81cbdbf13a2e3b01572f1be2..2c6c9868ab39d8bb26f98bf2cfb828a3fc218809 100644
--- a/openair-cn/NAS/COMMON/IES/EpsBearerIdentity.h
+++ b/openair-cn/NAS/COMMON/IES/EpsBearerIdentity.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsMobileIdentity.c b/openair-cn/NAS/COMMON/IES/EpsMobileIdentity.c
index 4d154a3b66d4f8a5303d976c53d31e02845e91cd..448858f55c3c672df1014815697beb988bd2108e 100644
--- a/openair-cn/NAS/COMMON/IES/EpsMobileIdentity.c
+++ b/openair-cn/NAS/COMMON/IES/EpsMobileIdentity.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsMobileIdentity.h b/openair-cn/NAS/COMMON/IES/EpsMobileIdentity.h
index 6f2360c56de016b672c64154ff004a2e0e21122c..105db68a055a92ccb3ad638cdaac109880b60513 100644
--- a/openair-cn/NAS/COMMON/IES/EpsMobileIdentity.h
+++ b/openair-cn/NAS/COMMON/IES/EpsMobileIdentity.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsNetworkFeatureSupport.c b/openair-cn/NAS/COMMON/IES/EpsNetworkFeatureSupport.c
index 0063fb5339ad26be538dbc134f3b2ed8957284e3..162db783d5bf1ab6027e1eee9e250d9ac0e62925 100644
--- a/openair-cn/NAS/COMMON/IES/EpsNetworkFeatureSupport.c
+++ b/openair-cn/NAS/COMMON/IES/EpsNetworkFeatureSupport.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsNetworkFeatureSupport.h b/openair-cn/NAS/COMMON/IES/EpsNetworkFeatureSupport.h
index d9e0423aec0462a0808256fd1ab0da6ceb1e83e1..cbe1a0d6f173474dd897a0af78d754380f059bc0 100644
--- a/openair-cn/NAS/COMMON/IES/EpsNetworkFeatureSupport.h
+++ b/openair-cn/NAS/COMMON/IES/EpsNetworkFeatureSupport.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsQualityOfService.c b/openair-cn/NAS/COMMON/IES/EpsQualityOfService.c
index ade4ca8ed2a2e4c35d614f99032a8ad80104b89e..0a467baffeaefa8d3819ca261b34690da14e3743 100644
--- a/openair-cn/NAS/COMMON/IES/EpsQualityOfService.c
+++ b/openair-cn/NAS/COMMON/IES/EpsQualityOfService.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsQualityOfService.h b/openair-cn/NAS/COMMON/IES/EpsQualityOfService.h
index e8af0fc4d61a0aa1a9ba8035b3ba771cfb1d11f3..10703399e99c5fd331dda77b1e02a0acce789066 100644
--- a/openair-cn/NAS/COMMON/IES/EpsQualityOfService.h
+++ b/openair-cn/NAS/COMMON/IES/EpsQualityOfService.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsUpdateResult.c b/openair-cn/NAS/COMMON/IES/EpsUpdateResult.c
index 5f1822d4abb72479372dc2d1d6b097448a52b884..8ee25b4abaa2103fa0fbc11d7a64d106ae55f046 100644
--- a/openair-cn/NAS/COMMON/IES/EpsUpdateResult.c
+++ b/openair-cn/NAS/COMMON/IES/EpsUpdateResult.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsUpdateResult.h b/openair-cn/NAS/COMMON/IES/EpsUpdateResult.h
index 7d91f83dcb53d6f4585bfec31c305669fda86dc9..d3aabc34022fa9774182298df05270f61b286592 100644
--- a/openair-cn/NAS/COMMON/IES/EpsUpdateResult.h
+++ b/openair-cn/NAS/COMMON/IES/EpsUpdateResult.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsUpdateType.c b/openair-cn/NAS/COMMON/IES/EpsUpdateType.c
index 39dd4461d9e7ddb81c9756c7c60c24c296ca40be..571b267dcb8008504f95448061bf684a91a51dde 100644
--- a/openair-cn/NAS/COMMON/IES/EpsUpdateType.c
+++ b/openair-cn/NAS/COMMON/IES/EpsUpdateType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EpsUpdateType.h b/openair-cn/NAS/COMMON/IES/EpsUpdateType.h
index 80bfc2e76b4aaea6b946d1a865ed811117d79ceb..09578574f604629aca59f1887cdd514680fc4257 100644
--- a/openair-cn/NAS/COMMON/IES/EpsUpdateType.h
+++ b/openair-cn/NAS/COMMON/IES/EpsUpdateType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EsmCause.c b/openair-cn/NAS/COMMON/IES/EsmCause.c
index e20ece8ee51143908a323e959e3f7d7920d3586b..8c5436d8556426dea576c3c59bbf7107e04a3a69 100644
--- a/openair-cn/NAS/COMMON/IES/EsmCause.c
+++ b/openair-cn/NAS/COMMON/IES/EsmCause.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EsmCause.h b/openair-cn/NAS/COMMON/IES/EsmCause.h
index 7be75c4a7fd19af62995fc39d0a48e8a5b357e82..e79c51ac19a631ace254d5d6a455ad8af1d4936e 100644
--- a/openair-cn/NAS/COMMON/IES/EsmCause.h
+++ b/openair-cn/NAS/COMMON/IES/EsmCause.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EsmInformationTransferFlag.c b/openair-cn/NAS/COMMON/IES/EsmInformationTransferFlag.c
index 1c42a93058534de0ba24c72404dba245af74d9cb..b4d69c44f7c326b3328aa5408303ed7f60d7bede 100644
--- a/openair-cn/NAS/COMMON/IES/EsmInformationTransferFlag.c
+++ b/openair-cn/NAS/COMMON/IES/EsmInformationTransferFlag.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EsmInformationTransferFlag.h b/openair-cn/NAS/COMMON/IES/EsmInformationTransferFlag.h
index 3a201d7baf03df8e1541ec60a1029f89c6ed6474..cfaf82a560c2c2822e0fbab19e4eb1c527679290 100644
--- a/openair-cn/NAS/COMMON/IES/EsmInformationTransferFlag.h
+++ b/openair-cn/NAS/COMMON/IES/EsmInformationTransferFlag.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EsmMessageContainer.c b/openair-cn/NAS/COMMON/IES/EsmMessageContainer.c
index edb4cef9d89071e971bc36620f6e7974e50599d6..080374e6810a2c6c2b600a2a240172b29e13fce0 100644
--- a/openair-cn/NAS/COMMON/IES/EsmMessageContainer.c
+++ b/openair-cn/NAS/COMMON/IES/EsmMessageContainer.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/EsmMessageContainer.h b/openair-cn/NAS/COMMON/IES/EsmMessageContainer.h
index 4d8664ecaf68a9bc78c42df3f0439febc8cdc9c5..326a9dd4e5a92dec9929da30763c27a9ab89548b 100644
--- a/openair-cn/NAS/COMMON/IES/EsmMessageContainer.h
+++ b/openair-cn/NAS/COMMON/IES/EsmMessageContainer.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/GprsTimer.c b/openair-cn/NAS/COMMON/IES/GprsTimer.c
index 056355d34f888528de76ca33bdb0629215d7027e..9d8889ec6b978b115ee47590594c215cce105851 100644
--- a/openair-cn/NAS/COMMON/IES/GprsTimer.c
+++ b/openair-cn/NAS/COMMON/IES/GprsTimer.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/GprsTimer.h b/openair-cn/NAS/COMMON/IES/GprsTimer.h
index 57547842f2fcde59bf58f1d8db9cc0d750e3cc65..66468b75aaa5feb74992530be7e21322f0945fa6 100644
--- a/openair-cn/NAS/COMMON/IES/GprsTimer.h
+++ b/openair-cn/NAS/COMMON/IES/GprsTimer.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/GutiType.c b/openair-cn/NAS/COMMON/IES/GutiType.c
index 8edf37dbe7a8e8e0167550be05f74351398c8038..7391edb53c25fc874b266949b9122c21bed9b0f2 100644
--- a/openair-cn/NAS/COMMON/IES/GutiType.c
+++ b/openair-cn/NAS/COMMON/IES/GutiType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/GutiType.h b/openair-cn/NAS/COMMON/IES/GutiType.h
index 8f96fc75eee2737b29c2223ca2018d57162ef49b..4df547ff0655664b3cf47cdaf2189758b9deafed 100644
--- a/openair-cn/NAS/COMMON/IES/GutiType.h
+++ b/openair-cn/NAS/COMMON/IES/GutiType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/IdentityType2.c b/openair-cn/NAS/COMMON/IES/IdentityType2.c
index ddcfb54c2dd66b656433be84218ae851b8927d51..c50a1fc0f7826c7e049362ffaddcf24607e8960a 100644
--- a/openair-cn/NAS/COMMON/IES/IdentityType2.c
+++ b/openair-cn/NAS/COMMON/IES/IdentityType2.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/IdentityType2.h b/openair-cn/NAS/COMMON/IES/IdentityType2.h
index be342ffe0429b5f8813fa7d2cda41a65f157bdf0..9d7e075b7a4eba598160a3bd40238c9a5d5bce09 100644
--- a/openair-cn/NAS/COMMON/IES/IdentityType2.h
+++ b/openair-cn/NAS/COMMON/IES/IdentityType2.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ImeisvRequest.c b/openair-cn/NAS/COMMON/IES/ImeisvRequest.c
index c6dfbe5f72410d2b844c407a0eb7a223eebf0eb9..798ce55dcef4a9c62c9edf52fd9b6782c4728dde 100644
--- a/openair-cn/NAS/COMMON/IES/ImeisvRequest.c
+++ b/openair-cn/NAS/COMMON/IES/ImeisvRequest.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ImeisvRequest.h b/openair-cn/NAS/COMMON/IES/ImeisvRequest.h
index 6f8e9f87bfad1f281869662490b049425a3fd995..71c319bc8de6095718cf1b5afeabed8c052cb0ba 100644
--- a/openair-cn/NAS/COMMON/IES/ImeisvRequest.h
+++ b/openair-cn/NAS/COMMON/IES/ImeisvRequest.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/KsiAndSequenceNumber.c b/openair-cn/NAS/COMMON/IES/KsiAndSequenceNumber.c
index 4be3a1d7293660d5c5f081d0400347edcf50000f..c552654aa8144874de2218d47d6d0b2123c40165 100644
--- a/openair-cn/NAS/COMMON/IES/KsiAndSequenceNumber.c
+++ b/openair-cn/NAS/COMMON/IES/KsiAndSequenceNumber.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/KsiAndSequenceNumber.h b/openair-cn/NAS/COMMON/IES/KsiAndSequenceNumber.h
index 524309bf89b58dd74b19a9b26cfdc5707d7027c7..042f56d1f83f3c177efec2d98fa1b5b30bcba863 100644
--- a/openair-cn/NAS/COMMON/IES/KsiAndSequenceNumber.h
+++ b/openair-cn/NAS/COMMON/IES/KsiAndSequenceNumber.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LcsClientIdentity.c b/openair-cn/NAS/COMMON/IES/LcsClientIdentity.c
index 5c59acb7816e134722ce2e6a8863dcb032e08a34..9daf2125e168570701b2289d318afce77c7815a4 100644
--- a/openair-cn/NAS/COMMON/IES/LcsClientIdentity.c
+++ b/openair-cn/NAS/COMMON/IES/LcsClientIdentity.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LcsClientIdentity.h b/openair-cn/NAS/COMMON/IES/LcsClientIdentity.h
index 690914741ef581af8065a4d1040325ff3a532f9b..4f4880956d94266174141abba3608c9916b23c77 100644
--- a/openair-cn/NAS/COMMON/IES/LcsClientIdentity.h
+++ b/openair-cn/NAS/COMMON/IES/LcsClientIdentity.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LcsIndicator.c b/openair-cn/NAS/COMMON/IES/LcsIndicator.c
index 371e195da1b12e4a3d7fe6823ee69d0a01acaa77..224886fae869bb99bfa464f793b0a85c01b493d9 100644
--- a/openair-cn/NAS/COMMON/IES/LcsIndicator.c
+++ b/openair-cn/NAS/COMMON/IES/LcsIndicator.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LcsIndicator.h b/openair-cn/NAS/COMMON/IES/LcsIndicator.h
index d4ad52e11dd70a1eee2f6221d59c3b6ec2211dcb..341c5f2caf1737eed7e9c0ac748287038f1bcad7 100644
--- a/openair-cn/NAS/COMMON/IES/LcsIndicator.h
+++ b/openair-cn/NAS/COMMON/IES/LcsIndicator.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LinkedEpsBearerIdentity.c b/openair-cn/NAS/COMMON/IES/LinkedEpsBearerIdentity.c
index 47a55b50fc143b145d92c01eae89321e66caf126..eec53404ef41df6c2d92b111f9191816ac55935f 100644
--- a/openair-cn/NAS/COMMON/IES/LinkedEpsBearerIdentity.c
+++ b/openair-cn/NAS/COMMON/IES/LinkedEpsBearerIdentity.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LinkedEpsBearerIdentity.h b/openair-cn/NAS/COMMON/IES/LinkedEpsBearerIdentity.h
index 5fa07834f49649b70ea6f9dad08bf42a2a513966..393da23e41ff7e2cfff477debb2b1188917ba615 100644
--- a/openair-cn/NAS/COMMON/IES/LinkedEpsBearerIdentity.h
+++ b/openair-cn/NAS/COMMON/IES/LinkedEpsBearerIdentity.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c b/openair-cn/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c
index 231676ba9ec811898573d571dab0d0ca61899116..e30f4dcdbe13ead12c9891705a0e8f7d4ae05ca3 100644
--- a/openair-cn/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c
+++ b/openair-cn/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h b/openair-cn/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h
index b699ded1b4895442dff8cc60bcf20cb5bf20bfbb..ba6e40c61bc76f3ac170bb8e7b8a692109b5082b 100644
--- a/openair-cn/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h
+++ b/openair-cn/NAS/COMMON/IES/LlcServiceAccessPointIdentifier.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LocationAreaIdentification.c b/openair-cn/NAS/COMMON/IES/LocationAreaIdentification.c
index 43b9868a9919b6d49e3b8f42a1d02d1f846138f6..1fc04dc038a9e77af464abba2c54a7439cea16d9 100644
--- a/openair-cn/NAS/COMMON/IES/LocationAreaIdentification.c
+++ b/openair-cn/NAS/COMMON/IES/LocationAreaIdentification.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/LocationAreaIdentification.h b/openair-cn/NAS/COMMON/IES/LocationAreaIdentification.h
index d2b6880779f9fbebf528da99659621787454350d..3c52e9480915be7e166c55d01b14bbb1643589d0 100644
--- a/openair-cn/NAS/COMMON/IES/LocationAreaIdentification.h
+++ b/openair-cn/NAS/COMMON/IES/LocationAreaIdentification.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/Makefile b/openair-cn/NAS/COMMON/IES/Makefile
index 8cc286e671c929cc3b878ba0984e87bca11326b4..d4a24f657cafa46bc074bdfc7643ee7403f6b5b1 100644
--- a/openair-cn/NAS/COMMON/IES/Makefile
+++ b/openair-cn/NAS/COMMON/IES/Makefile
@@ -1,31 +1,4 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
+
 ifndef PROJDIR
 PROJDIR = $(PWD)/../..
 endif
diff --git a/openair-cn/NAS/COMMON/IES/MessageType.c b/openair-cn/NAS/COMMON/IES/MessageType.c
index d66bd9b66227c533c5ddc7e340e9bec587fb717c..17a23ab383c490422915d91aff5613a1c448d223 100644
--- a/openair-cn/NAS/COMMON/IES/MessageType.c
+++ b/openair-cn/NAS/COMMON/IES/MessageType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MessageType.h b/openair-cn/NAS/COMMON/IES/MessageType.h
index 810efb60cad297725bab55e156554e844bb713d3..7dd001ae968ceaf8a5a9bdbfac2b9465a87678f9 100644
--- a/openair-cn/NAS/COMMON/IES/MessageType.h
+++ b/openair-cn/NAS/COMMON/IES/MessageType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MobileIdentity.c b/openair-cn/NAS/COMMON/IES/MobileIdentity.c
index 14d9902142f70b1edd89d8d70b085a9059980a9c..75c152106a80a1e5146551e778be67d294925dc2 100644
--- a/openair-cn/NAS/COMMON/IES/MobileIdentity.c
+++ b/openair-cn/NAS/COMMON/IES/MobileIdentity.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MobileIdentity.h b/openair-cn/NAS/COMMON/IES/MobileIdentity.h
index 206685c7f3bb6fa28ff4d3c7818253a191ed1b4e..791dfc6f7245d59727db49886b0fc3930b6bb2ed 100644
--- a/openair-cn/NAS/COMMON/IES/MobileIdentity.h
+++ b/openair-cn/NAS/COMMON/IES/MobileIdentity.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MobileStationClassmark2.c b/openair-cn/NAS/COMMON/IES/MobileStationClassmark2.c
index 3e97e164ad2a274da2f1745bc1badb425b3be9d0..459d716fcb9df64c8e1ae4725f88efe5171d3963 100644
--- a/openair-cn/NAS/COMMON/IES/MobileStationClassmark2.c
+++ b/openair-cn/NAS/COMMON/IES/MobileStationClassmark2.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MobileStationClassmark2.h b/openair-cn/NAS/COMMON/IES/MobileStationClassmark2.h
index d8a9c596a45024063c01bfb9ce68879afb008433..06c6250de9731f06703416256b5f244f762d9ce7 100644
--- a/openair-cn/NAS/COMMON/IES/MobileStationClassmark2.h
+++ b/openair-cn/NAS/COMMON/IES/MobileStationClassmark2.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MobileStationClassmark3.c b/openair-cn/NAS/COMMON/IES/MobileStationClassmark3.c
index 84bf06c3c186383c87fbb3994e58f3f37610f73b..d53f054532a646fa963f15a6b4e6dabe71aba72f 100644
--- a/openair-cn/NAS/COMMON/IES/MobileStationClassmark3.c
+++ b/openair-cn/NAS/COMMON/IES/MobileStationClassmark3.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MobileStationClassmark3.h b/openair-cn/NAS/COMMON/IES/MobileStationClassmark3.h
index 504678bbdf875efabad05ef120cdb0c063beb7ad..25de9191eedbe69c1c23565baa57178595d3a873 100644
--- a/openair-cn/NAS/COMMON/IES/MobileStationClassmark3.h
+++ b/openair-cn/NAS/COMMON/IES/MobileStationClassmark3.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MsNetworkCapability.c b/openair-cn/NAS/COMMON/IES/MsNetworkCapability.c
index 2fc8a72c8778dfcad2d37477bee7576b0eb81305..bda91e876a21af334414038b4cc947fde7fa6700 100644
--- a/openair-cn/NAS/COMMON/IES/MsNetworkCapability.c
+++ b/openair-cn/NAS/COMMON/IES/MsNetworkCapability.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MsNetworkCapability.h b/openair-cn/NAS/COMMON/IES/MsNetworkCapability.h
index 7f6d1699da03f14ad4f7e7729a9006852576fc47..e940d91218daab5f3c3846d882d9323e4214215e 100644
--- a/openair-cn/NAS/COMMON/IES/MsNetworkCapability.h
+++ b/openair-cn/NAS/COMMON/IES/MsNetworkCapability.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MsNetworkFeatureSupport.c b/openair-cn/NAS/COMMON/IES/MsNetworkFeatureSupport.c
index e05968c2d57fcbcbf4e598486f8b419b97774511..d8efa5312b765b54c11c4ddb260fcb7c113cfbd0 100644
--- a/openair-cn/NAS/COMMON/IES/MsNetworkFeatureSupport.c
+++ b/openair-cn/NAS/COMMON/IES/MsNetworkFeatureSupport.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/MsNetworkFeatureSupport.h b/openair-cn/NAS/COMMON/IES/MsNetworkFeatureSupport.h
index 334430de1a0498132186f04a0c54cdb65e955403..0210e787a7a064440f50d12d8061d15a7282df89 100644
--- a/openair-cn/NAS/COMMON/IES/MsNetworkFeatureSupport.h
+++ b/openair-cn/NAS/COMMON/IES/MsNetworkFeatureSupport.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NasKeySetIdentifier.c b/openair-cn/NAS/COMMON/IES/NasKeySetIdentifier.c
index 2ab41a17e860da9a7713a6969403d424dd416071..1f1e2bd7260ce569f3b1ed039db9eb1d2479dd58 100644
--- a/openair-cn/NAS/COMMON/IES/NasKeySetIdentifier.c
+++ b/openair-cn/NAS/COMMON/IES/NasKeySetIdentifier.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NasKeySetIdentifier.h b/openair-cn/NAS/COMMON/IES/NasKeySetIdentifier.h
index f2a09c6864430e5b20dbf683e031a6e00a0b503b..46af36c5b57e6d286e392bbe3ccc0384f6ea2a0e 100644
--- a/openair-cn/NAS/COMMON/IES/NasKeySetIdentifier.h
+++ b/openair-cn/NAS/COMMON/IES/NasKeySetIdentifier.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NasMessageContainer.c b/openair-cn/NAS/COMMON/IES/NasMessageContainer.c
index 248d14c890dc0b4157dd2864155164ec6dbf47ef..2f295b0cc189f28c4616d4b13ff92b7ee3c9e6a3 100644
--- a/openair-cn/NAS/COMMON/IES/NasMessageContainer.c
+++ b/openair-cn/NAS/COMMON/IES/NasMessageContainer.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NasMessageContainer.h b/openair-cn/NAS/COMMON/IES/NasMessageContainer.h
index 35d3d4d58d517b14caa275be5ca9d3432c569771..a16684a08852a9f39d78b3b3d0146af4227cd28d 100644
--- a/openair-cn/NAS/COMMON/IES/NasMessageContainer.h
+++ b/openair-cn/NAS/COMMON/IES/NasMessageContainer.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NasRequestType.c b/openair-cn/NAS/COMMON/IES/NasRequestType.c
index d2afc7f0f8c4726f7aacf87d0f93e8b37e877f85..9cbbbdb7f792c30b1d421d0ce92e1ae9c2281a56 100644
--- a/openair-cn/NAS/COMMON/IES/NasRequestType.c
+++ b/openair-cn/NAS/COMMON/IES/NasRequestType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NasRequestType.h b/openair-cn/NAS/COMMON/IES/NasRequestType.h
index 42d262779945131b065847504a41ceafd1252349..c6e28298d645104a9598212352ba353844629b0f 100644
--- a/openair-cn/NAS/COMMON/IES/NasRequestType.h
+++ b/openair-cn/NAS/COMMON/IES/NasRequestType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NasSecurityAlgorithms.c b/openair-cn/NAS/COMMON/IES/NasSecurityAlgorithms.c
index b1713b74f9fb265d57de9466d69f2fe002f16369..cafb73481166ad37722184d65a615797a21cf418 100644
--- a/openair-cn/NAS/COMMON/IES/NasSecurityAlgorithms.c
+++ b/openair-cn/NAS/COMMON/IES/NasSecurityAlgorithms.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NasSecurityAlgorithms.h b/openair-cn/NAS/COMMON/IES/NasSecurityAlgorithms.h
index 8125e0adf8a5a4418c2d4b7dffb3777f0ed69f33..f74b2c39abcb8e5fe7d8592387c02804d56a0802 100644
--- a/openair-cn/NAS/COMMON/IES/NasSecurityAlgorithms.h
+++ b/openair-cn/NAS/COMMON/IES/NasSecurityAlgorithms.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NetworkName.c b/openair-cn/NAS/COMMON/IES/NetworkName.c
index 284b451ce5d263f3e7995878389124784d012a42..521e421c8dd6c3b66cea5e10f82fd6a62774fb89 100644
--- a/openair-cn/NAS/COMMON/IES/NetworkName.c
+++ b/openair-cn/NAS/COMMON/IES/NetworkName.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/NetworkName.h b/openair-cn/NAS/COMMON/IES/NetworkName.h
index d627605f61e3d96570c83f3c4ebc3e7e1744108f..c2a8850bc3e3c2c6ba9b60c1f75ed6a535d776b0 100644
--- a/openair-cn/NAS/COMMON/IES/NetworkName.h
+++ b/openair-cn/NAS/COMMON/IES/NetworkName.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/Nonce.c b/openair-cn/NAS/COMMON/IES/Nonce.c
index a274c2b8d97dea7d169454dc0338c9375c243495..438d117fd721378104123f2a780a18d617c283c8 100644
--- a/openair-cn/NAS/COMMON/IES/Nonce.c
+++ b/openair-cn/NAS/COMMON/IES/Nonce.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/Nonce.h b/openair-cn/NAS/COMMON/IES/Nonce.h
index b37b35a7f35db266335b43dfd794f0918f2e21da..7956177494e11664aa6eaad8cc12e143845fc8c7 100644
--- a/openair-cn/NAS/COMMON/IES/Nonce.h
+++ b/openair-cn/NAS/COMMON/IES/Nonce.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PTmsiSignature.c b/openair-cn/NAS/COMMON/IES/PTmsiSignature.c
index 21738a02dbc4e3070792b652c1d0223be0a0a0d7..3ed25f994ad885209a5e62a898ad400c7d88f28e 100644
--- a/openair-cn/NAS/COMMON/IES/PTmsiSignature.c
+++ b/openair-cn/NAS/COMMON/IES/PTmsiSignature.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PTmsiSignature.h b/openair-cn/NAS/COMMON/IES/PTmsiSignature.h
index 9f063dd46161cdde55d293714e943a58b8ba5b05..e51bcc41a9a779570713a56cc32964ed84c82360 100644
--- a/openair-cn/NAS/COMMON/IES/PTmsiSignature.h
+++ b/openair-cn/NAS/COMMON/IES/PTmsiSignature.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PacketFlowIdentifier.c b/openair-cn/NAS/COMMON/IES/PacketFlowIdentifier.c
index 2e694ae8b016d0a9b517461f3cc95a4da0993c80..a108760cfa7fba98eccf1319434d8cc6cbd36242 100644
--- a/openair-cn/NAS/COMMON/IES/PacketFlowIdentifier.c
+++ b/openair-cn/NAS/COMMON/IES/PacketFlowIdentifier.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PacketFlowIdentifier.h b/openair-cn/NAS/COMMON/IES/PacketFlowIdentifier.h
index 26c0e6467c2b74a1717c78216a4e543f9d5b9eae..24f5dc9a97ee87f0867289a6ac03faf9a501a97c 100644
--- a/openair-cn/NAS/COMMON/IES/PacketFlowIdentifier.h
+++ b/openair-cn/NAS/COMMON/IES/PacketFlowIdentifier.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PagingIdentity.c b/openair-cn/NAS/COMMON/IES/PagingIdentity.c
index 2c5a05a45a8c8414c476e2a005661105ba9bc19c..9b0c72b7af9034984f7a70aafc688f64236674d9 100644
--- a/openair-cn/NAS/COMMON/IES/PagingIdentity.c
+++ b/openair-cn/NAS/COMMON/IES/PagingIdentity.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PagingIdentity.h b/openair-cn/NAS/COMMON/IES/PagingIdentity.h
index a817ae116f872c3909da44c999123f4398f2bc1f..60f93caebddee3dbd7a1de6211936fdd8a4ca9d8 100644
--- a/openair-cn/NAS/COMMON/IES/PagingIdentity.h
+++ b/openair-cn/NAS/COMMON/IES/PagingIdentity.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PdnAddress.c b/openair-cn/NAS/COMMON/IES/PdnAddress.c
index c95cb1528f1c588b4622e3b49ef0b77ac76eba39..12dee958f5234f2f66b1d2f36151226a9d769209 100644
--- a/openair-cn/NAS/COMMON/IES/PdnAddress.c
+++ b/openair-cn/NAS/COMMON/IES/PdnAddress.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PdnAddress.h b/openair-cn/NAS/COMMON/IES/PdnAddress.h
index 5b923b2310f2e9af1f95c6e29642341fa8188d67..22a7dd282c865d32030ce833f3f420f5f6b4e371 100644
--- a/openair-cn/NAS/COMMON/IES/PdnAddress.h
+++ b/openair-cn/NAS/COMMON/IES/PdnAddress.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PdnType.c b/openair-cn/NAS/COMMON/IES/PdnType.c
index e4a39d1f1c5d56bf8fe85f732d53b7ed71c149fe..0dc20ba6e163120d2851dec0b4100084fe469333 100644
--- a/openair-cn/NAS/COMMON/IES/PdnType.c
+++ b/openair-cn/NAS/COMMON/IES/PdnType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PdnType.h b/openair-cn/NAS/COMMON/IES/PdnType.h
index c3a3ac9133fd0343b4dea8cc27f7e7c64321bb9d..13c97a66022c4031c9911a267a9acd25d0781662 100644
--- a/openair-cn/NAS/COMMON/IES/PdnType.h
+++ b/openair-cn/NAS/COMMON/IES/PdnType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PlmnList.c b/openair-cn/NAS/COMMON/IES/PlmnList.c
index 226a26c6612a4e14e37666170b147da49eb8395b..2e84bdb74a261621c8f6ee112e097911c32f7e37 100644
--- a/openair-cn/NAS/COMMON/IES/PlmnList.c
+++ b/openair-cn/NAS/COMMON/IES/PlmnList.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/PlmnList.h b/openair-cn/NAS/COMMON/IES/PlmnList.h
index 7c2247381f1822d78ce8ca7fa14e3186ef9b357d..485e88a6a2ed6629659d92dd8626123ff4220f69 100644
--- a/openair-cn/NAS/COMMON/IES/PlmnList.h
+++ b/openair-cn/NAS/COMMON/IES/PlmnList.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ProcedureTransactionIdentity.c b/openair-cn/NAS/COMMON/IES/ProcedureTransactionIdentity.c
index 92a0f3e502fed91a5cad3cabb791b88b6245cd06..522307467ed9df805423f95222fc37aadd5d231c 100644
--- a/openair-cn/NAS/COMMON/IES/ProcedureTransactionIdentity.c
+++ b/openair-cn/NAS/COMMON/IES/ProcedureTransactionIdentity.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ProcedureTransactionIdentity.h b/openair-cn/NAS/COMMON/IES/ProcedureTransactionIdentity.h
index 28eabb6a1520ad5ccf4f7e2183925ffab3cd68d1..2bc3f098d98e1d82837b866b8da223ddd4964e31 100644
--- a/openair-cn/NAS/COMMON/IES/ProcedureTransactionIdentity.h
+++ b/openair-cn/NAS/COMMON/IES/ProcedureTransactionIdentity.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ProtocolConfigurationOptions.c b/openair-cn/NAS/COMMON/IES/ProtocolConfigurationOptions.c
index dc17201da0dc79f782253d0769bb404ed6c3c75f..15f20ef195421d4e45aa37ed60914e540edf2e4b 100644
--- a/openair-cn/NAS/COMMON/IES/ProtocolConfigurationOptions.c
+++ b/openair-cn/NAS/COMMON/IES/ProtocolConfigurationOptions.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ProtocolConfigurationOptions.h b/openair-cn/NAS/COMMON/IES/ProtocolConfigurationOptions.h
index bd59d2c4accc7c42780d2890593a7a09afd57465..8110cb96bc5a8c2f37925f542da71076fda658ec 100644
--- a/openair-cn/NAS/COMMON/IES/ProtocolConfigurationOptions.h
+++ b/openair-cn/NAS/COMMON/IES/ProtocolConfigurationOptions.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ProtocolDiscriminator.c b/openair-cn/NAS/COMMON/IES/ProtocolDiscriminator.c
index b87ddb490a22fe9912a9f43c62e5197c5c50ad15..a58ae57faa896ff72e7ce4e600d8a1565e7b9bf0 100644
--- a/openair-cn/NAS/COMMON/IES/ProtocolDiscriminator.c
+++ b/openair-cn/NAS/COMMON/IES/ProtocolDiscriminator.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ProtocolDiscriminator.h b/openair-cn/NAS/COMMON/IES/ProtocolDiscriminator.h
index 3945556a747c0e0cf97e28fb9086fa5c812b5b5a..04c04e801f81028376e3bfb74ce8ace9c63083ad 100644
--- a/openair-cn/NAS/COMMON/IES/ProtocolDiscriminator.h
+++ b/openair-cn/NAS/COMMON/IES/ProtocolDiscriminator.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/QualityOfService.c b/openair-cn/NAS/COMMON/IES/QualityOfService.c
index 2d5ea1c5ea3ba9c59a45eaa147bbf5c14943492f..27d4a78e55ee732aa08588c021effe24709d6027 100644
--- a/openair-cn/NAS/COMMON/IES/QualityOfService.c
+++ b/openair-cn/NAS/COMMON/IES/QualityOfService.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/QualityOfService.h b/openair-cn/NAS/COMMON/IES/QualityOfService.h
index 193eb6c4e279a20ca92f9bdaab0b7690a3246aa4..6ce363aaccaffa4cdd94ac35be52cf7acf4c7fa3 100644
--- a/openair-cn/NAS/COMMON/IES/QualityOfService.h
+++ b/openair-cn/NAS/COMMON/IES/QualityOfService.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/RadioPriority.c b/openair-cn/NAS/COMMON/IES/RadioPriority.c
index 1350cb0ba1f81b9d1d2e16cd646ad86456ccf39c..8e1183eb7bc01e0aa97541345e1f359c51d96cc6 100644
--- a/openair-cn/NAS/COMMON/IES/RadioPriority.c
+++ b/openair-cn/NAS/COMMON/IES/RadioPriority.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/RadioPriority.h b/openair-cn/NAS/COMMON/IES/RadioPriority.h
index e079247598061dda3c0d00cf8ddb15556f2a7f6d..629a624eecfc922d5f1013585c189bacd5c50230 100644
--- a/openair-cn/NAS/COMMON/IES/RadioPriority.h
+++ b/openair-cn/NAS/COMMON/IES/RadioPriority.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/SecurityHeaderType.c b/openair-cn/NAS/COMMON/IES/SecurityHeaderType.c
index 5d80c562f3aef73e078186c8551f4805f7929a9a..89facd28c1c717573673a8ee85c5c30be61f94ff 100644
--- a/openair-cn/NAS/COMMON/IES/SecurityHeaderType.c
+++ b/openair-cn/NAS/COMMON/IES/SecurityHeaderType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/SecurityHeaderType.h b/openair-cn/NAS/COMMON/IES/SecurityHeaderType.h
index 0447e857db13d95f2730c619392daa091448d138..d83ec1e17acc2190f3705f28e14bb8ec80b30758 100644
--- a/openair-cn/NAS/COMMON/IES/SecurityHeaderType.h
+++ b/openair-cn/NAS/COMMON/IES/SecurityHeaderType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ServiceType.c b/openair-cn/NAS/COMMON/IES/ServiceType.c
index bab2e96bb02ff7931892dec1f4183041be2d79a3..3f35abbfaabd4a8d2611830d6c20db1e3f9d9891 100644
--- a/openair-cn/NAS/COMMON/IES/ServiceType.c
+++ b/openair-cn/NAS/COMMON/IES/ServiceType.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ServiceType.h b/openair-cn/NAS/COMMON/IES/ServiceType.h
index 44e908414049546b30414726926d7c718fb21e47..c3aedebc0c86a26ad26c2a8ac71f11fca4ec8f5c 100644
--- a/openair-cn/NAS/COMMON/IES/ServiceType.h
+++ b/openair-cn/NAS/COMMON/IES/ServiceType.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ShortMac.c b/openair-cn/NAS/COMMON/IES/ShortMac.c
index 9cebc07ca82a4c8b9c70f53e6b5b322f6a487d28..d481b1bba727c612f14a5e8e839a21cef39debe3 100644
--- a/openair-cn/NAS/COMMON/IES/ShortMac.c
+++ b/openair-cn/NAS/COMMON/IES/ShortMac.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/ShortMac.h b/openair-cn/NAS/COMMON/IES/ShortMac.h
index b6152bd027e8f24b416eb48975037ced696f3d7d..896f9e42da29c194b9ff26da4f4e1aa3ce1299d1 100644
--- a/openair-cn/NAS/COMMON/IES/ShortMac.h
+++ b/openair-cn/NAS/COMMON/IES/ShortMac.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/SsCode.c b/openair-cn/NAS/COMMON/IES/SsCode.c
index 256a67e0fcf414a89711083cfdf19749cb1686db..e0566c9f154be0e1e0e22a402145d6e67d5b3e0e 100644
--- a/openair-cn/NAS/COMMON/IES/SsCode.c
+++ b/openair-cn/NAS/COMMON/IES/SsCode.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/SsCode.h b/openair-cn/NAS/COMMON/IES/SsCode.h
index f53e5e2dc0a9336f5891c2735d0d9670d0101e36..68017184ce6f5142237b4683fc2887e5cc1dc0a1 100644
--- a/openair-cn/NAS/COMMON/IES/SsCode.h
+++ b/openair-cn/NAS/COMMON/IES/SsCode.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/SupportedCodecList.c b/openair-cn/NAS/COMMON/IES/SupportedCodecList.c
index 284ee27dc964ecba055e5ebdb575f437f9d82896..375d2255a4e3ee3c66d98351743abef486e73e91 100644
--- a/openair-cn/NAS/COMMON/IES/SupportedCodecList.c
+++ b/openair-cn/NAS/COMMON/IES/SupportedCodecList.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/SupportedCodecList.h b/openair-cn/NAS/COMMON/IES/SupportedCodecList.h
index a9be6640ff272beab2b133b6768d633eff024202..83396b62d47683b6ab0850bb7e846066adc05a07 100644
--- a/openair-cn/NAS/COMMON/IES/SupportedCodecList.h
+++ b/openair-cn/NAS/COMMON/IES/SupportedCodecList.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TimeZone.c b/openair-cn/NAS/COMMON/IES/TimeZone.c
index 332abb54bc3cdbf71941d85fa1c9118f79cfbdcd..39fe50c307d912801a615dc5250c58ad50f5c6a0 100644
--- a/openair-cn/NAS/COMMON/IES/TimeZone.c
+++ b/openair-cn/NAS/COMMON/IES/TimeZone.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TimeZone.h b/openair-cn/NAS/COMMON/IES/TimeZone.h
index 812477be4d1ff36c4913b261010ce1cf379b41db..bfa2d38996ef85b75fca3a3afc4a0bb982a2056f 100644
--- a/openair-cn/NAS/COMMON/IES/TimeZone.h
+++ b/openair-cn/NAS/COMMON/IES/TimeZone.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TimeZoneAndTime.c b/openair-cn/NAS/COMMON/IES/TimeZoneAndTime.c
index dacfb2289600806efef58d571c2b8b992075252d..08a8bcdf703090a6edf1b5c0c83a07b3f2dcbbbb 100644
--- a/openair-cn/NAS/COMMON/IES/TimeZoneAndTime.c
+++ b/openair-cn/NAS/COMMON/IES/TimeZoneAndTime.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TimeZoneAndTime.h b/openair-cn/NAS/COMMON/IES/TimeZoneAndTime.h
index 4665b84316fb3eee3b4d02af6df2bab73211fcea..27c763cf8814abb8baa1ae2c097d97257a96eefc 100644
--- a/openair-cn/NAS/COMMON/IES/TimeZoneAndTime.h
+++ b/openair-cn/NAS/COMMON/IES/TimeZoneAndTime.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TmsiStatus.c b/openair-cn/NAS/COMMON/IES/TmsiStatus.c
index 7d21e5f7580cf4f7129d6a0d251d78ea72de04a8..1ebbf5beaf2148a98b8aba22849812fcedb27f00 100644
--- a/openair-cn/NAS/COMMON/IES/TmsiStatus.c
+++ b/openair-cn/NAS/COMMON/IES/TmsiStatus.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TmsiStatus.h b/openair-cn/NAS/COMMON/IES/TmsiStatus.h
index c6c7e87a7d33442faf4ea3d72525292b1b2bb20c..6387ca7cecfb6c85232da35e9780b6d6f36ba420 100644
--- a/openair-cn/NAS/COMMON/IES/TmsiStatus.h
+++ b/openair-cn/NAS/COMMON/IES/TmsiStatus.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TrackingAreaIdentity.c b/openair-cn/NAS/COMMON/IES/TrackingAreaIdentity.c
index dd50d9566f9718656da576b25a512b779970615b..14b08e7e24f25a330408f8fc468153e3596932ba 100644
--- a/openair-cn/NAS/COMMON/IES/TrackingAreaIdentity.c
+++ b/openair-cn/NAS/COMMON/IES/TrackingAreaIdentity.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TrackingAreaIdentity.h b/openair-cn/NAS/COMMON/IES/TrackingAreaIdentity.h
index eb3826cab19b70e7689e15654d24e9974a6ad010..7249d3c5c11cf2430e4567a05625c8bc5409076a 100644
--- a/openair-cn/NAS/COMMON/IES/TrackingAreaIdentity.h
+++ b/openair-cn/NAS/COMMON/IES/TrackingAreaIdentity.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TrackingAreaIdentityList.c b/openair-cn/NAS/COMMON/IES/TrackingAreaIdentityList.c
index eb0e30d01c8078050f16d5a2ca22adec6aa7c41f..eae44e8e582ded66c461fc7fe5559a4dd09d94e9 100644
--- a/openair-cn/NAS/COMMON/IES/TrackingAreaIdentityList.c
+++ b/openair-cn/NAS/COMMON/IES/TrackingAreaIdentityList.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TrackingAreaIdentityList.h b/openair-cn/NAS/COMMON/IES/TrackingAreaIdentityList.h
index a849fd04b0391eb8a9891c431fb576994666913b..345aacf43897748cb42fcdb8093845efe6b1eefa 100644
--- a/openair-cn/NAS/COMMON/IES/TrackingAreaIdentityList.h
+++ b/openair-cn/NAS/COMMON/IES/TrackingAreaIdentityList.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TrafficFlowAggregateDescription.c b/openair-cn/NAS/COMMON/IES/TrafficFlowAggregateDescription.c
index cb6aaff14f4943ad293a522f00348bca76edb776..b2ea6a83b92a5ca6fbb53d56b95bbd80636fd6fe 100644
--- a/openair-cn/NAS/COMMON/IES/TrafficFlowAggregateDescription.c
+++ b/openair-cn/NAS/COMMON/IES/TrafficFlowAggregateDescription.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TrafficFlowAggregateDescription.h b/openair-cn/NAS/COMMON/IES/TrafficFlowAggregateDescription.h
index cda9369666cbd536d4d15926179f7a9123fc1e4e..305887362128b036e4be23b847d93e3030214ef6 100644
--- a/openair-cn/NAS/COMMON/IES/TrafficFlowAggregateDescription.h
+++ b/openair-cn/NAS/COMMON/IES/TrafficFlowAggregateDescription.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TrafficFlowTemplate.c b/openair-cn/NAS/COMMON/IES/TrafficFlowTemplate.c
index 931e2326aa5c8c4a5fbdd25db95abea761ce5bd9..e18ffc92c50168cb71cc3b90f94625c07546b269 100644
--- a/openair-cn/NAS/COMMON/IES/TrafficFlowTemplate.c
+++ b/openair-cn/NAS/COMMON/IES/TrafficFlowTemplate.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TrafficFlowTemplate.h b/openair-cn/NAS/COMMON/IES/TrafficFlowTemplate.h
index 5c01c228aa46ae2a9d09611d95a27ee60213167f..40f9c6b4a64d7776705b240f6d761b7f0c212733 100644
--- a/openair-cn/NAS/COMMON/IES/TrafficFlowTemplate.h
+++ b/openair-cn/NAS/COMMON/IES/TrafficFlowTemplate.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TransactionIdentifier.c b/openair-cn/NAS/COMMON/IES/TransactionIdentifier.c
index c3afd429508bdaeb574a251e4c0e69b9a8dbcdd6..c48ae31a633dd47286ae1187e3aae8c6234a3b1d 100644
--- a/openair-cn/NAS/COMMON/IES/TransactionIdentifier.c
+++ b/openair-cn/NAS/COMMON/IES/TransactionIdentifier.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/TransactionIdentifier.h b/openair-cn/NAS/COMMON/IES/TransactionIdentifier.h
index 153432e3b716e1d7184481fdf92202d1ee8e7b9f..061db1c65424a4e55c8cdb00ccf0a2b5f15b00ca 100644
--- a/openair-cn/NAS/COMMON/IES/TransactionIdentifier.h
+++ b/openair-cn/NAS/COMMON/IES/TransactionIdentifier.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/UeNetworkCapability.c b/openair-cn/NAS/COMMON/IES/UeNetworkCapability.c
index 839acc080bca3d131566bc8f4ebc127cbf67a9e6..41393e7689773f7ef3388d6fddd68b7c68ea1546 100644
--- a/openair-cn/NAS/COMMON/IES/UeNetworkCapability.c
+++ b/openair-cn/NAS/COMMON/IES/UeNetworkCapability.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/UeNetworkCapability.h b/openair-cn/NAS/COMMON/IES/UeNetworkCapability.h
index a385fefea9bf8d442289708e6f6232345daa2070..56451159a55761c746822caa4e7209033ad8aab9 100644
--- a/openair-cn/NAS/COMMON/IES/UeNetworkCapability.h
+++ b/openair-cn/NAS/COMMON/IES/UeNetworkCapability.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c b/openair-cn/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c
index 08020581e4a494c30899ce4ca59764355f801017..36d612bf6f75f898ac1bf7c4d469dceea3386807 100644
--- a/openair-cn/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c
+++ b/openair-cn/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h b/openair-cn/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h
index 0876f663da402e9201ff562c4c90435b8d497281..853ecea045d37fb050e239550cfa1229aa9c9864 100644
--- a/openair-cn/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h
+++ b/openair-cn/NAS/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/UeSecurityCapability.c b/openair-cn/NAS/COMMON/IES/UeSecurityCapability.c
index 5c4610ccdea5199a06c64d8bf9d00fbfb170ab76..ecc55ae5fffa21b1569cb5596dcf407dceec4629 100644
--- a/openair-cn/NAS/COMMON/IES/UeSecurityCapability.c
+++ b/openair-cn/NAS/COMMON/IES/UeSecurityCapability.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/UeSecurityCapability.h b/openair-cn/NAS/COMMON/IES/UeSecurityCapability.h
index 9009937cf4deece705d5c46cf1d6fb836c2d793b..dede6af9f806d07d2942d84f23596912c28cdb36 100644
--- a/openair-cn/NAS/COMMON/IES/UeSecurityCapability.h
+++ b/openair-cn/NAS/COMMON/IES/UeSecurityCapability.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c b/openair-cn/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c
index 38a8cf10a6ac1f8df874ec579897c70c5f7ba3ae..0c84ba0a8e0d839e06883a6806185aab7144c4ba 100644
--- a/openair-cn/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c
+++ b/openair-cn/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h b/openair-cn/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h
index 221620fa6a78945a3a03bc5087f878219ced1ae8..13a8b668ecb7f4fd94e87908fb477857a63f8a19 100644
--- a/openair-cn/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h
+++ b/openair-cn/NAS/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/UTIL/COPYING b/openair-cn/NAS/COMMON/UTIL/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/openair-cn/NAS/COMMON/UTIL/COPYING
+++ b/openair-cn/NAS/COMMON/UTIL/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/openair-cn/NAS/COMMON/UTIL/Makefile b/openair-cn/NAS/COMMON/UTIL/Makefile
index 799bb8599a3c20a4174a4ff225f70f343b328872..b0977b8112974b58ef27f7a0ed769469478c89a1 100644
--- a/openair-cn/NAS/COMMON/UTIL/Makefile
+++ b/openair-cn/NAS/COMMON/UTIL/Makefile
@@ -1,31 +1,4 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
+
 ifndef PROJDIR
 PROJDIR = $(PWD)/../..
 endif
diff --git a/openair-cn/NAS/COMMON/UTIL/OctetString.c b/openair-cn/NAS/COMMON/UTIL/OctetString.c
index fd16e270144e7d9719cc6cd00b49807101d31f38..4a429d84a7c72f852445d1d614575dc90a297090 100644
--- a/openair-cn/NAS/COMMON/UTIL/OctetString.c
+++ b/openair-cn/NAS/COMMON/UTIL/OctetString.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/UTIL/OctetString.h b/openair-cn/NAS/COMMON/UTIL/OctetString.h
index 15cd8f6823bec27a52793670e5b3fa6e9710c14d..b3ea818cc85fd697b425a3846cf52d0be7525a76 100644
--- a/openair-cn/NAS/COMMON/UTIL/OctetString.h
+++ b/openair-cn/NAS/COMMON/UTIL/OctetString.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdint.h>
 #include <assert.h>
 
diff --git a/openair-cn/NAS/COMMON/UTIL/TLVDecoder.c b/openair-cn/NAS/COMMON/UTIL/TLVDecoder.c
index 744a00d99cf1b924e575c38e298165423dfa5b81..c1ce58ea0048609dc29ec4da238f25b4d9d2e632 100644
--- a/openair-cn/NAS/COMMON/UTIL/TLVDecoder.c
+++ b/openair-cn/NAS/COMMON/UTIL/TLVDecoder.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/NAS/COMMON/UTIL/TLVDecoder.h b/openair-cn/NAS/COMMON/UTIL/TLVDecoder.h
index 152fd9c7374b680e8448ace3b69cbe9078811395..99e1b9d90ff4d43063a806ff61ce9d79521c4973 100644
--- a/openair-cn/NAS/COMMON/UTIL/TLVDecoder.h
+++ b/openair-cn/NAS/COMMON/UTIL/TLVDecoder.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #ifndef TLV_DECODER_H_
 #define TLV_DECODER_H_
 
diff --git a/openair-cn/NAS/COMMON/UTIL/TLVEncoder.c b/openair-cn/NAS/COMMON/UTIL/TLVEncoder.c
index 39a5d94761eeb0b62160e819d8338f38dfb3eda3..0ad394e97a53a19876a9292152b1fa3b5ce4577a 100644
--- a/openair-cn/NAS/COMMON/UTIL/TLVEncoder.c
+++ b/openair-cn/NAS/COMMON/UTIL/TLVEncoder.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/NAS/COMMON/UTIL/TLVEncoder.h b/openair-cn/NAS/COMMON/UTIL/TLVEncoder.h
index 287635e9be9a428f2236160672e404744c485039..29175946187f9c55ed7638c8087bc9fde7871f4b 100644
--- a/openair-cn/NAS/COMMON/UTIL/TLVEncoder.h
+++ b/openair-cn/NAS/COMMON/UTIL/TLVEncoder.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #ifndef TLV_ENCODER_H_
 #define TLV_ENCODER_H_
 
diff --git a/openair-cn/NAS/COMMON/UTIL/device.c b/openair-cn/NAS/COMMON/UTIL/device.c
index d6ab908a6cfb9ff97acec00d375f33db2ccea423..375ffe084665d1254683320e4171422a52c08334 100644
--- a/openair-cn/NAS/COMMON/UTIL/device.c
+++ b/openair-cn/NAS/COMMON/UTIL/device.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    device.c
 
diff --git a/openair-cn/NAS/COMMON/UTIL/device.h b/openair-cn/NAS/COMMON/UTIL/device.h
index b67a2cdbc3ec24122dc1e06952cedd3191a09dea..ded1aca095714fee4447a245c4d7e73c8c739b84 100644
--- a/openair-cn/NAS/COMMON/UTIL/device.h
+++ b/openair-cn/NAS/COMMON/UTIL/device.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    device.h
 
diff --git a/openair-cn/NAS/COMMON/UTIL/memory.c b/openair-cn/NAS/COMMON/UTIL/memory.c
index 739509c2284c9be0ce3fef8af7e46a84ef5dfdf5..18c7f8b1af9366a073a4084b328f3bdacd25059e 100644
--- a/openair-cn/NAS/COMMON/UTIL/memory.c
+++ b/openair-cn/NAS/COMMON/UTIL/memory.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    memory.c
 
diff --git a/openair-cn/NAS/COMMON/UTIL/memory.h b/openair-cn/NAS/COMMON/UTIL/memory.h
index 5d7734fc47b3a576909dbd199bc89a85f4d31894..0314630f0c049927fa6eef9773f5bf14e4cefc29 100644
--- a/openair-cn/NAS/COMMON/UTIL/memory.h
+++ b/openair-cn/NAS/COMMON/UTIL/memory.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    memory.h
 
diff --git a/openair-cn/NAS/COMMON/UTIL/nas_log.c b/openair-cn/NAS/COMMON/UTIL/nas_log.c
index a781d25971a3b0602fa3ed3e9bd6cb6fa5e9253e..f0d6a24ffe94e847d6f70db3a34807ff1833240d 100644
--- a/openair-cn/NAS/COMMON/UTIL/nas_log.c
+++ b/openair-cn/NAS/COMMON/UTIL/nas_log.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    nas_log.c
 
diff --git a/openair-cn/NAS/COMMON/UTIL/nas_log.h b/openair-cn/NAS/COMMON/UTIL/nas_log.h
index b947e3356393f2adba4642a74edd155e7999a03f..c17efb338320f83c3f6159a291514082dcddbb18 100644
--- a/openair-cn/NAS/COMMON/UTIL/nas_log.h
+++ b/openair-cn/NAS/COMMON/UTIL/nas_log.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    nas_log.h
 
diff --git a/openair-cn/NAS/COMMON/UTIL/nas_timer.c b/openair-cn/NAS/COMMON/UTIL/nas_timer.c
index d7c1eb9f0ec8ebf8a00af286fddf8028fb7f522b..5dc6923140d8799948623073754dddadc6324b32 100644
--- a/openair-cn/NAS/COMMON/UTIL/nas_timer.c
+++ b/openair-cn/NAS/COMMON/UTIL/nas_timer.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source      nas_timer.c
 
diff --git a/openair-cn/NAS/COMMON/UTIL/nas_timer.h b/openair-cn/NAS/COMMON/UTIL/nas_timer.h
index 891eeab5e78ff574c4f5930ac295eb961458f2c8..0b65da4159eb586b03ad673cc30701d544185df4 100644
--- a/openair-cn/NAS/COMMON/UTIL/nas_timer.h
+++ b/openair-cn/NAS/COMMON/UTIL/nas_timer.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source      nas_timer.h
 
diff --git a/openair-cn/NAS/COMMON/UTIL/parser.c b/openair-cn/NAS/COMMON/UTIL/parser.c
index cb69a6370332fbb62772e1eeaea17c831ff0fd32..5f8350ea584f51b2d3b9364ae86169514b211971 100644
--- a/openair-cn/NAS/COMMON/UTIL/parser.c
+++ b/openair-cn/NAS/COMMON/UTIL/parser.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    parser.c
 
diff --git a/openair-cn/NAS/COMMON/UTIL/parser.h b/openair-cn/NAS/COMMON/UTIL/parser.h
index 0fe247015f6ff2248285fc12990693c7603235a2..fc8a9ad1264d8cf8d4056d7aef2d6ecc145ba8d6 100644
--- a/openair-cn/NAS/COMMON/UTIL/parser.h
+++ b/openair-cn/NAS/COMMON/UTIL/parser.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    parser.h
 
diff --git a/openair-cn/NAS/COMMON/UTIL/socket.c b/openair-cn/NAS/COMMON/UTIL/socket.c
index f7793204f2c6918c8326b56f579d7cefa1c7f6d0..b76506109b910ac12f2336ee4ec1e84e1e6f4660 100644
--- a/openair-cn/NAS/COMMON/UTIL/socket.c
+++ b/openair-cn/NAS/COMMON/UTIL/socket.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
  Source   socket.c
 
diff --git a/openair-cn/NAS/COMMON/UTIL/socket.h b/openair-cn/NAS/COMMON/UTIL/socket.h
index 1bf885d962863d941a07088d0b314a939b57edd3..4be749d3cc9e46a98222cb714831d77d45c9ca2a 100644
--- a/openair-cn/NAS/COMMON/UTIL/socket.h
+++ b/openair-cn/NAS/COMMON/UTIL/socket.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    socket.h
 
diff --git a/openair-cn/NAS/COMMON/UTIL/stty.c b/openair-cn/NAS/COMMON/UTIL/stty.c
index 67819a8e46773e916f501a3e7f31e23146716a50..1fb72e9204e09a7f4a5806bc129cf9096308c941 100644
--- a/openair-cn/NAS/COMMON/UTIL/stty.c
+++ b/openair-cn/NAS/COMMON/UTIL/stty.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    stty.c
 
diff --git a/openair-cn/NAS/COMMON/UTIL/tst/Makefile b/openair-cn/NAS/COMMON/UTIL/tst/Makefile
index ab0d17c98288f69450592019b6b7a5d6728eeeda..efaaff22fa27dc9b33d8b5ee84d5dcafcc50c712 100644
--- a/openair-cn/NAS/COMMON/UTIL/tst/Makefile
+++ b/openair-cn/NAS/COMMON/UTIL/tst/Makefile
@@ -1,31 +1,4 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
+
 ifndef PROJDIR
 PROJDIR = $(PWD)/../../..
 endif
diff --git a/openair-cn/NAS/COMMON/UTIL/tst/timer.c b/openair-cn/NAS/COMMON/UTIL/tst/timer.c
index 458a94861dbc1e49e29b99e2d7814922ad88500b..7b963fba3039969255458e038fef1338c2562450 100644
--- a/openair-cn/NAS/COMMON/UTIL/tst/timer.c
+++ b/openair-cn/NAS/COMMON/UTIL/tst/timer.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source    timer.c
 
diff --git a/openair-cn/NAS/COMMON/securityDef.h b/openair-cn/NAS/COMMON/securityDef.h
index 88325f0aaf661a7dcf9760cf29e32f0475213ca3..c418de2c60555bb702055e1c98031d02b87d4f6b 100644
--- a/openair-cn/NAS/COMMON/securityDef.h
+++ b/openair-cn/NAS/COMMON/securityDef.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source      securityDef.h
 
diff --git a/openair-cn/NAS/COMMON/userDef.h b/openair-cn/NAS/COMMON/userDef.h
index b99e263382cef4c04e2885e38497c5a0c5f899cc..f6398794fed5ecf84c1797e30a60879bd08ad334 100644
--- a/openair-cn/NAS/COMMON/userDef.h
+++ b/openair-cn/NAS/COMMON/userDef.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 Source      userDef.h
 
diff --git a/openair-cn/NAS/MME/API/MME/COPYING b/openair-cn/NAS/MME/API/MME/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/API/MME/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/NAS/MME/API/MME/Makefile b/openair-cn/NAS/MME/API/MME/Makefile
deleted file mode 100644
index 7c92861153628481124495a6d0c12774c21e7cc6..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/API/MME/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-ifndef PROJDIR
-PROJDIR  = $(PWD)/../../..
-INCLUDES = -I. -I$(INCDIR) -I$(UTILDIR)
-endif
-
-include $(PROJDIR)/Makerules
-include $(PROJDIR)/Makefile.inc
-
-all: $(OBJS)
-
-%.o: %.c Makefile
-	@echo Compiling $<
-	@$(CC) $(CFLAGS) -c $< -o $@
-
-clean:
-	$(RM) $(OBJS) *.bak *~
-
-depend:
-	makedepend -- ${CFLAGS} -- ${SRCS}
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/openair-cn/NAS/MME/API/MME/mme_api.c b/openair-cn/NAS/MME/API/MME/mme_api.c
deleted file mode 100644
index 91b688558cd525f0d203a743d0457bb343af1227..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/API/MME/mme_api.c
+++ /dev/null
@@ -1,569 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      mme_api.c
-
-Version     0.1
-
-Date        2013/02/28
-
-Product     NAS stack
-
-Subsystem   Application Programming Interface
-
-Author      Frederic Maurel
-
-Description Implements the API used by the NAS layer running in the MME
-        to interact with a Mobility Management Entity
-
-*****************************************************************************/
-
-
-#include "mme_api.h"
-#include "nas_log.h"
-#include "assertions.h"
-
-#include <string.h> // memcpy
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/* Maximum number of PDN connections the MME may simultaneously support */
-#define MME_API_PDN_MAX         10
-
-/* MME group identifier */
-#define MME_API_MME_GID         0x0102
-
-/* MME code */
-#define MME_API_MME_CODE        0x12
-
-/* Default APN */
-static const OctetString mme_api_default_apn = {
-  /* LW: apn seems to be coded using a one byte size field before each part of the name */
-#if 1
-  15, (uint8_t *)("\x0e" "www.eurecom.fr")
-#else
-  35, (uint8_t *)("\x08" "internet"
-  "\x02" "v4"
-  "\x03" "pft"
-  "\x06" "mnc092"
-  "\x06" "mcc208"
-  "\x04" "gprs")
-#endif
-};
-
-/* APN configured for emergency bearer services */
-static const OctetString mme_api_emergency_apn = {
-  19, (uint8_t *)("\x12" "www.eurecom_sos.fr")
-};
-
-/* Public Land Mobile Network identifier */
-static const plmn_t mme_api_plmn = {0, 2, 0xf, 8, 0, 1};    // 20810
-
-/* Number of concecutive tracking areas */
-#define MME_API_NB_TACS     4
-/* Code of the first tracking area belonging to the PLMN */
-#define MME_API_FIRST_TAC   0x0001
-
-
-/* Authentication parameter RAND */
-static const uint8_t _mme_api_rand[AUTH_RAND_SIZE] = {
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x02, 0x03, 0x04
-};
-
-/* Authentication parameter AUTN */
-static const uint8_t _mme_api_autn[AUTH_AUTN_SIZE] = {
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, 0x04, 0x03, 0x02, 0x00,
-  0x00, 0x00, 0x00, 0x00
-};
-
-/* Authentication response parameter */
-static const uint8_t _mme_api_xres[AUTH_XRES_SIZE] = {
-  0x67, 0x70, 0x3a, 0x31, 0xf2, 0x2a, 0x2d, 0x51, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00
-};
-
-static mme_api_ip_version_t _mme_api_ip_capability = MME_API_IPV4V6_ADDR;
-
-/* Pool of IPv4 addresses */
-static uint8_t _mme_api_ipv4_addr[MME_API_PDN_MAX][4] = {
-  {0xC0, 0xA8, 0x02, 0x3C},   /* 192.168.02.60    */
-  {0xC0, 0xA8, 0x0C, 0xBB},   /* 192.168.12.187   */
-  {0xC0, 0xA8, 0x0C, 0xBC},   /* 192.168.12.188   */
-  {0xC0, 0xA8, 0x0C, 0xBD},   /* 192.168.12.189   */
-  {0xC0, 0xA8, 0x0C, 0xBE},   /* 192.168.12.190   */
-  {0xC0, 0xA8, 0x0C, 0xBF},   /* 192.168.12.191   */
-  {0xC0, 0xA8, 0x0C, 0xC0},   /* 192.168.12.192   */
-  {0xC0, 0xA8, 0x0C, 0xC1},   /* 192.168.12.193   */
-  {0xC0, 0xA8, 0x0C, 0xC2},   /* 192.168.12.194   */
-  {0xC0, 0xA8, 0x0C, 0xC3},   /* 192.168.12.195   */
-};
-/* Pool of IPv6 addresses */
-static uint8_t _mme_api_ipv6_addr[MME_API_PDN_MAX][8] = {
-  /* FE80::221:70FF:C0A8:023C/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x02, 0x3C},
-  /* FE80::221:70FF:C0A8:0CBB/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBB},
-  /* FE80::221:70FF:C0A8:0CBC/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBC},
-  /* FE80::221:70FF:C0A8:0CBD/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBD},
-  /* FE80::221:70FF:C0A8:0CBE/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBE},
-  /* FE80::221:70FF:C0A8:0CBF/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBF},
-  /* FE80::221:70FF:C0A8:0CC0/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xC0},
-  /* FE80::221:70FF:C0A8:0CC1/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xC1},
-  /* FE80::221:70FF:C0A8:0CC2/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xC2},
-  /* FE80::221:70FF:C0A8:0CC3/64  */
-  {0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xC3},
-};
-/* Pool of IPv4v6 addresses */
-static uint8_t _mme_api_ipv4v6_addr[MME_API_PDN_MAX][12] = {
-  /* 192.168.02.60, FE80::221:70FF:C0A8:023C/64   */
-  {0xC0, 0xA8, 0x02, 0x3C, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x02, 0x3C},
-  /* 192.168.12.187, FE80::221:70FF:C0A8:0CBB/64  */
-  {0xC0, 0xA8, 0x0C, 0xBB, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBB},
-  /* 192.168.12.188, FE80::221:70FF:C0A8:0CBC/64  */
-  {0xC0, 0xA8, 0x0C, 0xBC, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBC},
-  /* 192.168.12.189, FE80::221:70FF:C0A8:0CBD/64  */
-  {0xC0, 0xA8, 0x0C, 0xBD, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBD},
-  /* 192.168.12.189, FE80::221:70FF:C0A8:0CBE/64  */
-  {0xC0, 0xA8, 0x0C, 0xBD, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBE},
-  /* 192.168.12.189, FE80::221:70FF:C0A8:0CBF/64  */
-  {0xC0, 0xA8, 0x0C, 0xBD, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xBF},
-  /* 192.168.12.189, FE80::221:70FF:C0A8:0CC0/64  */
-  {0xC0, 0xA8, 0x0C, 0xBD, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xC0},
-  /* 192.168.12.189, FE80::221:70FF:C0A8:0CC1/64  */
-  {0xC0, 0xA8, 0x0C, 0xBD, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xC1},
-  /* 192.168.12.189, FE80::221:70FF:C0A8:0CC2/64  */
-  {0xC0, 0xA8, 0x0C, 0xBD, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xC2},
-  /* 192.168.12.189, FE80::221:70FF:C0A8:0CC3/64  */
-  {0xC0, 0xA8, 0x0C, 0xBD, 0x02, 0x21, 0x70, 0xFF, 0xC0, 0xA8, 0x0C, 0xC3},
-};
-static const OctetString _mme_api_pdn_addr[MME_API_ADDR_MAX][MME_API_PDN_MAX] = {
-  { /* IPv4 network capability */
-    {4, _mme_api_ipv4_addr[0]},
-    {4, _mme_api_ipv4_addr[1]},
-    {4, _mme_api_ipv4_addr[2]},
-    {4, _mme_api_ipv4_addr[3]},
-    {4, _mme_api_ipv4_addr[4]},
-    {4, _mme_api_ipv4_addr[5]},
-    {4, _mme_api_ipv4_addr[6]},
-    {4, _mme_api_ipv4_addr[7]},
-    {4, _mme_api_ipv4_addr[8]},
-    {4, _mme_api_ipv4_addr[9]},
-  },
-  { /* IPv6 network capability */
-    {8, _mme_api_ipv6_addr[0]},
-    {8, _mme_api_ipv6_addr[1]},
-    {8, _mme_api_ipv6_addr[2]},
-    {8, _mme_api_ipv6_addr[3]},
-    {8, _mme_api_ipv6_addr[4]},
-    {8, _mme_api_ipv6_addr[5]},
-    {8, _mme_api_ipv6_addr[6]},
-    {8, _mme_api_ipv6_addr[7]},
-    {8, _mme_api_ipv6_addr[8]},
-    {8, _mme_api_ipv6_addr[9]},
-  },
-  { /* IPv4v6 network capability */
-    {12, _mme_api_ipv4v6_addr[0]},
-    {12, _mme_api_ipv4v6_addr[1]},
-    {12, _mme_api_ipv4v6_addr[2]},
-    {12, _mme_api_ipv4v6_addr[3]},
-    {12, _mme_api_ipv4v6_addr[4]},
-    {12, _mme_api_ipv4v6_addr[5]},
-    {12, _mme_api_ipv4v6_addr[6]},
-    {12, _mme_api_ipv4v6_addr[7]},
-    {12, _mme_api_ipv4v6_addr[8]},
-    {12, _mme_api_ipv4v6_addr[9]},
-  },
-};
-
-/* Subscribed QCI */
-#define MME_API_QCI     3
-
-/* Data bit rates */
-#define MME_API_BIT_RATE_64K    0x40
-#define MME_API_BIT_RATE_128K   0x48
-#define MME_API_BIT_RATE_512K   0x78
-#define MME_API_BIT_RATE_1024K  0x87
-
-/* Total number of PDN connections (should not exceed MME_API_PDN_MAX) */
-static int _mme_api_pdn_id = 0;
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    mme_api_get_emm_config()                                  **
- **                                                                        **
- ** Description: Retreives MME configuration data related to EPS mobility  **
- **      management                                                **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-#if defined(NAS_BUILT_IN_EPC)
-int mme_api_get_emm_config(mme_api_emm_config_t *config,
-                           mme_config_t *mme_config_p)
-#else
-int mme_api_get_emm_config(mme_api_emm_config_t *config)
-#endif
-{
-#if defined(NAS_BUILT_IN_EPC)
-  int i;
-#endif
-  LOG_FUNC_IN;
-  AssertFatal(mme_config_p->gummei.nb_plmns >= 1, "No PLMN configured");
-  AssertFatal(mme_config_p->gummei.nb_mmec >= 1, "No MME Code configured");
-  AssertFatal(mme_config_p->gummei.nb_mme_gid >= 1, "No MME Group ID configured");
-
-  config->gummei.plmn.MCCdigit1 = (mme_config_p->gummei.plmn_mcc[0]/100)%10;
-  config->gummei.plmn.MCCdigit2 = (mme_config_p->gummei.plmn_mcc[0]/10)%10;
-  config->gummei.plmn.MCCdigit3 = mme_config_p->gummei.plmn_mcc[0]%10;
-
-  if (mme_config_p->gummei.plmn_mnc_len[0] == 2) {
-    config->gummei.plmn.MNCdigit1 = (mme_config_p->gummei.plmn_mnc[0]/10)%10;
-    config->gummei.plmn.MNCdigit2 = mme_config_p->gummei.plmn_mnc[0]%10;
-    config->gummei.plmn.MNCdigit3 = 0xf;
-  } else if (mme_config_p->gummei.plmn_mnc_len[0] == 3) {
-    config->gummei.plmn.MNCdigit1 = (mme_config_p->gummei.plmn_mnc[0]/100)%10;
-    config->gummei.plmn.MNCdigit2 = (mme_config_p->gummei.plmn_mnc[0]/10)%10;
-    config->gummei.plmn.MNCdigit3 = mme_config_p->gummei.plmn_mnc[0]%10;
-  } else {
-    AssertFatal((mme_config_p->gummei.plmn_mnc_len[0] >= 2) &&
-                (mme_config_p->gummei.plmn_mnc_len[0] <= 3), "BAD MNC length for GUMMEI");
-  }
-
-  config->gummei.MMEgid = mme_config_p->gummei.mme_gid[0];
-  config->gummei.MMEcode = mme_config_p->gummei.mmec[0];
-#if defined(NAS_BUILT_IN_EPC)
-
-  /* SR: this config param comes from MME global config */
-  if (mme_config_p->emergency_attach_supported != 0) {
-    config->features |= MME_API_EMERGENCY_ATTACH;
-  }
-
-  if (mme_config_p->unauthenticated_imsi_supported != 0) {
-    config->features |= MME_API_UNAUTHENTICATED_IMSI;
-  }
-
-  for (i = 0 ; i < 8; i++) {
-    config->prefered_integrity_algorithm[i] = mme_config_p->nas_config.prefered_integrity_algorithm[i];
-    config->prefered_ciphering_algorithm[i] = mme_config_p->nas_config.prefered_ciphering_algorithm[i];
-  }
-
-#else
-  config->features = MME_API_EMERGENCY_ATTACH | MME_API_UNAUTHENTICATED_IMSI;
-#endif
-
-  LOG_FUNC_RETURN (RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    mme_api_get_config()                                      **
- **                                                                        **
- ** Description: Retreives MME configuration data related to EPS session   **
- **      management                                                **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int mme_api_get_esm_config(mme_api_esm_config_t *config)
-{
-  LOG_FUNC_IN;
-
-  if (_mme_api_ip_capability == MME_API_IPV4_ADDR) {
-    config->features = MME_API_IPV4;
-  } else if (_mme_api_ip_capability == MME_API_IPV6_ADDR) {
-    config->features = MME_API_IPV6;
-  } else if (_mme_api_ip_capability == MME_API_IPV4V6_ADDR) {
-    config->features = MME_API_IPV4 | MME_API_IPV6;
-  } else {
-    config->features = 0;
-  }
-
-  LOG_FUNC_RETURN (RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    mme_api_identify_guti()                                   **
- **                                                                        **
- ** Description: Requests the MME to identify the UE using the specified   **
- **      GUTI. If the UE is known by the MME (a Mobility Manage-   **
- **      ment context exists for this  UE  in  the  MME), its se-  **
- **      curity context is returned.                               **
- **                                                                        **
- ** Inputs:  guti:      EPS Globally Unique Temporary UE Identity  **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     vector:    The EPS authentication vector of the UE if **
- **             known by the network; NULL otherwise.      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int mme_api_identify_guti(const GUTI_t *guti, auth_vector_t *vector)
-{
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    mme_api_identify_imsi()                                   **
- **                                                                        **
- ** Description: Requests the MME to identify the UE using the specified   **
- **      IMSI. If the UE is known by the MME (a Mobility Manage-   **
- **      ment context exists for this  UE  in  the  MME), its se-  **
- **      curity context is returned.                               **
- **                                                                        **
- ** Inputs:  imsi:      International Mobile Subscriber Identity   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     vector:    The EPS authentication vector of the UE if **
- **             known by the network; NULL otherwise.      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int mme_api_identify_imsi(const imsi_t *imsi, auth_vector_t *vector)
-{
-  int rc = RETURNok;
-
-  LOG_FUNC_IN;
-  AssertFatal(0, "Hardcoded values");
-
-  memcpy(vector->rand, _mme_api_rand, AUTH_RAND_SIZE);
-  memcpy(vector->autn, _mme_api_autn, AUTH_AUTN_SIZE);
-  memcpy(vector->xres, _mme_api_xres, AUTH_XRES_SIZE);
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    mme_api_identify_imei()                                   **
- **                                                                        **
- ** Description: Requests the MME to identify the UE using the specified   **
- **      IMEI. If the UE is known by the MME (a Mobility Manage-   **
- **      ment context exists for this  UE  in  the  MME), its se-  **
- **      curity context is returned.                               **
- **                                                                        **
- ** Inputs:  imei:      International Mobile Equipment Identity    **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     vector:    The EPS authentication vector of the UE if **
- **             known by the network; NULL otherwise.      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int mme_api_identify_imei(const imei_t *imei, auth_vector_t *vector)
-{
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    mme_api_new_guti()                                        **
- **                                                                        **
- ** Description: Requests the MME to assign a new GUTI to the UE identi-   **
- **      fied by the given IMSI.                                   **
- **                                                                        **
- ** Description: Requests the MME to assign a new GUTI to the UE identi-   **
- **      fied by the given IMSI and returns the list of consecu-   **
- **      tive tracking areas the UE is registered to.              **
- **                                                                        **
- ** Inputs:  imsi:      International Mobile Subscriber Identity   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     guti:      The new assigned GUTI                      **
- **      tac:       Code of the first tracking area belonging  **
- **             to the PLMN                                **
- **      n_tacs:    Number of concecutive tracking areas       **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int mme_api_new_guti(const imsi_t *imsi, GUTI_t *guti, tac_t *tac, int *n_tacs)
-{
-  int rc = RETURNok;
-
-  static unsigned int tmsi = 1;
-
-  LOG_FUNC_IN;
-  AssertFatal(0, "Hardcoded values");
-
-  guti->gummei.plmn = mme_api_plmn;
-  guti->gummei.MMEgid = MME_API_MME_GID;
-  guti->gummei.MMEcode = MME_API_MME_CODE;
-  guti->m_tmsi = tmsi++;
-
-  *tac = MME_API_FIRST_TAC;
-  *n_tacs = MME_API_NB_TACS;
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:        mme_api_subscribe()                                       **
- **                                                                        **
- ** Description: Requests the MME to check whether connectivity with the   **
- **              requested PDN can be established using the specified APN. **
- **              If accepted the MME returns PDN subscription context con- **
- **              taining EPS subscribed QoS profile, the default APN if    **
- **              required and UE's IPv4 address and/or the IPv6 prefix.    **
- **                                                                        **
- ** Inputs:  apn:               If not NULL, Access Point Name of the PDN  **
- **                             to connect to                              **
- **              is_emergency:  TRUE if the PDN connectivity is requested  **
- **                             for emergency bearer services              **
- **                  Others:    None                                       **
- **                                                                        **
- ** Outputs:         apn:       If NULL, default APN or APN configured for **
- **                             emergency bearer services                  **
- **                  pdn_addr:  PDN connection IPv4 address or IPv6 inter- **
- **                             face identifier to be used to build the    **
- **                             IPv6 link local address                    **
- **                  qos:       EPS subscribed QoS profile                 **
- **                  Return:    RETURNok, RETURNerror                      **
- **                  Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int mme_api_subscribe(OctetString *apn, mme_api_ip_version_t mme_pdn_index, OctetString *pdn_addr,
-                      int is_emergency, mme_api_qos_t *qos)
-{
-  int rc = RETURNok;
-
-  LOG_FUNC_IN;
-
-  if ( apn && (apn->length == 0) ) {
-    /* PDN connectivity to default APN */
-    if (is_emergency) {
-      apn->length = mme_api_emergency_apn.length;
-      apn->value = mme_api_emergency_apn.value;
-    } else {
-      apn->length = mme_api_default_apn.length;
-      apn->value = mme_api_default_apn.value;
-    }
-  }
-
-  /* Assign PDN address */
-  if ( pdn_addr && (_mme_api_pdn_id < MME_API_PDN_MAX) ) {
-    pdn_addr->length =
-      _mme_api_pdn_addr[mme_pdn_index][_mme_api_pdn_id].length;
-    pdn_addr->value =
-      _mme_api_pdn_addr[mme_pdn_index][_mme_api_pdn_id].value;
-    /* Increment the total number of PDN connections */
-    _mme_api_pdn_id += 1;
-  } else {
-    /* Maximum number of PDN connections exceeded */
-    rc = RETURNerror;
-  }
-
-  /* Setup EPS subscribed QoS profile */
-  if (qos) {
-    qos->qci = MME_API_QCI;
-    /* Uplink bit rate */
-    qos->gbr[MME_API_UPLINK] = MME_API_BIT_RATE_64K;
-    qos->mbr[MME_API_UPLINK] = MME_API_BIT_RATE_128K;
-    /* Downlink bit rate */
-    qos->gbr[MME_API_DOWNLINK] = MME_API_BIT_RATE_512K;
-    qos->mbr[MME_API_DOWNLINK] = MME_API_BIT_RATE_1024K;
-  } else {
-    rc = RETURNerror;
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:        mme_api_unsubscribe()                                     **
- **                                                                        **
- ** Description: Requests the MME to release connectivity with the reques- **
- **              ted PDN using the specified APN.                          **
- **                                                                        **
- ** Inputs:  apn:               Access Point Name of the PDN to disconnect **
- **                             from                                       **
- **                  Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **                  Return:    RETURNok, RETURNerror                      **
- **                  Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int mme_api_unsubscribe(OctetString *apn)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNok;
-
-  /* Decrement the total number of PDN connections */
-  _mme_api_pdn_id -= 1;
-
-  LOG_FUNC_RETURN(rc);
-}
diff --git a/openair-cn/NAS/MME/API/MME/mme_api.h b/openair-cn/NAS/MME/API/MME/mme_api.h
deleted file mode 100644
index a8f83e12374af194c7c9dcc6380f6d14389b2cb6..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/API/MME/mme_api.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      mme_api.h
-
-Version     0.1
-
-Date        2013/02/28
-
-Product     NAS stack
-
-Subsystem   Application Programming Interface
-
-Author      Frederic Maurel
-
-Description Implements the API used by the NAS layer running in the MME
-        to interact with a Mobility Management Entity
-
-*****************************************************************************/
-#ifndef __MME_API_H__
-#define __MME_API_H__
-
-# if defined(NAS_BUILT_IN_EPC)
-#   include "mme_config.h"
-# endif
-#include "commonDef.h"
-#include "securityDef.h"
-#include "OctetString.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/* Maximum number of UEs the MME may simultaneously support */
-#define MME_API_NB_UE_MAX       256
-
-
-/* Features supported by the MME */
-typedef enum mme_api_feature_s {
-  MME_API_NO_FEATURE_SUPPORTED    = 0,
-  MME_API_EMERGENCY_ATTACH        = (1<<0),
-  MME_API_UNAUTHENTICATED_IMSI    = (1<<1),
-  MME_API_IPV4                    = (1<<2),
-  MME_API_IPV6                    = (1<<3),
-  MME_API_SINGLE_ADDR_BEARERS     = (1<<4),
-} mme_api_feature_t;
-
-/* Network IP version capability */
-typedef enum mme_api_ip_version_e {
-  MME_API_IPV4_ADDR,
-  MME_API_IPV6_ADDR,
-  MME_API_IPV4V6_ADDR,
-  MME_API_ADDR_MAX
-} mme_api_ip_version_t;
-
-/*
- * EPS Mobility Management configuration data
- * ------------------------------------------
- */
-typedef struct mme_api_emm_config_s {
-  mme_api_feature_t features; /* Supported features           */
-  gummei_t          gummei;   /* EPS Globally Unique MME Identity */
-  uint8_t           prefered_integrity_algorithm[8];// choice in NAS_SECURITY_ALGORITHMS_EIA0, etc
-  uint8_t           prefered_ciphering_algorithm[8];// choice in NAS_SECURITY_ALGORITHMS_EEA0, etc
-} mme_api_emm_config_t;
-
-/*
- * EPS Session Management configuration data
- * -----------------------------------------
- */
-typedef struct mme_api_esm_config_s {
-  mme_api_feature_t features; /* Supported features           */
-  uint8_t   dns_prim_ipv4[4]; /* Network byte order */
-  uint8_t   dns_sec_ipv4[4];  /* Network byte order */
-} mme_api_esm_config_t;
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/* EPS subscribed QoS profile  */
-typedef struct mme_api_qos_s {
-#define MME_API_UPLINK      0
-#define MME_API_DOWNLINK    1
-#define MME_API_DIRECTION   2
-  int gbr[MME_API_DIRECTION]; /* Guaranteed Bit Rate          */
-  int mbr[MME_API_DIRECTION]; /* Maximum Bit Rate         */
-  int qci;            /* QoS Class Identifier         */
-} mme_api_qos_t;
-
-/* Traffic Flow Template */
-typedef struct mme_api_tft_s {
-} mme_api_tft_t;
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-#if defined(NAS_BUILT_IN_EPC)
-int mme_api_get_emm_config(mme_api_emm_config_t *config,
-                           mme_config_t *mme_config_p);
-#else
-int mme_api_get_emm_config(mme_api_emm_config_t *config);
-#endif
-int mme_api_get_esm_config(mme_api_esm_config_t *config);
-
-int mme_api_identify_guti(const GUTI_t *guti, auth_vector_t *vector);
-int mme_api_identify_imsi(const imsi_t *imsi, auth_vector_t *vector);
-int mme_api_identify_imei(const imei_t *imei, auth_vector_t *vector);
-int mme_api_new_guti(const imsi_t *imsi, GUTI_t *guti, tac_t *tac, int *n_tacs);
-
-int mme_api_subscribe(OctetString *apn, mme_api_ip_version_t mme_pdn_index, OctetString *pdn_addr,
-                      int is_emergency, mme_api_qos_t *qos);
-int mme_api_unsubscribe(OctetString *apn);
-
-#endif /* __MME_API_H__*/
diff --git a/openair-cn/NAS/MME/EMM/Attach.c b/openair-cn/NAS/MME/EMM/Attach.c
deleted file mode 100644
index ec7a873cd97039bd1817c1b944a2050153943aeb..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/Attach.c
+++ /dev/null
@@ -1,1692 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      Attach.c
-
-Version     0.1
-
-Date        2012/12/04
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the attach related EMM procedure executed by the
-        Non-Access Stratum.
-
-        To get internet connectivity from the network, the network
-        have to know about the UE. When the UE is switched on, it
-        has to initiate the attach procedure to get initial access
-        to the network and register its presence to the Evolved
-        Packet Core (EPC) network in order to receive EPS services.
-
-        As a result of a successful attach procedure, a context is
-        created for the UE in the MME, and a default bearer is esta-
-        blished between the UE and the PDN-GW. The UE gets the home
-        agent IPv4 and IPv6 addresses and full connectivity to the
-        IP network.
-
-        The network may also initiate the activation of additional
-        dedicated bearers for the support of a specific service.
-
-*****************************************************************************/
-
-#include "emm_proc.h"
-#include "networkDef.h"
-#include "nas_log.h"
-#include "nas_timer.h"
-
-#include "emmData.h"
-
-#include "emm_sap.h"
-#include "esm_sap.h"
-#include "emm_cause.h"
-
-#include "NasSecurityAlgorithms.h"
-
-#include "mme_api.h"
-#include "mme_config.h"
-# if defined(NAS_BUILT_IN_EPC)
-#   include "nas_itti_messaging.h"
-# endif
-
-#include <string.h> // memcmp, memcpy
-#include <stdlib.h> // malloc, free
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/* String representation of the EPS attach type */
-static const char *_emm_attach_type_str[] = {
-  "EPS", "IMSI", "EMERGENCY", "RESERVED"
-};
-
-
-/*
- * --------------------------------------------------------------------------
- *      Internal data handled by the attach procedure in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * Timer handlers
- */
-static void *_emm_attach_t3450_handler(void *);
-
-/*
- * Functions that may initiate EMM common procedures
- */
-static int _emm_attach_identify(void *);
-static int _emm_attach_security(void *);
-static int _emm_attach(void *);
-
-/*
- * Abnormal case attach procedures
- */
-static int _emm_attach_release(void *);
-static int _emm_attach_reject(void *);
-static int _emm_attach_abort(void *);
-
-static int _emm_attach_have_changed(const emm_data_context_t *ctx,
-                                    emm_proc_attach_type_t type, int ksi,
-                                    GUTI_t *guti, imsi_t *imsi, imei_t *imei,
-                                    int eea, int eia, int ucs2, int uea, int uia, int gea,
-                                    int umts_present, int gprs_present);
-static int _emm_attach_update(emm_data_context_t *ctx, unsigned int ueid,
-                              emm_proc_attach_type_t type, int ksi,
-                              GUTI_t *guti, imsi_t *imsi, imei_t *imei,
-                              int eea, int eia, int ucs2, int uea, int uia, int gea,
-                              int umts_present, int gprs_present,
-                              const OctetString *esm_msg_pP);
-
-/*
- * Internal data used for attach procedure
- */
-typedef struct attach_data_s {
-  unsigned int ueid;          /* UE identifier        */
-#define ATTACH_COUNTER_MAX  5
-  unsigned int retransmission_count;  /* Retransmission counter   */
-  OctetString esm_msg;        /* ESM message to be sent within
-                     * the Attach Accept message    */
-} attach_data_t;
-
-static int _emm_attach_accept(emm_data_context_t *emm_ctx, attach_data_t *data);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-/*
- * --------------------------------------------------------------------------
- *          Attach procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_attach_request()                                 **
- **                                                                        **
- ** Description: Performs the UE requested attach procedure                **
- **                                                                        **
- **              3GPP TS 24.301, section 5.5.1.2.3                         **
- **      The network may initiate EMM common procedures, e.g. the  **
- **      identification, authentication and security mode control  **
- **      procedures during the attach procedure, depending on the  **
- **      information received in the ATTACH REQUEST message (e.g.  **
- **      IMSI, GUTI and KSI).                                      **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      type:      Type of the requested attach               **
- **      native_ksi:    TRUE if the security context is of type    **
- **             native (for KSIASME)                       **
- **      ksi:       The NAS ket sey identifier                 **
- **      native_guti:   TRUE if the provided GUTI is native GUTI   **
- **      guti:      The GUTI if provided by the UE             **
- **      imsi:      The IMSI if provided by the UE             **
- **      imei:      The IMEI if provided by the UE             **
- **      tai:       Identifies the last visited tracking area  **
- **             the UE is registered to                    **
- **      eea:       Supported EPS encryption algorithms        **
- **      eia:       Supported EPS integrity algorithms         **
- **      esm_msg_pP:   PDN connectivity request ESM message       **
- **      Others:    _emm_data                                  **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _emm_data                                  **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_attach_request(
-  unsigned int ueid,
-  emm_proc_attach_type_t type,
-  int native_ksi, int ksi,
-  int native_guti,
-  GUTI_t *guti,
-  imsi_t *imsi,
-  imei_t *imei,
-  tai_t    *tai,
-  int eea, int eia, int ucs2, int uea, int uia, int gea,
-  int umts_present, int gprs_present,
-  const OctetString *esm_msg_pP)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-  emm_data_context_t ue_ctx;
-
-  LOG_TRACE(INFO, "EMM-PROC  - EPS attach type = %s (%d) requested (ueid="NAS_UE_ID_FMT")",
-            _emm_attach_type_str[type], type, ueid);
-  LOG_TRACE(INFO, "EMM-PROC  - umts_present = %u umts_present = %u",
-            umts_present, gprs_present);
-
-  /* Initialize the temporary UE context */
-  memset(&ue_ctx, 0 , sizeof(emm_data_context_t));
-  ue_ctx.is_dynamic = FALSE;
-  ue_ctx.ueid = ueid;
-
-#if !defined(NAS_BUILT_IN_EPC)
-
-  /* UE identifier sanity check */
-  if (ueid >= EMM_DATA_NB_UE_MAX) {
-    ue_ctx.emm_cause = EMM_CAUSE_ILLEGAL_UE;
-    /* Do not accept UE with invalid identifier */
-    rc = _emm_attach_reject(&ue_ctx);
-    LOG_FUNC_RETURN(rc);
-  }
-
-#endif
-
-  /* 3GPP TS 24.301, section 5.5.1.1
-   * MME not configured to support attach for emergency bearer services
-   * shall reject any request to attach with an attach type set to "EPS
-   * emergency attach".
-   */
-  if ( !(_emm_data.conf.features & MME_API_EMERGENCY_ATTACH) &&
-       (type == EMM_ATTACH_TYPE_EMERGENCY) ) {
-    ue_ctx.emm_cause = EMM_CAUSE_IMEI_NOT_ACCEPTED;
-    /* Do not accept the UE to attach for emergency services */
-    rc = _emm_attach_reject(&ue_ctx);
-    LOG_FUNC_RETURN(rc);
-  }
-
-  /* Get the UE's EMM context if it exists */
-  emm_data_context_t **emm_ctx = NULL;
-
-#if defined(NAS_BUILT_IN_EPC)
-  emm_data_context_t *temp = NULL;
-
-  temp    = emm_data_context_get(&_emm_data, ueid);
-  emm_ctx = &temp;
-#else
-  emm_ctx = &_emm_data.ctx[ueid];
-#endif
-
-  if (*emm_ctx != NULL) {
-    /* An EMM context already exists for the UE in the network */
-    if (_emm_attach_have_changed(*emm_ctx, type, ksi, guti, imsi, imei,
-                                 eea, eia, ucs2, uea, uia, gea, umts_present, gprs_present)) {
-      /*
-       * 3GPP TS 24.301, section 5.5.1.2.7, abnormal case e
-       * The attach parameters have changed from the one received within
-       * the previous Attach Request message;
-       * the previously initiated attach procedure shall be aborted and
-       * the new attach procedure shall be executed;
-       */
-      LOG_TRACE(WARNING, "EMM-PROC  - Attach parameters have changed");
-      /*
-       * Notify EMM that the attach procedure is aborted
-       */
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMREG_PROC_ABORT;
-      emm_sap.u.emm_reg.ueid = ueid;
-      emm_sap.u.emm_reg.ctx  = *emm_ctx;
-
-      rc = emm_sap_send(&emm_sap);
-
-      if (rc != RETURNerror) {
-        /* Process new attach procedure */
-        LOG_TRACE(WARNING, "EMM-PROC  - Initiate new attach procedure");
-        rc = emm_proc_attach_request(ueid, type, native_ksi, ksi,
-                                     native_guti, guti, imsi, imei,
-                                     tai, eea, eia, ucs2, uea, uia, gea,
-                                     umts_present, gprs_present, esm_msg_pP);
-      }
-
-      LOG_FUNC_RETURN(rc);
-    } else {
-      /* Continue with the previous attach procedure */
-      LOG_TRACE(WARNING, "EMM-PROC  - Received duplicated Attach Request");
-      LOG_FUNC_RETURN(RETURNok);
-    }
-  } else {
-    /* Create UE's EMM context */
-    *emm_ctx = (emm_data_context_t *)calloc(1, sizeof(emm_data_context_t));
-
-    if (emm_ctx == NULL) {
-      LOG_TRACE(WARNING, "EMM-PROC  - Failed to create EMM context");
-      ue_ctx.emm_cause = EMM_CAUSE_ILLEGAL_UE;
-      /* Do not accept the UE to attach to the network */
-      rc = _emm_attach_reject(&ue_ctx);
-      LOG_FUNC_RETURN(rc);
-    }
-
-    (*emm_ctx)->is_dynamic = TRUE;
-    (*emm_ctx)->guti = NULL;
-    (*emm_ctx)->old_guti = NULL;
-    (*emm_ctx)->imsi = NULL;
-    (*emm_ctx)->imei = NULL;
-    (*emm_ctx)->security = NULL;
-    (*emm_ctx)->esm_msg.length = 0;
-    (*emm_ctx)->esm_msg.value = NULL;
-    (*emm_ctx)->emm_cause = EMM_CAUSE_SUCCESS;
-    (*emm_ctx)->_emm_fsm_status = EMM_INVALID;
-    (*emm_ctx)->ueid = ueid;
-    /*
-     * Initialize EMM timers
-     */
-    (*emm_ctx)->T3450.id = NAS_TIMER_INACTIVE_ID;
-    (*emm_ctx)->T3450.sec = T3450_DEFAULT_VALUE;
-    (*emm_ctx)->T3460.id = NAS_TIMER_INACTIVE_ID;
-    (*emm_ctx)->T3460.sec = T3460_DEFAULT_VALUE;
-    (*emm_ctx)->T3470.id = NAS_TIMER_INACTIVE_ID;
-    (*emm_ctx)->T3470.sec = T3470_DEFAULT_VALUE;
-
-    emm_fsm_set_status(ueid, *emm_ctx, EMM_DEREGISTERED);
-#if defined(NAS_BUILT_IN_EPC)
-    emm_data_context_add(&_emm_data, *(emm_ctx));
-#endif
-
-#warning "TRICK TO SET TAC, BUT LOOK AT SPEC"
-
-    if (tai) {
-      LOG_TRACE(WARNING,
-                "EMM-PROC  - Set tac %u in context",
-                tai->tac);
-      (*emm_ctx)->tac = tai->tac;
-    } else {
-      LOG_TRACE(WARNING,
-                "EMM-PROC  - Could not set tac in context, cause tai is NULL ");
-    }
-  }
-
-  /* Update the EMM context with the current attach procedure parameters */
-  rc = _emm_attach_update(*emm_ctx, ueid, type, ksi, guti, imsi, imei,
-                          eea, eia, ucs2, uea, uia, gea, umts_present, gprs_present, esm_msg_pP);
-
-  if (rc != RETURNok) {
-    LOG_TRACE(WARNING, "EMM-PROC  - Failed to update EMM context");
-    /* Do not accept the UE to attach to the network */
-    (*emm_ctx)->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-    rc = _emm_attach_reject(*emm_ctx);
-  } else {
-    /*
-     * Performs UE identification
-     */
-    rc = _emm_attach_identify(*emm_ctx);
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:        emm_proc_attach_reject()                                  **
- **                                                                        **
- ** Description: Performs the protocol error abnormal case                 **
- **                                                                        **
- **              3GPP TS 24.301, section 5.5.1.2.7, case b                 **
- **              If the ATTACH REQUEST message is received with a protocol **
- **              error, the network shall return an ATTACH REJECT message. **
- **                                                                        **
- ** Inputs:  ueid:              UE lower layer identifier                  **
- **                  emm_cause: EMM cause code to be reported              **
- **                  Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **                  Return:    RETURNok, RETURNerror                      **
- **                  Others:    _emm_data                                  **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_attach_reject(unsigned int ueid, int emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  /* Create temporary UE context */
-  emm_data_context_t ue_ctx;
-  memset(&ue_ctx, 0 , sizeof(emm_data_context_t));
-  ue_ctx.is_dynamic = FALSE;
-  ue_ctx.ueid = ueid;
-
-  /* Update the EMM cause code */
-#if defined(NAS_BUILT_IN_EPC)
-
-  if (ueid > 0)
-#else
-  if (ueid < EMM_DATA_NB_UE_MAX)
-#endif
-  {
-    ue_ctx.emm_cause = emm_cause;
-  } else {
-    ue_ctx.emm_cause = EMM_CAUSE_ILLEGAL_UE;
-  }
-
-  /* Do not accept attach request with protocol error */
-  rc = _emm_attach_reject(&ue_ctx);
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_attach_complete()                                **
- **                                                                        **
- ** Description: Terminates the attach procedure upon receiving Attach     **
- **      Complete message from the UE.                             **
- **                                                                        **
- **              3GPP TS 24.301, section 5.5.1.2.4                         **
- **      Upon receiving an ATTACH COMPLETE message, the MME shall  **
- **      stop timer T3450, enter state EMM-REGISTERED and consider **
- **      the GUTI sent in the ATTACH ACCEPT message as valid.      **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      esm_msg_pP:   Activate default EPS bearer context accept **
- **             ESM message                                **
- **      Others:    _emm_data                                  **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _emm_data, T3450                           **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_attach_complete(unsigned int ueid, const OctetString *esm_msg_pP)
-{
-  emm_data_context_t *emm_ctx = NULL;
-  int rc = RETURNerror;
-  emm_sap_t emm_sap;
-  esm_sap_t esm_sap;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMM-PROC  - EPS attach complete (ueid="NAS_UE_ID_FMT")", ueid);
-
-  /* Release retransmission timer parameters */
-  attach_data_t *data = (attach_data_t *)(emm_proc_common_get_args(ueid));
-
-  if (data) {
-    if (data->esm_msg.length > 0) {
-      free(data->esm_msg.value);
-    }
-    free(data);
-  }
-
-  /* Get the UE context */
-#if defined(NAS_BUILT_IN_EPC)
-  if (ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-#else
-  if (ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[ueid];
-  }
-#endif
-
-  if (emm_ctx) {
-	/* Stop timer T3450 */
-	LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", emm_ctx->T3450.id);
-	emm_ctx->T3450.id = nas_timer_stop(emm_ctx->T3450.id);
-	MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 stopped UE "NAS_UE_ID_FMT" ", ueid);
-
-	/* Delete the old GUTI and consider the GUTI sent in the Attach
-     * Accept message as valid */
-    emm_ctx->guti_is_new = FALSE;
-    emm_ctx->old_guti = NULL;
-    /*
-     * Forward the Activate Default EPS Bearer Context Accept message
-     * to the EPS session management sublayer
-     */
-    esm_sap.primitive = ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_CNF;
-    esm_sap.is_standalone = FALSE;
-    esm_sap.ueid = ueid;
-    esm_sap.recv = esm_msg_pP;
-    esm_sap.ctx  = emm_ctx;
-    rc = esm_sap_send(&esm_sap);
-  } else {
-    LOG_TRACE(ERROR, "EMM-PROC  - No EMM context exists");
-  }
-
-  if ( (rc != RETURNerror) && (esm_sap.err == ESM_SAP_SUCCESS) ) {
-    /* Set the network attachment indicator */
-    emm_ctx->is_attached = TRUE;
-    /*
-     * Notify EMM that attach procedure has successfully completed
-     */
-    emm_sap.primitive = EMMREG_ATTACH_CNF;
-    emm_sap.u.emm_reg.ueid = ueid;
-    emm_sap.u.emm_reg.ctx  = emm_ctx;
-    rc = emm_sap_send(&emm_sap);
-  } else if (esm_sap.err != ESM_SAP_DISCARDED) {
-    /*
-     * Notify EMM that attach procedure failed
-     */
-    emm_sap.primitive = EMMREG_ATTACH_REJ;
-    emm_sap.u.emm_reg.ueid = ueid;
-    emm_sap.u.emm_reg.ctx  = emm_ctx;
-    rc = emm_sap_send(&emm_sap);
-  } else {
-    /*
-     * ESM procedure failed and, received message has been discarded or
-     * Status message has been returned; ignore ESM procedure failure
-     */
-    rc = RETURNok;
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-
-
-/*
- * --------------------------------------------------------------------------
- *              Timer handlers
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_attach_t3450_handler()                               **
- **                                                                        **
- ** Description: T3450 timeout handler                                     **
- **                                                                        **
- **              3GPP TS 24.301, section 5.5.1.2.7, case c                 **
- **      On the first expiry of the timer T3450, the network shall **
- **      retransmit the ATTACH ACCEPT message and shall reset and  **
- **      restart timer T3450. This retransmission is repeated four **
- **      times, i.e. on the fifth expiry of timer T3450, the at-   **
- **      tach procedure shall be aborted and the MME enters state  **
- **      EMM-DEREGISTERED.                                         **
- **                                                                        **
- ** Inputs:  args:      handler parameters                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void *_emm_attach_t3450_handler(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  attach_data_t *data = (attach_data_t *)(args);
-
-  /* Increment the retransmission counter */
-  data->retransmission_count += 1;
-
-  LOG_TRACE(WARNING, "EMM-PROC  - T3450 timer expired, retransmission "
-            "counter = %d", data->retransmission_count);
-
-  /* Get the UE's EMM context */
-  emm_data_context_t *emm_ctx = NULL;
-
-#if defined(NAS_BUILT_IN_EPC)
-  emm_ctx = emm_data_context_get(&_emm_data, data->ueid);
-#else
-  emm_ctx = _emm_data.ctx[data->ueid];
-#endif
-
-  if (data->retransmission_count < ATTACH_COUNTER_MAX) {
-    /* Send attach accept message to the UE */
-    rc = _emm_attach_accept(emm_ctx, data);
-  } else {
-    /* Abort the attach procedure */
-    rc = _emm_attach_abort(data);
-  }
-
-  LOG_FUNC_RETURN(NULL);
-}
-
-/*
- * --------------------------------------------------------------------------
- *              Abnormal cases in the MME
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_attach_release()                                     **
- **                                                                        **
- ** Description: Releases the UE context data.                             **
- **                                                                        **
- ** Inputs:  args:      Data to be released                        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_attach_release(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  emm_data_context_t *emm_ctx = (emm_data_context_t *)(args);
-
-  if (emm_ctx) {
-    LOG_TRACE(WARNING, "EMM-PROC  - Release UE context data (ueid="NAS_UE_ID_FMT")",
-              emm_ctx->ueid);
-
-    unsigned int ueid = emm_ctx->ueid;
-
-    if (emm_ctx->guti) {
-      free(emm_ctx->guti);
-      emm_ctx->guti = NULL;
-    }
-
-    if (emm_ctx->imsi) {
-      free(emm_ctx->imsi);
-      emm_ctx->imsi = NULL;
-    }
-
-    if (emm_ctx->imei) {
-      free(emm_ctx->imei);
-      emm_ctx->imei = NULL;
-    }
-
-    if (emm_ctx->esm_msg.length > 0) {
-      free(emm_ctx->esm_msg.value);
-      emm_ctx->esm_msg.value = NULL;
-    }
-
-    /* Release NAS security context */
-    if (emm_ctx->security) {
-      emm_security_context_t *security = emm_ctx->security;
-
-      if (security->kasme.value) {
-        free(security->kasme.value);
-        security->kasme.value  = NULL;
-        security->kasme.length = 0;
-      }
-
-      if (security->knas_enc.value) {
-        free(security->knas_enc.value);
-        security->knas_enc.value  = NULL;
-        security->knas_enc.length = 0;
-      }
-
-      if (security->knas_int.value) {
-        free(security->knas_int.value);
-        security->knas_int.value  = NULL;
-        security->knas_int.length = 0;
-      }
-
-      free(emm_ctx->security);
-      emm_ctx->security = NULL;
-    }
-
-    /* Stop timer T3450 */
-    if (emm_ctx->T3450.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", emm_ctx->T3450.id);
-      emm_ctx->T3450.id = nas_timer_stop(emm_ctx->T3450.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
-    }
-    /* Stop timer T3460 */
-    if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
-      emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
-    }
-    /* Stop timer T3470 */
-    if (emm_ctx->T3470.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", emm_ctx->T3460.id);
-      emm_ctx->T3470.id = nas_timer_stop(emm_ctx->T3470.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
-    }
-
-    /* Release the EMM context */
-#if defined(NAS_BUILT_IN_EPC)
-    emm_data_context_remove(&_emm_data, emm_ctx);
-#else
-    free(_emm_data.ctx[ueid]);
-    _emm_data.ctx[ueid] = NULL;
-#endif
-    /*
-     * Notify EMM that the attach procedure is aborted
-     */
-    emm_sap_t emm_sap;
-    emm_sap.primitive = EMMREG_PROC_ABORT;
-    emm_sap.u.emm_reg.ueid = ueid;
-    emm_sap.u.emm_reg.ctx  = emm_ctx;
-    rc = emm_sap_send(&emm_sap);
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_attach_reject()                                      **
- **                                                                        **
- ** Description: Performs the attach procedure not accepted by the network.**
- **                                                                        **
- **              3GPP TS 24.301, section 5.5.1.2.5                         **
- **      If the attach request cannot be accepted by the network,  **
- **      the MME shall send an ATTACH REJECT message to the UE in- **
- **      including an appropriate EMM cause value.                 **
- **                                                                        **
- ** Inputs:  args:      UE context data                            **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_attach_reject(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  emm_data_context_t *emm_ctx = (emm_data_context_t *)(args);
-
-  if (emm_ctx) {
-    emm_sap_t emm_sap;
-    LOG_TRACE(WARNING, "EMM-PROC  - EMM attach procedure not accepted "
-              "by the network (ueid="NAS_UE_ID_FMT", cause=%d)",
-              emm_ctx->ueid, emm_ctx->emm_cause);
-    /*
-     * Notify EMM-AS SAP that Attach Reject message has to be sent
-     * onto the network
-     */
-    emm_sap.primitive = EMMAS_ESTABLISH_REJ;
-    emm_sap.u.emm_as.u.establish.ueid = emm_ctx->ueid;
-    emm_sap.u.emm_as.u.establish.UEid.guti = NULL;
-
-    if (emm_ctx->emm_cause == EMM_CAUSE_SUCCESS) {
-      emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-    }
-
-    emm_sap.u.emm_as.u.establish.emm_cause = emm_ctx->emm_cause;
-    emm_sap.u.emm_as.u.establish.NASinfo = EMM_AS_NAS_INFO_ATTACH;
-
-    if (emm_ctx->emm_cause != EMM_CAUSE_ESM_FAILURE) {
-      emm_sap.u.emm_as.u.establish.NASmsg.length = 0;
-      emm_sap.u.emm_as.u.establish.NASmsg.value = NULL;
-    } else if (emm_ctx->esm_msg.length > 0) {
-      emm_sap.u.emm_as.u.establish.NASmsg = emm_ctx->esm_msg;
-    } else {
-      LOG_TRACE(ERROR, "EMM-PROC  - ESM message is missing");
-      LOG_FUNC_RETURN(RETURNerror);
-    }
-
-    /* Setup EPS NAS security data */
-    emm_as_set_security_data(&emm_sap.u.emm_as.u.establish.sctx,
-                             emm_ctx->security, FALSE, TRUE);
-    rc = emm_sap_send(&emm_sap);
-
-    /* Release the UE context, even if the network failed to send the
-     * ATTACH REJECT message */
-    if (emm_ctx->is_dynamic) {
-      rc = _emm_attach_release(emm_ctx);
-    }
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_attach_abort()                                       **
- **                                                                        **
- ** Description: Aborts the attach procedure                               **
- **                                                                        **
- ** Inputs:  args:      Attach procedure data to be released       **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3450                                      **
- **                                                                        **
- ***************************************************************************/
-static int _emm_attach_abort(void *args)
-{
-  int rc = RETURNerror;
-  emm_data_context_t *ctx = NULL;
-  attach_data_t *data;
-
-  LOG_FUNC_IN;
-
-  data = (attach_data_t *)(args);
-
-  if (data) {
-    unsigned int ueid = data->ueid;
-    esm_sap_t esm_sap;
-
-    LOG_TRACE(WARNING, "EMM-PROC  - Abort the attach procedure (ueid="NAS_UE_ID_FMT")",
-              ueid);
-#if defined(NAS_BUILT_IN_EPC)
-    ctx = emm_data_context_get(&_emm_data, ueid);
-#else
-    ctx = _emm_data.ctx[ueid];
-#endif
-    if (ctx) {
-      /* Stop timer T3450 */
-      if (ctx->T3450.id != NAS_TIMER_INACTIVE_ID) {
-        LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", ctx->T3450.id);
-        ctx->T3450.id = nas_timer_stop(ctx->T3450.id);
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 stopped UE "NAS_UE_ID_FMT" ", data->ueid);
-      }
-    }
-
-    /* Release retransmission timer parameters */
-    if (data->esm_msg.length > 0) {
-      free(data->esm_msg.value);
-    }
-
-    free(data);
-
-
-
-    /*
-     * Notify ESM that the network locally refused PDN connectivity
-     * to the UE
-     */
-    esm_sap.primitive = ESM_PDN_CONNECTIVITY_REJ;
-    esm_sap.ueid = ueid;
-    esm_sap.ctx  = ctx;
-    esm_sap.recv = NULL;
-    rc = esm_sap_send(&esm_sap);
-
-    if (rc != RETURNerror) {
-      /*
-       * Notify EMM that EPS attach procedure failed
-       */
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMREG_ATTACH_REJ;
-      emm_sap.u.emm_reg.ueid = ueid;
-      emm_sap.u.emm_reg.ctx  = ctx;
-      rc = emm_sap_send(&emm_sap);
-
-      if (rc != RETURNerror) {
-        /* Release the UE context */
-        rc = _emm_attach_release(ctx);
-      }
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/*
- * --------------------------------------------------------------------------
- *      Functions that may initiate EMM common procedures
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_attach_identify()                                    **
- **                                                                        **
- ** Description: Performs UE's identification. May initiates identifica-   **
- **      tion, authentication and security mode control EMM common **
- **      procedures.                                               **
- **                                                                        **
- ** Inputs:  args:      Identification argument parameters         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _emm_data                                  **
- **                                                                        **
- ***************************************************************************/
-static int _emm_attach_identify(void *args)
-{
-  int rc = RETURNerror;
-  emm_data_context_t *emm_ctx = (emm_data_context_t *)(args);
-  int guti_reallocation = FALSE;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMM-PROC  - Identify incoming UE (ueid="NAS_UE_ID_FMT") using %s",
-            emm_ctx->ueid, (emm_ctx->imsi)? "IMSI" : (emm_ctx->guti)? "GUTI" :
-            (emm_ctx->imei)? "IMEI" : "none");
-
-  /*
-   * UE's identification
-   * -------------------
-   */
-  if (emm_ctx->imsi) {
-    /* The UE identifies itself using an IMSI */
-#if defined(NAS_BUILT_IN_EPC)
-    if (!emm_ctx->security) {
-      /* Ask upper layer to fetch new security context */
-      nas_itti_auth_info_req(emm_ctx->ueid, emm_ctx->imsi, 1, NULL);
-
-      rc = RETURNok;
-    } else
-#endif
-    {
-      rc = mme_api_identify_imsi(emm_ctx->imsi, &emm_ctx->vector);
-
-      if (rc != RETURNok) {
-        LOG_TRACE(WARNING, "EMM-PROC  - "
-                  "Failed to identify the UE using provided IMSI");
-        emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-      }
-
-      guti_reallocation = TRUE;
-    }
-  } else if (emm_ctx->guti) {
-    /* The UE identifies itself using a GUTI */
-    rc = mme_api_identify_guti(emm_ctx->guti, &emm_ctx->vector);
-
-    if (rc != RETURNok) {
-      LOG_TRACE(WARNING, "EMM-PROC  - Failed to identify the UE using "
-                "provided GUTI (tmsi=%u)", emm_ctx->guti->m_tmsi);
-      /* 3GPP TS 24.401, Figure 5.3.2.1-1, point 4
-       * The UE was attempting to attach to the network using a GUTI
-       * that is not known by the network; the MME shall initiate an
-       * identification procedure to retrieve the IMSI from the UE.
-       */
-      rc = emm_proc_identification(emm_ctx->ueid,
-                                   emm_ctx,
-                                   EMM_IDENT_TYPE_IMSI,
-                                   _emm_attach_identify,
-                                   _emm_attach_release,
-                                   _emm_attach_release);
-
-      if (rc != RETURNok) {
-        /* Failed to initiate the identification procedure */
-        LOG_TRACE(WARNING, "EMM-PROC  - "
-                  "Failed to initiate identification procedure");
-        emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-        /* Do not accept the UE to attach to the network */
-        rc = _emm_attach_reject(emm_ctx);
-      }
-
-      /* Relevant callback will be executed when identification
-       * procedure completes */
-      LOG_FUNC_RETURN(rc);
-    }
-  } else if ( (emm_ctx->imei) && (emm_ctx->is_emergency) ) {
-    /* The UE is attempting to attach to the network for emergency
-     * services using an IMEI */
-    rc = mme_api_identify_imei(emm_ctx->imei, &emm_ctx->vector);
-
-    if (rc != RETURNok) {
-      LOG_TRACE(WARNING, "EMM-PROC  - "
-                "Failed to identify the UE using provided IMEI");
-      emm_ctx->emm_cause = EMM_CAUSE_IMEI_NOT_ACCEPTED;
-    }
-  } else {
-    LOG_TRACE(WARNING, "EMM-PROC  - UE's identity is not available");
-    emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-  }
-
-  /*
-   * GUTI reallocation
-   * -----------------
-   */
-  if ( (rc != RETURNerror) && guti_reallocation ) {
-    /* Release the old GUTI */
-    if (emm_ctx->old_guti) {
-      free(emm_ctx->old_guti);
-    }
-
-    /* Save the GUTI previously used by the UE to identify itself */
-    emm_ctx->old_guti = emm_ctx->guti;
-    /* Allocate a new GUTI */
-    emm_ctx->guti = (GUTI_t *)malloc(sizeof(GUTI_t));
-    /* Request the MME to assign a GUTI to the UE */
-    rc = mme_api_new_guti(emm_ctx->imsi, emm_ctx->guti,
-                          &emm_ctx->tac, &emm_ctx->n_tacs);
-
-    if (rc != RETURNok) {
-      LOG_TRACE(WARNING, "EMM-PROC  - Failed to assign new GUTI");
-      emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-    } else {
-      LOG_TRACE(WARNING, "EMM-PROC  - New GUTI assigned to the UE "
-                "(tmsi=%u)", emm_ctx->guti->m_tmsi);
-      /* Update the GUTI indicator as new */
-      emm_ctx->guti_is_new = TRUE;
-    }
-  }
-
-  /*
-   * UE's authentication
-   * -------------------
-   */
-  if (rc != RETURNerror) {
-    if (emm_ctx->security) {
-      /* A security context exists for the UE in the network;
-       * proceed with the attach procedure.
-       */
-      rc = _emm_attach(emm_ctx);
-    } else if ( (emm_ctx->is_emergency) &&
-                (_emm_data.conf.features & MME_API_UNAUTHENTICATED_IMSI) ) {
-      /* 3GPP TS 24.301, section 5.5.1.2.3
-       * 3GPP TS 24.401, Figure 5.3.2.1-1, point 5a
-       * MME configured to support Emergency Attach for unauthenticated
-       * IMSIs may choose to skip the authentication procedure even if
-       * no EPS security context is available and proceed directly to the
-       * execution of the security mode control procedure.
-       */
-      rc = _emm_attach_security(emm_ctx);
-    }
-
-#if !defined(NAS_BUILT_IN_EPC)
-    else {
-      /* 3GPP TS 24.401, Figure 5.3.2.1-1, point 5a
-       * No EMM context exists for the UE in the network; authentication
-       * and NAS security setup to activate integrity protection and NAS
-       * ciphering are mandatory.
-       */
-      auth_vector_t *auth = &emm_ctx->vector;
-      const OctetString loc_rand = {AUTH_RAND_SIZE, (uint8_t *)auth->rand};
-      const OctetString autn = {AUTH_AUTN_SIZE, (uint8_t *)auth->autn};
-      rc = emm_proc_authentication(emm_ctx, emm_ctx->ueid, 0, // TODO: eksi != 0
-                                   &loc_rand, &autn,
-                                   _emm_attach_security,
-                                   _emm_attach_release,
-                                   _emm_attach_release);
-
-      if (rc != RETURNok) {
-        /* Failed to initiate the authentication procedure */
-        LOG_TRACE(WARNING, "EMM-PROC  - "
-                  "Failed to initiate authentication procedure");
-        emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-      }
-    }
-
-#endif
-  }
-
-  if (rc != RETURNok) {
-    /* Do not accept the UE to attach to the network */
-    rc = _emm_attach_reject(emm_ctx);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:        _emm_attach_security()                                    **
- **                                                                        **
- ** Description: Initiates security mode control EMM common procedure.     **
- **                                                                        **
- ** Inputs:          args:      security argument parameters               **
- **                  Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **                  Return:    RETURNok, RETURNerror                      **
- **                  Others:    _emm_data                                  **
- **                                                                        **
- ***************************************************************************/
-#if defined(NAS_BUILT_IN_EPC)
-int emm_attach_security(void *args)
-{
-  return _emm_attach_security(args);
-}
-#endif
-
-static int _emm_attach_security(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-  emm_data_context_t *emm_ctx = (emm_data_context_t *)(args);
-
-  LOG_TRACE(INFO, "EMM-PROC  - Setup NAS security (ueid="NAS_UE_ID_FMT")", emm_ctx->ueid);
-
-  /* Create new NAS security context */
-  if (emm_ctx->security == NULL) {
-    emm_ctx->security =
-      (emm_security_context_t *)malloc(sizeof(emm_security_context_t));
-  }
-
-  if (emm_ctx->security) {
-    memset(emm_ctx->security, 0, sizeof(emm_security_context_t));
-    emm_ctx->security->type = EMM_KSI_NOT_AVAILABLE;
-    emm_ctx->security->selected_algorithms.encryption = NAS_SECURITY_ALGORITHMS_EEA0;
-    emm_ctx->security->selected_algorithms.integrity  = NAS_SECURITY_ALGORITHMS_EIA0;
-  } else {
-    LOG_TRACE(WARNING, "EMM-PROC  - Failed to create security context");
-    emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-    /* Do not accept the UE to attach to the network */
-    rc = _emm_attach_reject(emm_ctx);
-    LOG_FUNC_RETURN(rc);
-  }
-
-  /* Initialize the security mode control procedure */
-  rc = emm_proc_security_mode_control(emm_ctx->ueid, 0, // TODO: eksi != 0
-                                      emm_ctx->eea, emm_ctx->eia,emm_ctx->ucs2,
-                                      emm_ctx->uea, emm_ctx->uia, emm_ctx->gea,
-                                      emm_ctx->umts_present, emm_ctx->gprs_present,
-                                      _emm_attach, _emm_attach_release,
-                                      _emm_attach_release);
-
-  if (rc != RETURNok) {
-    /* Failed to initiate the security mode control procedure */
-    LOG_TRACE(WARNING, "EMM-PROC  - "
-              "Failed to initiate security mode control procedure");
-    emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-    /* Do not accept the UE to attach to the network */
-    rc = _emm_attach_reject(emm_ctx);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/*
- * --------------------------------------------------------------------------
- *              MME specific local functions
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_attach()                                             **
- **                                                                        **
- ** Description: Performs the attach signalling procedure while a context  **
- **      exists for the incoming UE in the network.                **
- **                                                                        **
- **              3GPP TS 24.301, section 5.5.1.2.4                         **
- **      Upon receiving the ATTACH REQUEST message, the MME shall  **
- **      send an ATTACH ACCEPT message to the UE and start timer   **
- **      T3450.                                                    **
- **                                                                        **
- ** Inputs:  args:      attach argument parameters                 **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _emm_data                                  **
- **                                                                        **
- ***************************************************************************/
-static int _emm_attach(void *args)
-{
-  LOG_FUNC_IN;
-
-  esm_sap_t esm_sap;
-  int rc;
-
-  emm_data_context_t *emm_ctx = (emm_data_context_t *)(args);
-
-  LOG_TRACE(INFO, "EMM-PROC  - Attach UE (ueid="NAS_UE_ID_FMT")", emm_ctx->ueid);
-
-  /* 3GPP TS 24.401, Figure 5.3.2.1-1, point 5a
-   * At this point, all NAS messages shall be protected by the NAS security
-   * functions (integrity and ciphering) indicated by the MME unless the UE
-   * is emergency attached and not successfully authenticated.
-   */
-
-  /*
-   * Notify ESM that PDN connectivity is requested
-   */
-  esm_sap.primitive = ESM_PDN_CONNECTIVITY_REQ;
-  esm_sap.is_standalone = FALSE;
-  esm_sap.ueid = emm_ctx->ueid;
-  esm_sap.ctx  = emm_ctx;
-  esm_sap.recv = &emm_ctx->esm_msg;
-  rc = esm_sap_send(&esm_sap);
-
-  if ( (rc != RETURNerror) && (esm_sap.err == ESM_SAP_SUCCESS) ) {
-    /*
-     * The attach request is accepted by the network
-     */
-
-    /* Delete the stored UE radio capability information, if any */
-    /* Store the UE network capability */
-    /* Assign the TAI list the UE is registered to */
-
-    /* Allocate parameters of the retransmission timer callback */
-    attach_data_t *data = (attach_data_t *)calloc(1,sizeof(attach_data_t));
-
-    if (data != NULL) {
-      /* Setup ongoing EMM procedure callback functions */
-      rc = emm_proc_common_initialize(emm_ctx->ueid, NULL, NULL, NULL,
-                                      _emm_attach_abort, data);
-
-      if (rc != RETURNok) {
-        LOG_TRACE(WARNING,
-                  "Failed to initialize EMM callback functions");
-        free(data);
-        LOG_FUNC_RETURN (RETURNerror);
-      }
-
-      /* Set the UE identifier */
-      data->ueid = emm_ctx->ueid;
-      /* Reset the retransmission counter */
-      data->retransmission_count = 0;
-#if defined(ORIGINAL_CODE)
-      /* Setup the ESM message container */
-      data->esm_msg.value = (uint8_t *)malloc(esm_sap.send.length);
-
-      if (data->esm_msg.value) {
-        data->esm_msg.length = esm_sap.send.length;
-        memcpy(data->esm_msg.value, esm_sap.send.value,
-               esm_sap.send.length);
-      } else {
-        data->esm_msg.length = 0;
-      }
-
-      /* Send attach accept message to the UE */
-      rc = _emm_attach_accept(emm_ctx, data);
-
-      if (rc != RETURNerror) {
-        if (emm_ctx->guti_is_new && emm_ctx->old_guti) {
-          /* Implicit GUTI reallocation;
-           * Notify EMM that common procedure has been initiated
-           */
-          emm_sap_t emm_sap;
-          emm_sap.primitive = EMMREG_COMMON_PROC_REQ;
-          emm_sap.u.emm_reg.ueid = data->ueid;
-          rc = emm_sap_send(&emm_sap);
-        }
-      }
-
-#else
-      rc = RETURNok;
-#endif
-    }
-  } else if (esm_sap.err != ESM_SAP_DISCARDED) {
-    /*
-     * The attach procedure failed due to an ESM procedure failure
-     */
-    emm_ctx->emm_cause = EMM_CAUSE_ESM_FAILURE;
-
-    /* Setup the ESM message container to include PDN Connectivity Reject
-     * message within the Attach Reject message */
-    if (emm_ctx->esm_msg.length > 0) {
-      free(emm_ctx->esm_msg.value);
-    }
-
-    emm_ctx->esm_msg.value = (uint8_t *)malloc(esm_sap.send.length);
-
-    if (emm_ctx->esm_msg.value) {
-      emm_ctx->esm_msg.length = esm_sap.send.length;
-      memcpy(emm_ctx->esm_msg.value, esm_sap.send.value,
-             esm_sap.send.length);
-      /* Send Attach Reject message */
-      rc = _emm_attach_reject(emm_ctx);
-    } else {
-      emm_ctx->esm_msg.length = 0;
-    }
-  } else {
-    /*
-     * ESM procedure failed and, received message has been discarded or
-     * Status message has been returned; ignore ESM procedure failure
-     */
-    rc = RETURNok;
-  }
-
-  if (rc != RETURNok) {
-    /* The attach procedure failed */
-    LOG_TRACE(WARNING, "EMM-PROC  - Failed to respond to Attach Request");
-    emm_ctx->emm_cause = EMM_CAUSE_PROTOCOL_ERROR;
-    /* Do not accept the UE to attach to the network */
-    rc = _emm_attach_reject(emm_ctx);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-int emm_cn_wrapper_attach_accept(emm_data_context_t *emm_ctx, void *data)
-{
-  return _emm_attach_accept(emm_ctx,(attach_data_t *)data);
-}
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_attach_accept()                                      **
- **                                                                        **
- ** Description: Sends ATTACH ACCEPT message and start timer T3450         **
- **                                                                        **
- ** Inputs:  data:      Attach accept retransmission data          **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3450                                      **
- **                                                                        **
- ***************************************************************************/
-static int _emm_attach_accept(emm_data_context_t *emm_ctx, attach_data_t *data)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  // may be caused by timer not stopped when deleted context
-  if (emm_ctx) {
-    /*
-     * Notify EMM-AS SAP that Attach Accept message together with an Activate
-     * Default EPS Bearer Context Request message has to be sent to the UE
-     */
-
-    emm_sap.primitive = EMMAS_ESTABLISH_CNF;
-    emm_sap.u.emm_as.u.establish.ueid = emm_ctx->ueid;
-
-    if (emm_ctx->guti_is_new && emm_ctx->old_guti) {
-      /* Implicit GUTI reallocation;
-       * include the new assigned GUTI in the Attach Accept message  */
-      LOG_TRACE(INFO,"EMM-PROC  - Implicit GUTI reallocation, include the new assigned GUTI in the Attach Accept message");
-      emm_sap.u.emm_as.u.establish.UEid.guti = emm_ctx->old_guti;
-      emm_sap.u.emm_as.u.establish.new_guti  = emm_ctx->guti;
-    } else if (emm_ctx->guti_is_new && emm_ctx->guti) {
-      /* include the new assigned GUTI in the Attach Accept message  */
-      LOG_TRACE(INFO,"EMM-PROC  - Include the new assigned GUTI in the Attach Accept message");
-      emm_sap.u.emm_as.u.establish.UEid.guti = emm_ctx->guti;
-      emm_sap.u.emm_as.u.establish.new_guti  = emm_ctx->guti;
-    } else {
-      emm_sap.u.emm_as.u.establish.UEid.guti = emm_ctx->guti;
-#warning "TEST LG FORCE GUTI IE IN ATTACH ACCEPT"
-      emm_sap.u.emm_as.u.establish.new_guti  = emm_ctx->guti;
-      //emm_sap.u.emm_as.u.establish.new_guti  = NULL;
-    }
-
-    emm_sap.u.emm_as.u.establish.n_tacs  = emm_ctx->n_tacs;
-    emm_sap.u.emm_as.u.establish.tac     = emm_ctx->tac;
-    emm_sap.u.emm_as.u.establish.NASinfo = EMM_AS_NAS_INFO_ATTACH;
-    /* Setup EPS NAS security data */
-    emm_as_set_security_data(&emm_sap.u.emm_as.u.establish.sctx,
-                           emm_ctx->security, FALSE, TRUE);
-
-    LOG_TRACE(INFO,"EMM-PROC  - encryption = 0x%X ", emm_sap.u.emm_as.u.establish.encryption);
-    LOG_TRACE(INFO,"EMM-PROC  - integrity  = 0x%X ", emm_sap.u.emm_as.u.establish.integrity);
-    emm_sap.u.emm_as.u.establish.encryption = emm_ctx->security->selected_algorithms.encryption;
-    emm_sap.u.emm_as.u.establish.integrity  = emm_ctx->security->selected_algorithms.integrity;
-    LOG_TRACE(INFO,"EMM-PROC  - encryption = 0x%X (0x%X)",
-            emm_sap.u.emm_as.u.establish.encryption,
-            emm_ctx->security->selected_algorithms.encryption);
-    LOG_TRACE(INFO,"EMM-PROC  - integrity  = 0x%X (0x%X)",
-            emm_sap.u.emm_as.u.establish.integrity,
-            emm_ctx->security->selected_algorithms.integrity);
-
-  /* Get the activate default EPS bearer context request message to
-   * transfer within the ESM container of the attach accept message */
-    emm_sap.u.emm_as.u.establish.NASmsg = data->esm_msg;
-    LOG_TRACE(INFO,"EMM-PROC  - NASmsg  src size = %d NASmsg  dst size = %d ",
-            data->esm_msg.length, emm_sap.u.emm_as.u.establish.NASmsg.length);
-
-    rc = emm_sap_send(&emm_sap);
-
-    if (rc != RETURNerror) {
-      if (emm_ctx->T3450.id != NAS_TIMER_INACTIVE_ID) {
-        /* Re-start T3450 timer */
-    	emm_ctx->T3450.id = nas_timer_restart(emm_ctx->T3450.id);
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 restarted UE "NAS_UE_ID_FMT"", data->ueid);
-      } else {
-        /* Start T3450 timer */
-    	emm_ctx->T3450.id = nas_timer_start(emm_ctx->T3450.sec, _emm_attach_t3450_handler, data);
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 started UE "NAS_UE_ID_FMT" ", data->ueid);
-      }
-
-      LOG_TRACE(INFO,"EMM-PROC  - Timer T3450 (%d) expires in %ld seconds",
-    		  emm_ctx->T3450.id, emm_ctx->T3450.sec);
-    }
-  } else {
-    LOG_TRACE(WARNING,"EMM-PROC  - emm_ctx NULL");
-  }
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_attach_have_changed()                                **
- **                                                                        **
- ** Description: Check whether the given attach parameters differs from    **
- **      those previously stored when the attach procedure has     **
- **      been initiated.                                           **
- **                                                                        **
- ** Inputs:  ctx:       EMM context of the UE in the network       **
- **      type:      Type of the requested attach               **
- **      ksi:       Security ket sey identifier                **
- **      guti:      The GUTI provided by the UE                **
- **      imsi:      The IMSI provided by the UE                **
- **      imei:      The IMEI provided by the UE                **
- **      eea:       Supported EPS encryption algorithms        **
- **      eia:       Supported EPS integrity algorithms         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    TRUE if at least one of the parameters     **
- **             differs; FALSE otherwise.                  **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_attach_have_changed(const emm_data_context_t *ctx,
-                                    emm_proc_attach_type_t type, int ksi,
-                                    GUTI_t *guti, imsi_t *imsi, imei_t *imei,
-                                    int eea, int eia, int ucs2, int uea, int uia, int gea,
-                                    int umts_present, int gprs_present)
-{
-  LOG_FUNC_IN;
-
-  /* Emergency bearer services indicator */
-  if ( (type == EMM_ATTACH_TYPE_EMERGENCY) != ctx->is_emergency) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  /* Security key set identifier */
-  if (ksi != ctx->ksi) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  /* Supported EPS encryption algorithms */
-  if (eea != ctx->eea) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  /* Supported EPS integrity algorithms */
-  if (eia != ctx->eia) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  if (umts_present != ctx->umts_present) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  if (ctx->umts_present) {
-    if (ucs2 != ctx->ucs2) {
-      LOG_FUNC_RETURN (TRUE);
-    }
-
-    /* Supported UMTS encryption algorithms */
-    if (uea != ctx->uea) {
-      LOG_FUNC_RETURN (TRUE);
-    }
-
-    /* Supported UMTS integrity algorithms */
-    if (uia != ctx->uia) {
-      LOG_FUNC_RETURN (TRUE);
-    }
-  }
-
-  if (gprs_present != ctx->gprs_present) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  if (ctx->gprs_present) {
-    if (gea != ctx->gea) {
-      LOG_FUNC_RETURN (TRUE);
-    }
-  }
-
-  /* The GUTI if provided by the UE */
-  if ( (guti) && (ctx->guti == NULL) ) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  if ( (guti == NULL) && (ctx->guti) ) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  if ( (guti) && (ctx->guti) ) {
-    if (guti->m_tmsi != ctx->guti->m_tmsi) {
-      LOG_FUNC_RETURN (TRUE);
-    }
-
-    if ( memcmp(&guti->gummei, &ctx->guti->gummei, sizeof(gummei_t)) != 0 ) {
-      LOG_FUNC_RETURN (TRUE);
-    }
-  }
-
-  /* The IMSI if provided by the UE */
-  if ( (imsi) && (ctx->imsi == NULL) ) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  if ( (imsi == NULL) && (ctx->imsi) ) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  if ( (imsi) && (ctx->imsi) ) {
-    if ( memcmp(imsi, ctx->imsi, sizeof(imsi_t)) != 0 ) {
-      LOG_FUNC_RETURN (TRUE);
-    }
-  }
-
-  /* The IMEI if provided by the UE */
-  if ( (imei) && (ctx->imei == NULL) ) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  if ( (imei == NULL) && (ctx->imei) ) {
-    LOG_FUNC_RETURN (TRUE);
-  }
-
-  if ( (imei) && (ctx->imei) ) {
-    if ( memcmp(imei, ctx->imei, sizeof(imei_t)) != 0 ) {
-      LOG_FUNC_RETURN (TRUE);
-    }
-  }
-
-  LOG_FUNC_RETURN (FALSE);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_attach_update()                                      **
- **                                                                        **
- ** Description: Update the EMM context with the given attach procedure    **
- **      parameters.                                               **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      type:      Type of the requested attach               **
- **      ksi:       Security ket sey identifier                **
- **      guti:      The GUTI provided by the UE                **
- **      imsi:      The IMSI provided by the UE                **
- **      imei:      The IMEI provided by the UE                **
- **      eea:       Supported EPS encryption algorithms        **
- **      eia:       Supported EPS integrity algorithms         **
- **      esm_msg_pP:   ESM message contained with the attach re-  **
- **             quest                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     ctx:       EMM context of the UE in the network       **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_attach_update(emm_data_context_t *ctx, unsigned int ueid,
-                              emm_proc_attach_type_t type, int ksi,
-                              GUTI_t *guti, imsi_t *imsi, imei_t *imei,
-                              int eea, int eia, int ucs2, int uea, int uia, int gea,
-                              int umts_present, int gprs_present,
-                              const OctetString *esm_msg_pP)
-{
-  int mnc_length;
-  LOG_FUNC_IN;
-  /* UE identifier */
-  ctx->ueid = ueid;
-  /* Emergency bearer services indicator */
-  ctx->is_emergency = (type == EMM_ATTACH_TYPE_EMERGENCY);
-  /* Security key set identifier */
-  ctx->ksi  = ksi;
-  /* Supported EPS encryption algorithms */
-  ctx->eea  = eea;
-  /* Supported EPS integrity algorithms */
-  ctx->eia  = eia;
-  ctx->ucs2 = ucs2;
-  ctx->uea  = uea;
-  ctx->uia  = uia;
-  ctx->gea  = gea;
-  ctx->umts_present  = umts_present;
-  ctx->gprs_present  = gprs_present;
-
-  /* The GUTI if provided by the UE */
-  if (guti) {
-    LOG_TRACE(INFO, "EMM-PROC  - GUTI NOT NULL");
-
-    if (ctx->guti == NULL) {
-      ctx->guti = (GUTI_t *)malloc(sizeof(GUTI_t));
-    }
-
-    if (ctx->guti != NULL) {
-      memcpy(ctx->guti, guti, sizeof(GUTI_t));
-    } else {
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-  } else {
-    if (ctx->guti == NULL) {
-      ctx->guti = (GUTI_t *)calloc(1, sizeof(GUTI_t));
-    }
-
-#warning "LG: We should assign the GUTI accordingly to the visited plmn id"
-
-    if ((ctx->guti != NULL) && (imsi)) {
-      ctx->tac                         = mme_config.gummei.plmn_tac[0];
-      ctx->guti->gummei.MMEcode        = mme_config.gummei.mmec[0];
-      ctx->guti->gummei.MMEgid         = mme_config.gummei.mme_gid[0];
-      ctx->guti->m_tmsi                = (uint32_t) ctx;
-
-      mnc_length =  mme_config_find_mnc_length(
-                      imsi->u.num.digit1,
-                      imsi->u.num.digit2,
-                      imsi->u.num.digit3,
-                      imsi->u.num.digit4,
-                      imsi->u.num.digit5,
-                      imsi->u.num.digit6);
-
-      if ((mnc_length == 2) || (mnc_length == 3)) {
-        ctx->guti->gummei.plmn.MCCdigit1 = imsi->u.num.digit1;
-        ctx->guti->gummei.plmn.MCCdigit2 = imsi->u.num.digit2;
-        ctx->guti->gummei.plmn.MCCdigit3 = imsi->u.num.digit3;
-
-        if (mnc_length == 2) {
-          ctx->guti->gummei.plmn.MNCdigit1 = imsi->u.num.digit4;
-          ctx->guti->gummei.plmn.MNCdigit2 = imsi->u.num.digit5;
-          ctx->guti->gummei.plmn.MNCdigit3 = 15;
-          LOG_TRACE(WARNING, "EMM-PROC  - Assign GUTI from IMSI %01X%01X%01X.%01X%01X.%04X.%02X.%08X to emm_data_context",
-                    ctx->guti->gummei.plmn.MCCdigit1,
-                    ctx->guti->gummei.plmn.MCCdigit2,
-                    ctx->guti->gummei.plmn.MCCdigit3,
-                    ctx->guti->gummei.plmn.MNCdigit1,
-                    ctx->guti->gummei.plmn.MNCdigit2,
-                    ctx->guti->gummei.MMEgid,
-                    ctx->guti->gummei.MMEcode,
-                    ctx->guti->m_tmsi
-                   );
-        } else {
-          ctx->guti->gummei.plmn.MNCdigit1 = imsi->u.num.digit5;
-          ctx->guti->gummei.plmn.MNCdigit2 = imsi->u.num.digit6;
-          ctx->guti->gummei.plmn.MNCdigit3 = imsi->u.num.digit4;
-          LOG_TRACE(WARNING, "EMM-PROC  - Assign GUTI from IMSI %01X%01X%01X.%01X%01X%01X.%04X.%02X.%08X to emm_data_context",
-                    ctx->guti->gummei.plmn.MCCdigit1,
-                    ctx->guti->gummei.plmn.MCCdigit2,
-                    ctx->guti->gummei.plmn.MCCdigit3,
-                    ctx->guti->gummei.plmn.MNCdigit1,
-                    ctx->guti->gummei.plmn.MNCdigit2,
-                    ctx->guti->gummei.plmn.MNCdigit3,
-                    ctx->guti->gummei.MMEgid,
-                    ctx->guti->gummei.MMEcode,
-                    ctx->guti->m_tmsi
-                   );
-        }
-
-        LOG_TRACE(WARNING, "EMM-PROC  - Set ctx->guti_is_new to emm_data_context");
-        ctx->guti_is_new                 = TRUE;
-      } else {
-        LOG_FUNC_RETURN (RETURNerror);
-      }
-    } else {
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-  }
-
-  /* The IMSI if provided by the UE */
-  if (imsi) {
-    if (ctx->imsi == NULL) {
-      ctx->imsi = (imsi_t *)malloc(sizeof(imsi_t));
-    }
-
-    if (ctx->imsi != NULL) {
-      memcpy(ctx->imsi, imsi, sizeof(imsi_t));
-    } else {
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-  }
-
-  /* The IMEI if provided by the UE */
-  if (imei) {
-    if (ctx->imei == NULL) {
-      ctx->imei = (imei_t *)malloc(sizeof(imei_t));
-    }
-
-    if (ctx->imei != NULL) {
-      memcpy(ctx->imei, imei, sizeof(imei_t));
-    } else {
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-  }
-
-  /* The ESM message contained within the attach request */
-  if (esm_msg_pP->length > 0) {
-    if (ctx->esm_msg.value != NULL) {
-      free(ctx->esm_msg.value);
-      ctx->esm_msg.value  = NULL;
-      ctx->esm_msg.length = 0;
-    }
-
-    ctx->esm_msg.value = (uint8_t *)malloc(esm_msg_pP->length);
-
-    if (ctx->esm_msg.value != NULL) {
-      memcpy((char *)ctx->esm_msg.value,
-              (char *)esm_msg_pP->value, esm_msg_pP->length);
-
-    } else {
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-  }
-
-  ctx->esm_msg.length = esm_msg_pP->length;
-  /* Attachment indicator */
-  ctx->is_attached = FALSE;
-
-  LOG_FUNC_RETURN (RETURNok);
-}
diff --git a/openair-cn/NAS/MME/EMM/Authentication.c b/openair-cn/NAS/MME/EMM/Authentication.c
deleted file mode 100644
index 19eb5c13a8a9274b908ebc7e9bb095447333b5e2..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/Authentication.c
+++ /dev/null
@@ -1,660 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      Authentication.c
-
-Version     0.1
-
-Date        2013/03/04
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the authentication EMM procedure executed by the
-        Non-Access Stratum.
-
-        The purpose of the EPS authentication and key agreement (AKA)
-        procedure is to provide mutual authentication between the user
-        and the network and to agree on a key KASME. The procedure is
-        always initiated and controlled by the network. However, the
-        UE can reject the EPS authentication challenge sent by the
-        network.
-
-        A partial native EPS security context is established in the
-        UE and the network when an EPS authentication is successfully
-        performed. The computed key material KASME is used as the
-        root for the EPS integrity protection and ciphering key
-        hierarchy.
-
-*****************************************************************************/
-
-#include <stdlib.h> // malloc, free
-#include <string.h> // memcpy, memcmp, memset
-#include <arpa/inet.h> // htons
-
-#include "emm_proc.h"
-#include "nas_log.h"
-#include "nas_timer.h"
-#include "emmData.h"
-#include "emm_sap.h"
-#include "emm_cause.h"
-
-# if defined(NAS_BUILT_IN_EPC)
-#   include "nas_itti_messaging.h"
-# endif
-#include "msc.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *  Internal data handled by the authentication procedure in the UE
- * --------------------------------------------------------------------------
- */
-
-/*
- * --------------------------------------------------------------------------
- *  Internal data handled by the authentication procedure in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * Timer handlers
- */
-static void *_authentication_t3460_handler(void *);
-
-/*
- * Function executed whenever the ongoing EMM procedure that initiated
- * the authentication procedure is aborted or the maximum value of the
- * retransmission timer counter is exceed
- */
-static int _authentication_abort(void *);
-
-/*
- * Internal data used for authentication procedure
- */
-typedef struct {
-  unsigned int ueid;          /* UE identifier        */
-#define AUTHENTICATION_COUNTER_MAX  5
-  unsigned int retransmission_count;  /* Retransmission counter   */
-  int ksi;                /* NAS key set identifier   */
-  OctetString rand;           /* Random challenge number  */
-  OctetString autn;           /* Authentication token     */
-  int notify_failure;         /* Indicates whether the authentication
-                     * procedure failure shall be notified
-                     * to the ongoing EMM procedure */
-} authentication_data_t;
-
-static int _authentication_request(authentication_data_t *data);
-static int _authentication_reject(unsigned int ueid);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-/*
- * --------------------------------------------------------------------------
- *      Authentication procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_authentication()                                 **
- **                                                                        **
- ** Description: Initiates authentication procedure to establish partial   **
- **      native EPS security context in the UE and the MME.        **
- **                                                                        **
- **              3GPP TS 24.301, section 5.4.2.2                           **
- **      The network initiates the authentication procedure by     **
- **      sending an AUTHENTICATION REQUEST message to the UE and   **
- **      starting the timer T3460. The AUTHENTICATION REQUEST mes- **
- **      sage contains the parameters necessary to calculate the   **
- **      authentication response.                                  **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      ksi:       NAS key set identifier                     **
- **      rand:      Random challenge number                    **
- **      autn:      Authentication token                       **
- **      success:   Callback function executed when the authen-**
- **             tication procedure successfully completes  **
- **      reject:    Callback function executed when the authen-**
- **             tication procedure fails or is rejected    **
- **      failure:   Callback function executed whener a lower  **
- **             layer failure occured before the authenti- **
- **             cation procedure comnpletes                **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_authentication(void *ctx, unsigned int ueid, int ksi,
-                            const OctetString *_rand, const OctetString *autn,
-                            emm_common_success_callback_t success,
-                            emm_common_reject_callback_t reject,
-                            emm_common_failure_callback_t failure)
-
-{
-  int rc = RETURNerror;
-  authentication_data_t *data;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMM-PROC  - Initiate authentication KSI = %d, ctx = %p", ksi, ctx);
-
-  /* Allocate parameters of the retransmission timer callback */
-  data = (authentication_data_t *)malloc(sizeof(authentication_data_t));
-
-  if (data != NULL) {
-    /* Setup ongoing EMM procedure callback functions */
-    rc = emm_proc_common_initialize(ueid, success, reject, failure,
-                                    _authentication_abort, data);
-
-    if (rc != RETURNok) {
-      LOG_TRACE(WARNING, "Failed to initialize EMM callback functions");
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-
-    /* Set the UE identifier */
-    data->ueid = ueid;
-    /* Reset the retransmission counter */
-    data->retransmission_count = 0;
-    /* Set the key set identifier */
-    data->ksi = ksi;
-
-    /* Set the authentication random challenge number */
-    if (_rand->length > 0) {
-      data->rand.value = (uint8_t *)malloc(_rand->length);
-      data->rand.length = 0;
-
-      if (data->rand.value) {
-        memcpy(data->rand.value, _rand->value, _rand->length);
-        data->rand.length = _rand->length;
-      }
-    }
-
-    /* Set the authentication token */
-    if (autn->length > 0) {
-      data->autn.value = (uint8_t *)malloc(autn->length);
-      data->autn.length = 0;
-
-      if (data->autn.value) {
-        memcpy(data->autn.value, autn->value, autn->length);
-        data->autn.length = autn->length;
-      }
-    }
-
-    /* Set the failure notification indicator */
-    data->notify_failure = FALSE;
-    /* Send authentication request message to the UE */
-    rc = _authentication_request(data);
-
-    if (rc != RETURNerror) {
-      /*
-       * Notify EMM that common procedure has been initiated
-       */
-
-
-      MSC_LOG_TX_MESSAGE(
-    		MSC_NAS_EMM_MME,
-    	  	MSC_NAS_EMM_MME,
-    	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_REQ ue id "NAS_UE_ID_FMT" (authentication)", ueid);
-
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMREG_COMMON_PROC_REQ;
-      emm_sap.u.emm_reg.ueid = ueid;
-      emm_sap.u.emm_reg.ctx  = ctx;
-      rc = emm_sap_send(&emm_sap);
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_authentication_complete()                            **
- **                                                                        **
- ** Description: Performs the authentication completion procedure executed **
- **      by the network.                                                   **
- **                                                                        **
- **              3GPP TS 24.301, section 5.4.2.4                           **
- **      Upon receiving the AUTHENTICATION RESPONSE message, the           **
- **      MME shall stop timer T3460 and check the correctness of           **
- **      the RES parameter.                                                **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                          **
- **      emm_cause: Authentication failure EMM cause code                  **
- **      res:       Authentication response parameter. or auts             **
- **                 in case of sync failure                                **
- **      Others:    None                                                   **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                                  **
- **      Others:    _emm_data, T3460                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_authentication_complete(unsigned int ueid, int emm_cause,
-                                     const OctetString *res)
-{
-  int rc;
-  emm_sap_t emm_sap;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMM-PROC  - Authentication complete (ueid="NAS_UE_ID_FMT", cause=%d)",
-            ueid, emm_cause);
-
-
-  /* Release retransmission timer paramaters */
-  authentication_data_t *data =
-    (authentication_data_t *)(emm_proc_common_get_args(ueid));
-
-  if (data) {
-    if (data->rand.length > 0) {
-      free(data->rand.value);
-    }
-
-    if (data->autn.length > 0) {
-      free(data->autn.value);
-    }
-
-    free(data);
-  }
-
-  /* Get the UE context */
-  emm_data_context_t *emm_ctx = NULL;
-#if defined(NAS_BUILT_IN_EPC)
-  if (ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-#else
-  if (ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[ueid];
-  }
-#endif
-
-  if (emm_ctx) {
-	/* Stop timer T3460 */
-	LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
-	emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
-	MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", data->ueid);
-  }
-  if (emm_cause == EMM_CAUSE_SUCCESS) {
-    /* Check the received RES parameter */
-    if ( (emm_ctx == NULL) ||
-         (memcmp(res->value, &emm_ctx->vector.xres, res->length) != 0) ) {
-      /* RES does not match the XRES parameter */
-      LOG_TRACE(WARNING, "EMM-PROC  - Failed to authentify the UE");
-      emm_cause = EMM_CAUSE_ILLEGAL_UE;
-    } else {
-      LOG_TRACE(DEBUG, "EMM-PROC  - Success to authentify the UE  RESP XRES == XRES UE CONTEXT");
-    }
-  }
-
-  if (emm_cause != EMM_CAUSE_SUCCESS) {
-    switch (emm_cause) {
-
-#if defined(NAS_BUILT_IN_EPC)
-
-    case EMM_CAUSE_SYNCH_FAILURE:
-      /* USIM has detected a mismatch in SQN.
-       * Ask for a new vector.
-       */
-      MSC_LOG_EVENT(
-      		MSC_NAS_EMM_MME,
-      	  	"0 SQN SYNCH_FAILURE ue id "NAS_UE_ID_FMT" ", ueid);
-
-      LOG_TRACE(DEBUG, "EMM-PROC  - USIM has detected a mismatch in SQN Ask for a new vector");
-      nas_itti_auth_info_req(ueid, emm_ctx->imsi, 0, res->value);
-
-      rc = RETURNok;
-      LOG_FUNC_RETURN (rc);
-      break;
-#endif
-
-    default:
-      LOG_TRACE(DEBUG, "EMM-PROC  - The MME received an authentication failure message or the RES does not match the XRES parameter computed by the network");
-      /* The MME received an authentication failure message or the RES
-       * contained in the Authentication Response message received from
-       * the UE does not match the XRES parameter computed by the network */
-      (void) _authentication_reject(ueid);
-      /*
-       * Notify EMM that the authentication procedure failed
-       */
-      MSC_LOG_TX_MESSAGE(
-    		MSC_NAS_EMM_MME,
-    	  	MSC_NAS_EMM_MME,
-    	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" ", ueid);
-
-
-      emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
-      emm_sap.u.emm_reg.ueid = ueid;
-      emm_sap.u.emm_reg.ctx  = emm_ctx;
-      break;
-    }
-  } else {
-    /*
-     * Notify EMM that the authentication procedure successfully completed
-     */
-    MSC_LOG_TX_MESSAGE(
-    		MSC_NAS_EMM_MME,
-    	  	MSC_NAS_EMM_MME,
-    	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_CNF ue id "NAS_UE_ID_FMT" ", ueid);
-
-    LOG_TRACE(DEBUG, "EMM-PROC  - Notify EMM that the authentication procedure successfully completed");
-    emm_sap.primitive = EMMREG_COMMON_PROC_CNF;
-    emm_sap.u.emm_reg.ueid = ueid;
-    emm_sap.u.emm_reg.ctx  = emm_ctx;
-    emm_sap.u.emm_reg.u.common.is_attached = emm_ctx->is_attached;
-  }
-
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-
-/*
- * --------------------------------------------------------------------------
- *              Timer handlers
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _authentication_t3460_handler()                           **
- **                                                                        **
- ** Description: T3460 timeout handler                                     **
- **      Upon T3460 timer expiration, the authentication request   **
- **      message is retransmitted and the timer restarted. When    **
- **      retransmission counter is exceed, the MME shall abort the **
- **      authentication procedure and any ongoing EMM specific     **
- **      procedure and release the NAS signalling connection.      **
- **                                                                        **
- **              3GPP TS 24.301, section 5.4.2.7, case b                   **
- **                                                                        **
- ** Inputs:  args:      handler parameters                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void *_authentication_t3460_handler(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  authentication_data_t *data = (authentication_data_t *)(args);
-
-  /* Increment the retransmission counter */
-  data->retransmission_count += 1;
-
-  LOG_TRACE(WARNING, "EMM-PROC  - T3460 timer expired, retransmission "
-            "counter = %d", data->retransmission_count);
-
-  if (data->retransmission_count < AUTHENTICATION_COUNTER_MAX) {
-    /* Send authentication request message to the UE */
-    rc = _authentication_request(data);
-  } else {
-    unsigned int ueid = data->ueid;
-    /* Set the failure notification indicator */
-    data->notify_failure = TRUE;
-    /* Abort the authentication procedure */
-    rc = _authentication_abort(data);
-
-    /* Release the NAS signalling connection */
-    if (rc != RETURNerror) {
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMAS_RELEASE_REQ;
-      emm_sap.u.emm_as.u.release.guti = NULL;
-      emm_sap.u.emm_as.u.release.ueid = ueid;
-      emm_sap.u.emm_as.u.release.cause = EMM_AS_CAUSE_AUTHENTICATION;
-      rc = emm_sap_send(&emm_sap);
-    }
-  }
-
-  LOG_FUNC_RETURN (NULL);
-}
-
-/*
- * --------------------------------------------------------------------------
- *              MME specific local functions
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _authentication_request()                                 **
- **                                                                        **
- ** Description: Sends AUTHENTICATION REQUEST message and start timer T3460**
- **                                                                        **
- ** Inputs:  args:      handler parameters                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3460                                      **
- **                                                                        **
- ***************************************************************************/
-int _authentication_request(authentication_data_t *data)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-  struct emm_data_context_s *emm_ctx;
-
-  /*
-   * Notify EMM-AS SAP that Authentication Request message has to be sent
-   * to the UE
-   */
-  emm_sap.primitive = EMMAS_SECURITY_REQ;
-  emm_sap.u.emm_as.u.security.guti = NULL;
-  emm_sap.u.emm_as.u.security.ueid = data->ueid;
-  emm_sap.u.emm_as.u.security.msgType = EMM_AS_MSG_TYPE_AUTH;
-  emm_sap.u.emm_as.u.security.ksi = data->ksi;
-  emm_sap.u.emm_as.u.security.rand = &data->rand;
-  emm_sap.u.emm_as.u.security.autn = &data->autn;
-
-  /* TODO: check for pointer validity */
-#if defined(NAS_BUILT_IN_EPC)
-  emm_ctx = emm_data_context_get(&_emm_data, data->ueid);
-#else
-  emm_ctx = _emm_data.ctx[data->ueid];
-#endif
-
-  /* Setup EPS NAS security data */
-  emm_as_set_security_data(&emm_sap.u.emm_as.u.security.sctx,
-                           emm_ctx->security, FALSE, TRUE);
-
-  MSC_LOG_TX_MESSAGE(
-		  MSC_NAS_EMM_MME,
-		  MSC_NAS_EMM_MME,
-		  NULL,0,
-		  "0 EMMAS_SECURITY_REQ ue id "NAS_UE_ID_FMT" ", data->ueid);
-
-  rc = emm_sap_send(&emm_sap);
-
-  if (rc != RETURNerror) {
-	if (emm_ctx) {
-	  if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
-        /* Re-start T3460 timer */
-        emm_ctx->T3460.id = nas_timer_restart(emm_ctx->T3460.id);
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 restarted UE "NAS_UE_ID_FMT" ", data->ueid);
-      } else {
-        /* Start T3460 timer */
-        emm_ctx->T3460.id = nas_timer_start(emm_ctx->T3460.sec, _authentication_t3460_handler,
-                                 data);
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 started UE "NAS_UE_ID_FMT" ", data->ueid);
-      }
-    }
-
-    LOG_TRACE(INFO,"EMM-PROC  - Timer T3460 (%d) expires in %ld seconds",
-    		emm_ctx->T3460.id, emm_ctx->T3460.sec);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _authentication_reject()                                  **
- **                                                                        **
- ** Description: Sends AUTHENTICATION REJECT message                       **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _authentication_reject(unsigned int ueid)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-  struct emm_data_context_s *emm_ctx;
-
-  /*
-   * Notify EMM-AS SAP that Authentication Reject message has to be sent
-   * to the UE
-   */
-  emm_sap.primitive = EMMAS_SECURITY_REJ;
-  emm_sap.u.emm_as.u.security.guti = NULL;
-  emm_sap.u.emm_as.u.security.ueid = ueid;
-  emm_sap.u.emm_as.u.security.msgType = EMM_AS_MSG_TYPE_AUTH;
-
-#if defined(NAS_BUILT_IN_EPC)
-  emm_ctx = emm_data_context_get(&_emm_data, ueid);
-#else
-  emm_ctx = _emm_data.ctx[ueid];
-#endif
-  /* Setup EPS NAS security data */
-  emm_as_set_security_data(&emm_sap.u.emm_as.u.security.sctx,
-                           emm_ctx->security, FALSE, TRUE);
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _authentication_abort()                                   **
- **                                                                        **
- ** Description: Aborts the authentication procedure currently in progress **
- **                                                                        **
- ** Inputs:  args:      Authentication data to be released         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3460                                      **
- **                                                                        **
- ***************************************************************************/
-static int _authentication_abort(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-  struct emm_data_context_s *emm_ctx;
-
-  authentication_data_t *data = (authentication_data_t *)(args);
-
-  if (data) {
-    unsigned int ueid = data->ueid;
-    int notify_failure = data->notify_failure;
-
-    LOG_TRACE(WARNING, "EMM-PROC  - Abort authentication procedure "
-              "(ueid="NAS_UE_ID_FMT")", ueid);
-#if defined(NAS_BUILT_IN_EPC)
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-#else
-    emm_ctx = _emm_data.ctx[ueid];
-#endif
-    if (emm_ctx) {
-      /* Stop timer T3460 */
-      if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
-        LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
-        emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", data->ueid);
-      }
-    }
-
-    /* Release retransmission timer paramaters */
-    if (data->rand.length > 0) {
-      free(data->rand.value);
-    }
-
-    if (data->autn.length > 0) {
-      free(data->autn.value);
-    }
-
-    free(data);
-
-    /*
-     * Notify EMM that the authentication procedure failed
-     */
-    if (notify_failure) {
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
-      emm_sap.u.emm_reg.ueid = ueid;
-      rc = emm_sap_send(&emm_sap);
-    } else {
-      rc = RETURNok;
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-
diff --git a/openair-cn/NAS/MME/EMM/COPYING b/openair-cn/NAS/MME/EMM/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/NAS/MME/EMM/Detach.c b/openair-cn/NAS/MME/EMM/Detach.c
deleted file mode 100644
index 1ba60e5b6dc4ae63305a7cd13e4bda603b6977ab..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/Detach.c
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      Detach.c
-
-Version     0.1
-
-Date        2013/05/07
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the detach related EMM procedure executed by the
-        Non-Access Stratum.
-
-        The detach procedure is used by the UE to detach for EPS servi-
-        ces, to disconnect from the last PDN it is connected to; by the
-        network to inform the UE that it is detached for EPS services
-        or non-EPS services or both, to disconnect the UE from the last
-        PDN to which it is connected and to inform the UE to re-attach
-        to the network and re-establish all PDN connections.
-
-*****************************************************************************/
-
-#include "emm_proc.h"
-#include "nas_log.h"
-#include "nas_timer.h"
-
-#include "emmData.h"
-
-#include "emm_sap.h"
-#include "esm_sap.h"
-#include "msc.h"
-
-#include <stdlib.h> // free
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/* String representation of the detach type */
-static const char *_emm_detach_type_str[] = {
-  "EPS", "IMSI", "EPS/IMSI",
-  "RE-ATTACH REQUIRED", "RE-ATTACH NOT REQUIRED", "RESERVED"
-};
-
-/*
- * --------------------------------------------------------------------------
- *      Internal data handled by the detach procedure in the UE
- * --------------------------------------------------------------------------
- */
-
-
-/*
- * --------------------------------------------------------------------------
- *      Internal data handled by the detach procedure in the MME
- * --------------------------------------------------------------------------
- */
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *          Detach procedure executed by the UE
- * --------------------------------------------------------------------------
- */
-
-/*
- * --------------------------------------------------------------------------
- *          Detach procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_detach()                                         **
- **                                                                        **
- ** Description: Initiate the detach procedure to inform the UE that it is **
- **      detached for EPS services, or to re-attach to the network **
- **      and re-establish all PDN connections.                     **
- **                                                                        **
- **              3GPP TS 24.301, section 5.5.2.3.1                         **
- **      In state EMM-REGISTERED the network initiates the detach  **
- **      procedure by sending a DETACH REQUEST message to the UE,  **
- **      starting timer T3422 and entering state EMM-DEREGISTERED- **
- **      INITIATED.                                                **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      type:      Type of the requested detach               **
- **      Others:    _emm_detach_type_str                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3422                                      **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_detach(unsigned int ueid, emm_proc_detach_type_t type)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  LOG_TRACE(INFO, "EMM-PROC  - Initiate detach type = %s (%d)",
-            _emm_detach_type_str[type], type);
-
-  /* TODO */
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_detach_request()                                 **
- **                                                                        **
- ** Description: Performs the UE initiated detach procedure for EPS servi- **
- **      ces only When the DETACH REQUEST message is received by   **
- **      the network.                                              **
- **                                                                        **
- **              3GPP TS 24.301, section 5.5.2.2.2                         **
- **      Upon receiving the DETACH REQUEST message the network     **
- **      shall send a DETACH ACCEPT message to the UE and store    **
- **      the current EPS security context, if the detach type IE   **
- **      does not indicate "switch off". Otherwise, the procedure  **
- **      is completed when the network receives the DETACH REQUEST **
- **      message.                                                  **
- **      The network shall deactivate the EPS bearer context(s)    **
- **      for this UE locally without peer-to-peer signalling and   **
- **      shall enter state EMM-DEREGISTERED.                       **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      type:      Type of the requested detach               **
- **      switch_off:    Indicates whether the detach is required   **
- **             because the UE is switched off or not      **
- **      native_ksi:    TRUE if the security context is of type    **
- **             native                                     **
- **      ksi:       The NAS ket sey identifier                 **
- **      guti:      The GUTI if provided by the UE             **
- **      imsi:      The IMSI if provided by the UE             **
- **      imei:      The IMEI if provided by the UE             **
- **      Others:    _emm_data                                  **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type,
-                            int switch_off, int native_ksi, int ksi,
-                            GUTI_t *guti, imsi_t *imsi, imei_t *imei)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-  emm_data_context_t *emm_ctx = NULL;
-
-  LOG_TRACE(INFO, "EMM-PROC  - Detach type = %s (%d) requested (ueid="NAS_UE_ID_FMT")",
-            _emm_detach_type_str[type], type, ueid);
-
-  /* Get the UE context */
-#if defined(NAS_BUILT_IN_EPC)
-
-  if (ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-
-#else
-
-  if (ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[ueid];
-  }
-
-#endif
-
-  if (emm_ctx == NULL) {
-    LOG_TRACE(WARNING, "No EMM context exists for the UE (ueid="NAS_UE_ID_FMT")", ueid);
-    LOG_FUNC_RETURN(RETURNok);
-  }
-
-  if (switch_off) {
-	MSC_LOG_EVENT(MSC_NAS_EMM_MME,
-		    	  "0 Removing UE context ue id "NAS_UE_ID_FMT" ", ueid);
-    /* The UE is switched off */
-    if (emm_ctx->guti) {
-      free(emm_ctx->guti);
-    }
-
-    if (emm_ctx->imsi) {
-      free(emm_ctx->imsi);
-    }
-
-    if (emm_ctx->imei) {
-      free(emm_ctx->imei);
-    }
-
-    if (emm_ctx->esm_msg.length > 0) {
-      free(emm_ctx->esm_msg.value);
-    }
-
-    /* Release NAS security context */
-    if (emm_ctx->security) {
-      emm_security_context_t *security = emm_ctx->security;
-
-      if (security->kasme.value) {
-        free(security->kasme.value);
-      }
-
-      if (security->knas_enc.value) {
-        free(security->knas_enc.value);
-      }
-
-      if (security->knas_int.value) {
-        free(security->knas_int.value);
-      }
-
-      free(emm_ctx->security);
-    }
-    /* Stop timer T3450 */
-    if (emm_ctx->T3450.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", emm_ctx->T3450.id);
-      emm_ctx->T3450.id = nas_timer_stop(emm_ctx->T3450.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
-    }
-    /* Stop timer T3460 */
-    if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
-      emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
-    }
-    /* Stop timer T3470 */
-    if (emm_ctx->T3470.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", emm_ctx->T3460.id);
-      emm_ctx->T3470.id = nas_timer_stop(emm_ctx->T3470.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
-    }
-    /* Release the EMM context */
-#if defined(NAS_BUILT_IN_EPC)
-    emm_data_context_remove(&_emm_data, emm_ctx);
-    free(emm_ctx);
-#else
-    free(_emm_data.ctx[ueid]);
-    _emm_data.ctx[ueid] = NULL;
-#endif
-    rc = RETURNok;
-  } else {
-    /* Normal detach without UE switch-off */
-    emm_sap_t emm_sap;
-    emm_as_data_t *emm_as = &emm_sap.u.emm_as.u.data;
-	MSC_LOG_TX_MESSAGE(
-	    		MSC_NAS_EMM_MME,
-	    		MSC_NAS_EMM_MME,
-	    	  	NULL,0,
-	    	  	"0 EMM_AS_NAS_INFO_DETACH ue id "NAS_UE_ID_FMT" ", ueid);
-
-    /* Setup NAS information message to transfer */
-    emm_as->NASinfo = EMM_AS_NAS_INFO_DETACH;
-    emm_as->NASmsg.length = 0;
-    emm_as->NASmsg.value = NULL;
-    /* Set the UE identifier */
-    emm_as->guti = NULL;
-    emm_as->ueid = ueid;
-    /* Setup EPS NAS security data */
-    emm_as_set_security_data(&emm_as->sctx, emm_ctx->security, FALSE, TRUE);
-    /*
-     * Notify EMM-AS SAP that Detach Accept message has to
-     * be sent to the network
-     */
-    emm_sap.primitive = EMMAS_DATA_REQ;
-    rc = emm_sap_send(&emm_sap);
-  }
-
-  if (rc != RETURNerror) {
-    /*
-     * Notify ESM that all EPS bearer contexts allocated for this UE have
-     * to be locally deactivated
-     */
-	MSC_LOG_TX_MESSAGE(
-	    		MSC_NAS_EMM_MME,
-	    	  	MSC_NAS_ESM_MME,
-	    	  	NULL,0,
-	    	  	"0 ESM_EPS_BEARER_CONTEXT_DEACTIVATE_REQ ue id "NAS_UE_ID_FMT" ", ueid);
-	esm_sap_t esm_sap;
-    esm_sap.primitive = ESM_EPS_BEARER_CONTEXT_DEACTIVATE_REQ;
-    esm_sap.ueid = ueid;
-    esm_sap.ctx  = emm_ctx;
-    esm_sap.data.eps_bearer_context_deactivate.ebi = ESM_SAP_ALL_EBI;
-    rc = esm_sap_send(&esm_sap);
-
-    if (rc != RETURNerror) {
-      emm_sap_t emm_sap;
-      /*
-       * Notify EMM that the UE has been implicitly detached
-       */
-  	  MSC_LOG_TX_MESSAGE(
-  	    		MSC_NAS_EMM_MME,
-  	    		MSC_NAS_EMM_MME,
-  	    	  	NULL,0,
-  	    	  	"0 EMMREG_DETACH_REQ ue id "NAS_UE_ID_FMT" ", ueid);
-      emm_sap.primitive = EMMREG_DETACH_REQ;
-      emm_sap.u.emm_reg.ueid = ueid;
-      emm_sap.u.emm_reg.ctx  = emm_ctx;
-      rc = emm_sap_send(&emm_sap);
-    }
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/EMM/EmmCommon.c b/openair-cn/NAS/MME/EMM/EmmCommon.c
deleted file mode 100644
index a30c7675d885ff1add5ec3460baf5f16abe6ba00..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/EmmCommon.c
+++ /dev/null
@@ -1,514 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      EmmCommon.h
-
-Version     0.1
-
-Date        2013/04/19
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines callback functions executed within EMM common procedures
-        by the Non-Access Stratum running at the network side.
-
-        Following EMM common procedures can always be initiated by the
-        network whilst a NAS signalling connection exists:
-
-        GUTI reallocation
-        authentication
-        security mode control
-        identification
-        EMM information
-
-*****************************************************************************/
-
-
-#include "EmmCommon.h"
-
-#include "commonDef.h"
-#include "nas_log.h"
-#include "emmData.h"
-
-#include <stdlib.h> // malloc, free
-#include <string.h>
-#include <assert.h>
-
-#if defined(NAS_BUILT_IN_EPC)
-# include "assertions.h"
-#endif
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/* EMM procedure callback cleanup function  */
-static void _emm_common_cleanup(unsigned int ueid);
-
-/* Ongoing EMM procedure callback functions */
-typedef struct emm_common_data_s {
-  unsigned int ueid;
-  int ref_count;
-  emm_common_success_callback_t success;
-  emm_common_reject_callback_t  reject;
-  emm_common_failure_callback_t failure;
-  emm_common_abort_callback_t   abort;
-  void *args;
-
-#if defined(NAS_BUILT_IN_EPC)
-  RB_ENTRY(emm_common_data_s) entries;
-#endif
-} emm_common_data_t;
-
-#if defined(NAS_BUILT_IN_EPC)
-typedef struct emm_common_data_head_s {
-  RB_HEAD(emm_common_data_map, emm_common_data_s) emm_common_data_root;
-} emm_common_data_head_t;
-
-emm_common_data_head_t emm_common_data_head = { RB_INITIALIZER() };
-
-static inline
-int emm_common_data_compare_ueid(struct emm_common_data_s *p1,
-                                 struct emm_common_data_s *p2);
-struct emm_common_data_s *emm_common_data_context_get(
-  struct emm_common_data_head_s *root, unsigned int _ueid);
-
-RB_PROTOTYPE(emm_common_data_map, emm_common_data_s, entries,
-             emm_common_data_compare_ueid);
-
-/* Generate functions used for the MAP */
-RB_GENERATE(emm_common_data_map, emm_common_data_s, entries,
-            emm_common_data_compare_ueid);
-
-static inline
-int emm_common_data_compare_ueid(struct emm_common_data_s *p1,
-                                 struct emm_common_data_s *p2)
-{
-  if (p1->ueid > p2->ueid) {
-    return 1;
-  }
-
-  if (p1->ueid < p2->ueid) {
-    return -1;
-  }
-
-  /* Matching reference -> return 0 */
-  return 0;
-}
-
-struct emm_common_data_s *emm_common_data_context_get(
-  struct emm_common_data_head_s *root, unsigned int _ueid)
-{
-  struct emm_common_data_s reference;
-
-  DevAssert(root != NULL);
-  DevCheck(_ueid > 0, _ueid, 0, 0);
-
-  memset(&reference, 0, sizeof(struct emm_common_data_s));
-  reference.ueid = _ueid;
-  return RB_FIND(emm_common_data_map, &root->emm_common_data_root, &reference);
-}
-#else
-static emm_common_data_t *_emm_common_data[EMM_DATA_NB_UE_MAX];
-#endif
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_common_initialize()                              **
- **                                                                        **
- ** Description: Initialize EMM procedure callback functions executed for  **
- **      the UE with the given identifier                          **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      success:   EMM procedure executed upon successful EMM **
- **             common procedure completion                **
- **      reject:    EMM procedure executed if the EMM common   **
- **             procedure failed or is rejected            **
- **      failure:   EMM procedure executed upon transmission   **
- **             failure reported by lower layer            **
- **      abort:     EMM common procedure executed when the on- **
- **             going EMM procedure is aborted             **
- **      args:      EMM common procedure argument parameters   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _emm_common_data                           **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_common_initialize(unsigned int ueid,
-                               emm_common_success_callback_t _success,
-                               emm_common_reject_callback_t  _reject,
-                               emm_common_failure_callback_t _failure,
-                               emm_common_abort_callback_t   _abort,
-                               void *args)
-{
-  struct emm_common_data_s *emm_common_data_ctx = NULL;
-  LOG_FUNC_IN;
-
-#if defined(NAS_BUILT_IN_EPC)
-  assert(ueid > 0);
-  emm_common_data_ctx = emm_common_data_context_get(&emm_common_data_head, ueid);
-#else
-  assert(ueid < EMM_DATA_NB_UE_MAX);
-#endif
-
-  if (emm_common_data_ctx == NULL) {
-    emm_common_data_ctx = (emm_common_data_t *)malloc(sizeof(emm_common_data_t));
-    emm_common_data_ctx->ueid = ueid;
-#if defined(NAS_BUILT_IN_EPC)
-    RB_INSERT(emm_common_data_map, &emm_common_data_head.emm_common_data_root,
-              emm_common_data_ctx);
-#endif
-
-    if (emm_common_data_ctx) {
-      emm_common_data_ctx->ref_count = 0;
-    }
-  }
-
-  if (emm_common_data_ctx) {
-    emm_common_data_ctx->ref_count += 1;
-    emm_common_data_ctx->success = _success;
-    emm_common_data_ctx->reject  = _reject;
-    emm_common_data_ctx->failure = _failure;
-    emm_common_data_ctx->abort   = _abort;
-    emm_common_data_ctx->args    = args;
-    LOG_FUNC_RETURN(RETURNok);
-  }
-
-  LOG_FUNC_RETURN(RETURNerror);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_common_success()                                 **
- **                                                                        **
- ** Description: The EMM common procedure initiated between the UE with    **
- **      the specified identifier and the MME completed success-   **
- **      fully. The network performs required actions related to   **
- **      the ongoing EMM procedure.                                **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    _emm_common_data, _emm_data                **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_common_success(unsigned int ueid)
-{
-  emm_common_data_t             *emm_common_data_ctx = NULL;
-  emm_common_success_callback_t  emm_callback;
-
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-#if defined(NAS_BUILT_IN_EPC)
-  DevCheck(ueid > 0, ueid, 0, 0);
-  emm_common_data_ctx = emm_common_data_context_get(&emm_common_data_head, ueid);
-#else
-  assert(ueid < EMM_DATA_NB_UE_MAX);
-  emm_common_data_ctx = _emm_common_data[ueid];
-#endif
-
-  assert(emm_common_data_ctx != NULL);
-
-  emm_callback = emm_common_data_ctx->success;
-
-  if (emm_callback) {
-    struct emm_data_context_s *ctx = NULL;
-
-#if defined(NAS_BUILT_IN_EPC)
-    ctx = emm_data_context_get(&_emm_data, ueid);
-#else
-    ctx = _emm_data.ctx[ueid];
-#endif
-    rc = (*emm_callback)(ctx);
-  }
-
-  _emm_common_cleanup(ueid);
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_common_reject()                                  **
- **                                                                        **
- ** Description: The EMM common procedure initiated between the UE with    **
- **      the specified identifier and the MME failed or has been   **
- **      rejected. The network performs required actions related   **
- **      to the ongoing EMM procedure.                             **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    _emm_common_data, _emm_data                **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_common_reject(unsigned int ueid)
-{
-  emm_common_data_t *emm_common_data_ctx = NULL;
-  int rc = RETURNerror;
-  emm_common_reject_callback_t emm_callback;
-
-  LOG_FUNC_IN;
-
-#if defined(NAS_BUILT_IN_EPC)
-  DevCheck(ueid > 0, ueid, 0, 0);
-  emm_common_data_ctx = emm_common_data_context_get(&emm_common_data_head, ueid);
-#else
-  assert(ueid < EMM_DATA_NB_UE_MAX);
-  emm_common_data_ctx = _emm_common_data[ueid];
-#endif
-
-  assert(emm_common_data_ctx != NULL);
-
-  emm_callback = emm_common_data_ctx->reject;
-
-  if (emm_callback) {
-    struct emm_data_context_s *ctx = NULL;
-
-#if defined(NAS_BUILT_IN_EPC)
-    ctx = emm_data_context_get(&_emm_data, ueid);
-#else
-    ctx = _emm_data.ctx[ueid];
-#endif
-    rc = (*emm_callback)(ctx);
-  }
-
-  _emm_common_cleanup(ueid);
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_common_failure()                                 **
- **                                                                        **
- ** Description: The EMM common procedure has been initiated between the   **
- **      UE with the specified identifier and the MME, and a lower **
- **      layer failure occurred before the EMM common procedure    **
- **      being completed. The network performs required actions    **
- **      related to the ongoing EMM procedure.                     **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    _emm_common_data, _emm_data                **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_common_failure(unsigned int ueid)
-{
-  emm_common_data_t             *emm_common_data_ctx = NULL;
-  emm_common_failure_callback_t  emm_callback;
-
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-#if defined(NAS_BUILT_IN_EPC)
-  DevCheck(ueid > 0, ueid, 0, 0);
-  emm_common_data_ctx = emm_common_data_context_get(&emm_common_data_head, ueid);
-#else
-  assert(ueid < EMM_DATA_NB_UE_MAX);
-  emm_common_data_ctx = _emm_common_data[ueid];
-#endif
-  assert(emm_common_data_ctx != NULL);
-
-  emm_callback = emm_common_data_ctx->failure;
-
-  if (emm_callback) {
-    struct emm_data_context_s *ctx = NULL;
-
-#if defined(NAS_BUILT_IN_EPC)
-    ctx = emm_data_context_get(&_emm_data, ueid);
-#else
-    ctx = _emm_data.ctx[ueid];
-#endif
-    rc = (*emm_callback)(ctx);
-  }
-
-  _emm_common_cleanup(ueid);
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_common_abort()                                   **
- **                                                                        **
- ** Description: The ongoing EMM procedure has been aborted. The network   **
- **      performs required actions related to the EMM common pro-  **
- **      cedure previously initiated between the UE with the spe-  **
- **      cified identifier and the MME.                            **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    _emm_common_data                           **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_common_abort(unsigned int ueid)
-{
-  emm_common_data_t             *emm_common_data_ctx = NULL;
-  emm_common_failure_callback_t  emm_callback;
-
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-#if defined(NAS_BUILT_IN_EPC)
-  DevCheck(ueid > 0, ueid, 0, 0);
-  emm_common_data_ctx = emm_common_data_context_get(&emm_common_data_head, ueid);
-#else
-  assert(ueid < EMM_DATA_NB_UE_MAX);
-  emm_common_data_ctx = _emm_common_data[ueid];
-#endif
-  assert(emm_common_data_ctx != NULL);
-
-  emm_callback = emm_common_data_ctx->abort;
-
-  if (emm_callback) {
-    struct emm_data_context_s *ctx = NULL;
-
-#if defined(NAS_BUILT_IN_EPC)
-    ctx = emm_data_context_get(&_emm_data, ueid);
-#else
-    ctx = _emm_data.ctx[ueid];
-#endif
-    rc = (*emm_callback)(ctx);
-  }
-
-  _emm_common_cleanup(ueid);
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_common_get_args()                                **
- **                                                                        **
- ** Description: Returns pointer to the EMM common procedure argument pa-  **
- **      rameters allocated for the UE with the given identifier.  **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    _emm_common_data                           **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    pointer to the EMM common procedure argu-  **
- **             ment parameters                            **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-void *emm_proc_common_get_args(unsigned int ueid)
-{
-  emm_common_data_t *emm_common_data_ctx = NULL;
-  LOG_FUNC_IN;
-
-#if defined(NAS_BUILT_IN_EPC)
-  DevCheck(ueid > 0, ueid, 0, 0);
-  emm_common_data_ctx = emm_common_data_context_get(&emm_common_data_head, ueid);
-#else
-  assert(ueid < EMM_DATA_NB_UE_MAX);
-  emm_common_data_ctx = _emm_common_data[ueid];
-#endif
-  assert(emm_common_data_ctx != NULL);
-
-  LOG_FUNC_RETURN(emm_common_data_ctx->args);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_common_cleanup()                                 **
- **                                                                        **
- ** Description: Cleans EMM procedure callback functions upon completion   **
- **      of an EMM common procedure previously initiated within an **
- **      EMM procedure currently in progress between the network   **
- **      and the UE with the specified identifier.                 **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    _emm_common_data                           **
- **                                                                        **
- ***************************************************************************/
-static void _emm_common_cleanup(unsigned int ueid)
-{
-  emm_common_data_t *emm_common_data_ctx = NULL;
-
-#if defined(NAS_BUILT_IN_EPC)
-  DevCheck(ueid > 0, ueid, 0, 0);
-  emm_common_data_ctx = emm_common_data_context_get(&emm_common_data_head, ueid);
-#else
-  assert(ueid < EMM_DATA_NB_UE_MAX);
-  emm_common_data_ctx = _emm_common_data[ueid];
-#endif
-
-  if (emm_common_data_ctx) {
-    emm_common_data_ctx->ref_count -= 1;
-
-    if (emm_common_data_ctx->ref_count == 0) {
-      /* Release the callback functions */
-#if defined(NAS_BUILT_IN_EPC)
-      RB_REMOVE(emm_common_data_map,
-                &emm_common_data_head.emm_common_data_root,
-                emm_common_data_ctx);
-#endif
-      free(emm_common_data_ctx);
-      emm_common_data_ctx = NULL;
-    }
-  }
-}
diff --git a/openair-cn/NAS/MME/EMM/EmmCommon.h b/openair-cn/NAS/MME/EMM/EmmCommon.h
deleted file mode 100644
index f09e4954ea524fdf3b8e7069f0a96ba80c1dbd9a..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/EmmCommon.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      EmmCommon.h
-
-Version     0.1
-
-Date        2013/04/19
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines callback functions executed within EMM common procedures
-        by the Non-Access Stratum running at the network side.
-
-        Following EMM common procedures can always be initiated by the
-        network whilst a NAS signalling connection exists:
-
-        GUTI reallocation
-        authentication
-        security mode control
-        identification
-        EMM information
-
-*****************************************************************************/
-#ifndef __EMM_COMMON_H__
-#define __EMM_COMMON_H__
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/*
- * Type of EMM procedure callback functions
- * ----------------------------------------
- * EMM procedure to be executed under certain conditions, when an EMM common
- * procedure has been initiated by the ongoing EMM procedure.
- * - The EMM common procedure successfully completed
- * - The EMM common procedure failed or is rejected
- * - Lower layer failure occured before the EMM common procedure completion
- */
-typedef int (*emm_common_success_callback_t)(void *);
-typedef int (*emm_common_reject_callback_t) (void *);
-typedef int (*emm_common_failure_callback_t)(void *);
-
-/*
- * Type of EMM common procedure callback function
- * ----------------------------------------------
- * EMM common procedure to be executed when the ongoing EMM procedure is
- * aborted.
- */
-typedef int (*emm_common_abort_callback_t)(void *);
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-int emm_proc_common_initialize(unsigned int ueid,
-                               emm_common_success_callback_t success,
-                               emm_common_reject_callback_t reject,
-                               emm_common_failure_callback_t failure,
-                               emm_common_abort_callback_t abort,
-                               void *args);
-
-int emm_proc_common_success(unsigned int ueid);
-int emm_proc_common_reject(unsigned int ueid);
-int emm_proc_common_failure(unsigned int ueid);
-int emm_proc_common_abort(unsigned int ueid);
-
-void *emm_proc_common_get_args(unsigned int ueid);
-
-#endif /* __EMM_COMMON_H__*/
diff --git a/openair-cn/NAS/MME/EMM/EmmStatusHdl.c b/openair-cn/NAS/MME/EMM/EmmStatusHdl.c
deleted file mode 100644
index fec9f2314f19f1181764d6169ce5fc47a391a7fa..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/EmmStatusHdl.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      Emmstatus.c
-
-Version     0.1
-
-Date        2013/06/26
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMM status procedure executed by the Non-Access
-        Stratum.
-
-        The purpose of the sending of the EMM STATUS message is to
-        report at any time certain error conditions detected upon
-        receipt of EMM protocol data. The EMM STATUS message can be
-        sent by both the MME and the UE.
-
-*****************************************************************************/
-
-#include "emm_proc.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emm_cause.h"
-#include "emmData.h"
-
-#include "emm_sap.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_status_ind()                                     **
- **                                                                        **
- ** Description: Processes received EMM status message.                    **
- **                                                                        **
- **      3GPP TS 24.301, section 5.7                               **
- **      On receipt of an EMM STATUS message no state transition   **
- **      and no specific action shall be taken. Local actions are  **
- **      possible and are implementation dependent.                **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **          emm_cause: Received EMM cause code                    **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_status_ind(unsigned int ueid, int emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  LOG_TRACE(INFO,"EMM-PROC  - EMM status procedure requested (cause=%d)",
-            emm_cause);
-
-  LOG_TRACE(DEBUG, "EMM-PROC  - To be implemented");
-
-  /* TODO */
-  rc = RETURNok;
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_status()                                         **
- **                                                                        **
- ** Description: Initiates EMM status procedure.                           **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      emm_cause: EMM cause code to be reported              **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_status(unsigned int ueid, int emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-  emm_sap_t emm_sap;
-
-  emm_security_context_t    *sctx = NULL;
-  struct emm_data_context_s *ctx  = NULL;
-
-  LOG_TRACE(INFO,"EMM-PROC  - EMM status procedure requested");
-
-  /*
-   * Notity EMM that EMM status indication has to be sent to lower layers
-   */
-  emm_sap.primitive = EMMAS_STATUS_IND;
-  emm_sap.u.emm_as.u.status.emm_cause = emm_cause;
-  emm_sap.u.emm_as.u.status.ueid = ueid;
-  emm_sap.u.emm_as.u.status.guti = NULL;
-# if defined(NAS_BUILT_IN_EPC)
-  ctx = emm_data_context_get(&_emm_data, ueid);
-# else
-  ctx = _emm_data.ctx[ueid];
-# endif
-
-  if (ctx) {
-    sctx = ctx->security;
-  }
-
-  /* Setup EPS NAS security data */
-  emm_as_set_security_data(&emm_sap.u.emm_as.u.status.sctx, sctx,
-                           FALSE, TRUE);
-
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
diff --git a/openair-cn/NAS/MME/EMM/Identification.c b/openair-cn/NAS/MME/EMM/Identification.c
deleted file mode 100644
index a4e34f5be3bafa3901f669f24416083ada4d044b..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/Identification.c
+++ /dev/null
@@ -1,538 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      Identification.c
-
-Version     0.1
-
-Date        2013/04/09
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the identification EMM procedure executed by the
-        Non-Access Stratum.
-
-        The identification procedure is used by the network to request
-        a particular UE to provide specific identification parameters
-        (IMSI, IMEI).
-
-*****************************************************************************/
-
-#include "emm_proc.h"
-#include "nas_log.h"
-#include "nas_timer.h"
-
-#include "emmData.h"
-
-#include "emm_sap.h"
-#include "msc.h"
-
-#include <stdlib.h> // malloc, free
-#include <string.h> // memcpy
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/* String representation of the requested identity type */
-static const char *_emm_identity_type_str[] = {
-  "NOT AVAILABLE", "IMSI", "IMEI", "IMEISV", "TMSI"
-};
-
-
-/*
- * --------------------------------------------------------------------------
- *  Internal data handled by the identification procedure in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * Timer handlers
- */
-static void *_identification_t3470_handler(void *);
-
-/*
- * Function executed whenever the ongoing EMM procedure that initiated
- * the identification procedure is aborted or the maximum value of the
- * retransmission timer counter is exceed
- */
-static int _identification_abort(void *);
-
-/*
- * Internal data used for identification procedure
- */
-typedef struct {
-  unsigned int ueid;          /* UE identifier        */
-#define IDENTIFICATION_COUNTER_MAX  5
-  unsigned int retransmission_count;  /* Retransmission counter   */
-  emm_proc_identity_type_t type;  /* Type of UE identity      */
-  int notify_failure;         /* Indicates whether the identification
-                     * procedure failure shall be notified
-                     * to the ongoing EMM procedure */
-} identification_data_t;
-
-static int _identification_request(identification_data_t *data);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-/*
- * --------------------------------------------------------------------------
- *      Identification procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-/********************************************************************
- **                                                                **
- ** Name:    emm_proc_identification()                             **
- **                                                                **
- ** Description: Initiates an identification procedure.            **
- **                                                                **
- **              3GPP TS 24.301, section 5.4.4.2                   **
- **      The network initiates the identification procedure by     **
- **      sending an IDENTITY REQUEST message to the UE and star-   **
- **      ting the timer T3470. The IDENTITY REQUEST message speci- **
- **      fies the requested identification parameters in the Iden- **
- **      tity type information element.                            **
- **                                                                **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      type:      Type of the requested identity                 **
- **      success:   Callback function executed when the identi-    **
- **             fication procedure successfully completes          **
- **      reject:    Callback function executed when the identi-    **
- **             fication procedure fails or is rejected            **
- **      failure:   Callback function executed whener a lower      **
- **             layer failure occured before the identifi-         **
- **             cation procedure completes                         **
- **      Others:    None                                           **
- **                                                                **
- ** Outputs:     None                                              **
- **      Return:    RETURNok, RETURNerror                          **
- **      Others:    _emm_data                                      **
- **                                                                **
- ********************************************************************/
-int emm_proc_identification(unsigned int                   ueid,
-                            emm_data_context_t            *emm_ctx,
-                            emm_proc_identity_type_t       type,
-                            emm_common_success_callback_t  success,
-                            emm_common_reject_callback_t   reject,
-                            emm_common_failure_callback_t  failure)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  LOG_TRACE(INFO, "EMM-PROC  - Initiate identification type = %s (%d), ctx = %p",
-            _emm_identity_type_str[type], type, emm_ctx);
-
-  /* Allocate parameters of the retransmission timer callback */
-  identification_data_t *data =
-    (identification_data_t *)malloc(sizeof(identification_data_t));
-
-  if (data != NULL) {
-    /* Setup ongoing EMM procedure callback functions */
-    rc = emm_proc_common_initialize(ueid, success, reject, failure,
-                                    _identification_abort, data);
-
-    if (rc != RETURNok) {
-      LOG_TRACE(WARNING, "Failed to initialize EMM callback functions");
-      free(data);
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-
-    /* Set the UE identifier */
-    data->ueid = ueid;
-    /* Reset the retransmission counter */
-    data->retransmission_count = 0;
-    /* Set the type of the requested identity */
-    data->type = type;
-    /* Set the failure notification indicator */
-    data->notify_failure = FALSE;
-    /* Send identity request message to the UE */
-    rc = _identification_request(data);
-
-    if (rc != RETURNerror) {
-      /*
-       * Notify EMM that common procedure has been initiated
-       */
-      MSC_LOG_TX_MESSAGE(
-      		MSC_NAS_EMM_MME,
-      	  	MSC_NAS_EMM_MME,
-      	  	NULL,0,
-      	  	"0 EMMREG_COMMON_PROC_REQ ue id "NAS_UE_ID_FMT" (identification)", ueid);
-
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMREG_COMMON_PROC_REQ;
-      emm_sap.u.emm_reg.ueid = ueid;
-      emm_sap.u.emm_reg.ctx  = emm_ctx;
-      rc = emm_sap_send(&emm_sap);
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_identification_complete()                            **
- **                                                                        **
- ** Description: Performs the identification completion procedure executed **
- **      by the network.                                                   **
- **                                                                        **
- **              3GPP TS 24.301, section 5.4.4.4                           **
- **      Upon receiving the IDENTITY RESPONSE message, the MME             **
- **      shall stop timer T3470.                                           **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                          **
- **      imsi:      The IMSI received from the UE                          **
- **      imei:      The IMEI received from the UE                          **
- **      tmsi:      The TMSI received from the UE                          **
- **      Others:    None                                                   **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                                  **
- **      Others:    _emm_data, T3470                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_identification_complete(unsigned int ueid, const imsi_t *imsi,
-                                     const imei_t *imei, uint32_t *tmsi)
-{
-  int rc = RETURNerror;
-  emm_sap_t emm_sap;
-
-  emm_data_context_t *emm_ctx = NULL;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMM-PROC  - Identification complete (ueid="NAS_UE_ID_FMT")", ueid);
-
-  /* Release retransmission timer paramaters */
-  identification_data_t *data =
-    (identification_data_t *)(emm_proc_common_get_args(ueid));
-  if (data) {
-    free(data);
-  }
-
-  /* Get the UE context */
-#if defined(NAS_BUILT_IN_EPC)
-  if (ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-#else
-  if (ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[ueid];
-  }
-#endif
-
-  if (emm_ctx) {
-	/* Stop timer T3470 */
-	LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", emm_ctx->T3470.id);
-	emm_ctx->T3470.id = nas_timer_stop(emm_ctx->T3470.id);
-	MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 stopped UE "NAS_UE_ID_FMT" ", ueid);
-
-    if (imsi) {
-      /* Update the IMSI */
-      if (emm_ctx->imsi == NULL) {
-        emm_ctx->imsi = (imsi_t *)malloc(sizeof(imsi_t));
-      }
-
-      if (emm_ctx->imsi) {
-        memcpy(emm_ctx->imsi, imsi, sizeof(imsi_t));
-      }
-    } else if (imei) {
-      /* Update the IMEI */
-      if (emm_ctx->imei == NULL) {
-        emm_ctx->imei = (imei_t *)malloc(sizeof(imei_t));
-      }
-
-      if (emm_ctx->imei) {
-        memcpy(emm_ctx->imei, imei, sizeof(imei_t));
-      }
-    } else if (tmsi) {
-      /* Update the GUTI */
-      if (emm_ctx->guti == NULL) {
-        emm_ctx->guti = (GUTI_t *)malloc(sizeof(GUTI_t));
-      }
-
-      if (emm_ctx->guti) {
-        memcpy(&emm_ctx->guti->gummei,
-               &_emm_data.conf.gummei, sizeof(gummei_t));
-        emm_ctx->guti->m_tmsi = *tmsi;
-      }
-    }
-
-    /*
-     * Notify EMM that the identification procedure successfully completed
-     */
-    MSC_LOG_TX_MESSAGE(
-    		MSC_NAS_EMM_MME,
-    	  	MSC_NAS_EMM_MME,
-    	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_CNF ue id "NAS_UE_ID_FMT" ", ueid);
-
-    emm_sap.primitive = EMMREG_COMMON_PROC_CNF;
-    emm_sap.u.emm_reg.ueid = ueid;
-    emm_sap.u.emm_reg.ctx  = emm_ctx;
-    emm_sap.u.emm_reg.u.common.is_attached = emm_ctx->is_attached;
-  } else {
-    LOG_TRACE(ERROR, "EMM-PROC  - No EMM context exists");
-    /*
-     * Notify EMM that the identification procedure failed
-     */
-    MSC_LOG_TX_MESSAGE(
-    		MSC_NAS_EMM_MME,
-    	  	MSC_NAS_EMM_MME,
-    	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" ", ueid);
-
-    emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
-    emm_sap.u.emm_reg.ueid = ueid;
-    emm_sap.u.emm_reg.ctx  = emm_ctx;
-  }
-
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *              Timer handlers
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _identification_t3470_handler()                           **
- **                                                                        **
- ** Description: T3470 timeout handler                                     **
- **      Upon T3470 timer expiration, the identification request   **
- **      message is retransmitted and the timer restarted. When    **
- **      retransmission counter is exceed, the MME shall abort the **
- **      identification procedure and any ongoing EMM procedure.   **
- **                                                                        **
- **              3GPP TS 24.301, section 5.4.4.6, case b                   **
- **                                                                        **
- ** Inputs:  args:      handler parameters                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void *_identification_t3470_handler(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  identification_data_t *data = (identification_data_t *)(args);
-
-  /* Increment the retransmission counter */
-  data->retransmission_count += 1;
-
-  LOG_TRACE(WARNING, "EMM-PROC  - T3470 timer expired, retransmission "
-            "counter = %d", data->retransmission_count);
-
-  if (data->retransmission_count < IDENTIFICATION_COUNTER_MAX) {
-    /* Send identity request message to the UE */
-    rc = _identification_request(data);
-  } else {
-    /* Set the failure notification indicator */
-    data->notify_failure = TRUE;
-    /* Abort the identification procedure */
-    rc = _identification_abort(data);
-  }
-
-  LOG_FUNC_RETURN (NULL);
-}
-
-/*
- * --------------------------------------------------------------------------
- *              MME specific local functions
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _identification_request()                                 **
- **                                                                        **
- ** Description: Sends IDENTITY REQUEST message and start timer T3470.     **
- **                                                                        **
- ** Inputs:  args:      handler parameters                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    T3470                                      **
- **                                                                        **
- ***************************************************************************/
-int _identification_request(identification_data_t *data)
-{
-  emm_sap_t emm_sap;
-  int rc;
-
-  struct emm_data_context_s *emm_ctx = NULL;
-
-  LOG_FUNC_IN;
-
-  /*
-   * Notify EMM-AS SAP that Identity Request message has to be sent
-   * to the UE
-   */
-  MSC_LOG_TX_MESSAGE(
-  		MSC_NAS_EMM_MME,
-  	  	MSC_NAS_EMM_MME,
-  	  	NULL,0,
-  	  	"0 EMMAS_SECURITY_REQ ue id "NAS_UE_ID_FMT" ", data->ueid);
-
-  emm_sap.primitive = EMMAS_SECURITY_REQ;
-  emm_sap.u.emm_as.u.security.guti = NULL;
-  emm_sap.u.emm_as.u.security.ueid = data->ueid;
-  emm_sap.u.emm_as.u.security.msgType = EMM_AS_MSG_TYPE_IDENT;
-  emm_sap.u.emm_as.u.security.identType = data->type;
-
-#if defined(NAS_BUILT_IN_EPC)
-  if (data->ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, data->ueid);
-  }
-#else
-  if (data->ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[data->ueid];
-  }
-#endif
-  /* Setup EPS NAS security data */
-  emm_as_set_security_data(&emm_sap.u.emm_as.u.security.sctx,
-                           emm_ctx->security, FALSE, TRUE);
-  rc = emm_sap_send(&emm_sap);
-
-  if (rc != RETURNerror) {
-    if (emm_ctx->T3470.id != NAS_TIMER_INACTIVE_ID) {
-      /* Re-start T3470 timer */
-    	emm_ctx->T3470.id = nas_timer_restart(emm_ctx->T3470.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 restarted UE "NAS_UE_ID_FMT" ", data->ueid);
-    } else {
-      /* Start T3470 timer */
-      emm_ctx->T3470.id = nas_timer_start(emm_ctx->T3470.sec, _identification_t3470_handler,
-                                 data);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 started UE "NAS_UE_ID_FMT" ", data->ueid);
-    }
-
-    LOG_TRACE(INFO,"EMM-PROC  - Timer T3470 (%d) expires in %ld seconds",
-    		emm_ctx->T3470.id, emm_ctx->T3470.sec);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _identification_abort()                                   **
- **                                                                        **
- ** Description: Aborts the identification procedure currently in progress **
- **                                                                        **
- ** Inputs:  args:      Identification data to be released         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    T3470                                      **
- **                                                                        **
- ***************************************************************************/
-static int _identification_abort(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  identification_data_t *data = (identification_data_t *)(args);
-
-  if (data) {
-    unsigned int ueid = data->ueid;
-    int notify_failure = data->notify_failure;
-    struct emm_data_context_s *emm_ctx = NULL;
-    /* Get the UE context */
-  #if defined(NAS_BUILT_IN_EPC)
-    if (ueid > 0) {
-      emm_ctx = emm_data_context_get(&_emm_data, ueid);
-    }
-  #else
-    if (ueid < EMM_DATA_NB_UE_MAX) {
-      emm_ctx = _emm_data.ctx[ueid];
-    }
-  #endif
-    LOG_TRACE(WARNING, "EMM-PROC  - Abort identification procedure "
-              "(ueid="NAS_UE_ID_FMT")", ueid);
-
-    /* Stop timer T3470 */
-    if (emm_ctx->T3470.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", emm_ctx->T3470.id);
-      emm_ctx->T3470.id = nas_timer_stop(emm_ctx->T3470.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 stopped UE "NAS_UE_ID_FMT" ", data->ueid);
-    }
-
-    /* Release retransmission timer paramaters */
-    free(data);
-
-    /*
-     * Notify EMM that the identification procedure failed
-     */
-    if (notify_failure) {
-      MSC_LOG_TX_MESSAGE(
-    	  		MSC_NAS_EMM_MME,
-    	  	  	MSC_NAS_EMM_MME,
-    	  	  	NULL,0,
-    	  	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" ", ueid);
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
-      emm_sap.u.emm_reg.ueid = ueid;
-      rc = emm_sap_send(&emm_sap);
-    } else {
-      rc = RETURNok;
-    }
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
-
diff --git a/openair-cn/NAS/MME/EMM/IdleMode.c b/openair-cn/NAS/MME/EMM/IdleMode.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/IdleMode.h b/openair-cn/NAS/MME/EMM/IdleMode.h
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/LowerLayer.c b/openair-cn/NAS/MME/EMM/LowerLayer.c
deleted file mode 100644
index 20121649757e5a679d1fb03afc4b8ff11f00bf64..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/LowerLayer.c
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      LowerLayer.c
-
-Version     0.1
-
-Date        2012/03/14
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines EMM procedures executed by the Non-Access Stratum
-        upon receiving notifications from lower layers so that data
-        transfer succeed or failed, or NAS signalling connection is
-        released, or ESM unit data has been received from under layer,
-        and to request ESM unit data transfer to under layer.
-
-*****************************************************************************/
-
-#include "LowerLayer.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emmData.h"
-
-#include "emm_sap.h"
-#include "esm_sap.h"
-#include "nas_log.h"
-
-#include <string.h> // memset
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *          Lower layer notification handlers
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    lowerlayer_success()                                      **
- **                                                                        **
- ** Description: Notify the EPS Mobility Management entity that data have  **
- **      been successfully delivered to the network                **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int lowerlayer_success(unsigned int ueid)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  emm_sap.primitive = EMMREG_LOWERLAYER_SUCCESS;
-  emm_sap.u.emm_reg.ueid = ueid;
-  emm_sap.u.emm_reg.ctx = NULL;
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    lowerlayer_failure()                                      **
- **                                                                        **
- ** Description: Notify the EPS Mobility Management entity that lower la-  **
- **      yers failed to deliver data to the network                **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int lowerlayer_failure(unsigned int ueid)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  emm_sap.primitive = EMMREG_LOWERLAYER_FAILURE;
-  emm_sap.u.emm_reg.ueid = ueid;
-#if defined(NAS_BUILT_IN_EPC)
-  emm_data_context_t *emm_ctx = NULL;
-  if (ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-  emm_sap.u.emm_reg.ctx = emm_ctx;
-#else
-  emm_sap.u.emm_reg.ctx = NULL;
-#endif
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    lowerlayer_establish()                                    **
- **                                                                        **
- ** Description: Update the EPS connection management status upon recei-   **
- **      ving indication so that the NAS signalling connection is  **
- **      established                                               **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int lowerlayer_establish(void)
-{
-  LOG_FUNC_IN;
-  LOG_FUNC_RETURN (RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    lowerlayer_release()                                      **
- **                                                                        **
- ** Description: Notify the EPS Mobility Management entity that NAS signal-**
- **      ling connection has been released                         **
- **                                                                        **
- ** Inputs:  cause:     Release cause                              **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int lowerlayer_release(int cause)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  emm_sap.primitive = EMMREG_LOWERLAYER_RELEASE;
-  emm_sap.u.emm_reg.ueid = 0;
-  emm_sap.u.emm_reg.ctx = NULL;
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    lowerlayer_data_ind()                                     **
- **                                                                        **
- ** Description: Notify the EPS Session Management entity that data have   **
- **      been received from lower layers                           **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      data:      Data transfered from lower layers          **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int lowerlayer_data_ind(unsigned int ueid, const OctetString *data)
-{
-  esm_sap_t esm_sap;
-  int rc;
-  emm_data_context_t *emm_ctx = NULL;
-
-  LOG_FUNC_IN;
-
-#if defined(NAS_BUILT_IN_EPC)
-  if (ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-
-#endif
-
-  esm_sap.primitive = ESM_UNITDATA_IND;
-  esm_sap.is_standalone = TRUE;
-  esm_sap.ueid = ueid;
-  esm_sap.ctx  = emm_ctx;
-  esm_sap.recv = data;
-  rc = esm_sap_send(&esm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    lowerlayer_data_req()                                     **
- **                                                                        **
- ** Description: Notify the EPS Mobility Management entity that data have  **
- **      to be transfered to lower layers                          **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **          data:      Data to be transfered to lower layers      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int lowerlayer_data_req(unsigned int ueid, const OctetString *data)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-  emm_sap_t emm_sap;
-  emm_security_context_t    *sctx = NULL;
-  struct emm_data_context_s *ctx  = NULL;
-
-  emm_sap.primitive = EMMAS_DATA_REQ;
-  emm_sap.u.emm_as.u.data.guti = NULL;
-  emm_sap.u.emm_as.u.data.ueid = ueid;
-# if defined(NAS_BUILT_IN_EPC)
-
-  if (ueid > 0) {
-    ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-
-# else
-
-  if (ueid < EMM_DATA_NB_UE_MAX) {
-    ctx = _emm_data.ctx[ueid];
-  }
-
-# endif
-
-  if (ctx) {
-    sctx = ctx->security;
-  }
-  emm_sap.u.emm_as.u.data.NASinfo = 0;
-  emm_sap.u.emm_as.u.data.NASmsg.length = data->length;
-  emm_sap.u.emm_as.u.data.NASmsg.value = data->value;
-  /* Setup EPS NAS security data */
-  emm_as_set_security_data(&emm_sap.u.emm_as.u.data.sctx, sctx, FALSE, TRUE);
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/*
- * --------------------------------------------------------------------------
- *              EMM procedure handlers
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_as_set_security_data()                                    **
- **                                                                        **
- ** Description: Setup security data according to the given EPS security   **
- **      context when data transfer to lower layers is requested   **
- **                                                                        **
- ** Inputs:  args:      EPS security context currently in use      **
- **      is_new:    Indicates whether a new security context   **
- **             has just been taken into use               **
- **      is_ciphered:   Indicates whether the NAS message has to   **
- **             be sent ciphered                           **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     data:      EPS NAS security data to be setup          **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-void emm_as_set_security_data(emm_as_security_data_t *data, const void *args,
-                              int is_new, int is_ciphered)
-{
-  LOG_FUNC_IN;
-
-  const emm_security_context_t *context = (emm_security_context_t *)(args);
-
-  memset(data, 0, sizeof(emm_as_security_data_t));
-
-  if ( context && (context->type != EMM_KSI_NOT_AVAILABLE) ) {
-    /* 3GPP TS 24.301, sections 5.4.3.3 and 5.4.3.4
-     * Once a valid EPS security context exists and has been taken
-     * into use, UE and MME shall cipher and integrity protect all
-     * NAS signalling messages with the selected NAS ciphering and
-     * NAS integrity algorithms */
-    LOG_TRACE(INFO,
-              "EPS security context exists is new %u KSI %u SQN %u count %u",
-              is_new,
-              context->eksi,
-              context->ul_count.seq_num,
-              *(uint32_t *)(&context->ul_count));
-    LOG_TRACE(INFO,
-              "knas_int %s",dump_octet_string(&context->knas_int));
-    LOG_TRACE(INFO,
-              "knas_enc %s",dump_octet_string(&context->knas_enc));
-    LOG_TRACE(INFO,
-              "kasme %s",dump_octet_string(&context->kasme));
-
-    data->is_new = is_new;
-    data->ksi    = context->eksi;
-    data->sqn    = context->dl_count.seq_num;
-    // LG data->count = *(uint32_t *)(&context->ul_count);
-    data->count  = 0x00000000 | (context->dl_count.overflow << 8 ) | context->dl_count.seq_num;
-    /* NAS integrity and cyphering keys may not be available if the
-     * current security context is a partial EPS security context
-     * and not a full native EPS security context */
-    data->k_int = &context->knas_int;
-
-    if (is_ciphered) {
-      /* 3GPP TS 24.301, sections 4.4.5
-       * When the UE establishes a new NAS signalling connection,
-       * it shall send initial NAS messages integrity protected
-       * and unciphered */
-      /* 3GPP TS 24.301, section 5.4.3.2
-       * The MME shall send the SECURITY MODE COMMAND message integrity
-       * protected and unciphered */
-      LOG_TRACE(WARNING,
-                "EPS security context exists knas_enc");
-      data->k_enc = &context->knas_enc;
-    }
-  } else {
-    LOG_TRACE(WARNING, "EMM_AS_NO_KEY_AVAILABLE");
-    /* No valid EPS security context exists */
-    data->ksi = EMM_AS_NO_KEY_AVAILABLE;
-  }
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/EMM/LowerLayer.h b/openair-cn/NAS/MME/EMM/LowerLayer.h
deleted file mode 100644
index a0cef2582b25ba352e833fdfb82830bd3dc3896d..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/LowerLayer.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      lowerlayer.h
-
-Version     0.1
-
-Date        2013/06/19
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines EMM procedures executed by the Non-Access Stratum
-        upon receiving notifications from lower layers so that data
-        transfer succeed or failed, or NAS signalling connection is
-        released, or ESM unit data has been received from under layer,
-        and to request ESM unit data transfer to under layer.
-
-*****************************************************************************/
-#ifndef __LOWERLAYER_H__
-#define __LOWERLAYER_H__
-
-#include "OctetString.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-int lowerlayer_success(unsigned int ueid);
-int lowerlayer_failure(unsigned int ueid);
-int lowerlayer_establish(void);
-int lowerlayer_release(int cause);
-
-int lowerlayer_data_ind(unsigned int ueid, const OctetString *data);
-int lowerlayer_data_req(unsigned int ueid, const OctetString *data);
-
-#endif /* __LOWERLAYER_H__*/
diff --git a/openair-cn/NAS/MME/EMM/Makefile b/openair-cn/NAS/MME/EMM/Makefile
deleted file mode 100644
index ef85807e8fc76fb26ece82e1c7ef835c89203da5..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/Makefile
+++ /dev/null
@@ -1,72 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-ifndef PROJDIR
-PROJDIR = $(PWD)/../..
-endif
-
-include $(PROJDIR)/Makerules
-include $(PROJDIR)/Makefile.inc
-
-INCLUDES = -I. \
-    -I$(INCDIR) \
-    -I$(UTILDIR) \
-    -I$(USIMAPIDIR) \
-    -I$(MMEAPIDIR) \
-	-I$(ESMDIR) \
-	-I$(EMMSAPDIR) \
-	-I$(ESMDIR) \
-	-I$(ESMSAPDIR) \
-	-I$(EMMMSGDIR) \
-	-I$(IESDIR) \
-    -I$(OPENAIRCN_DIR)/COMMON \
-    -I$(OPENAIRCN_DIR)/SECU
-	
-
-all: $(OBJS)
-	@$(CD) $(EMMMSGDIR) && $(MAKE)
-	@$(CD) $(EMMSAPDIR) && $(MAKE)
-
-clean:
-	$(RM) $(OBJS) *.bak *~
-	@$(CD) $(EMMSAPDIR) && $(MAKE) $@
-
-veryclean: clean
-	@$(CD) $(EMMSAPDIR) && $(MAKE) $@
-	@$(CD) $(EMMMSGDIR) && $(MAKE) $@
-	$(RM) $(TARGET)
-
-%.o: %.c Makefile $(PROJDIR)/Makerules $(PROJDIR)/Makefile.inc
-	@echo Compiling $<
-	@$(CC) $(CFLAGS) -c $< -o $@
-
-depend:
-	makedepend -- ${CFLAGS} -- ${SRCS}
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
diff --git a/openair-cn/NAS/MME/EMM/SAP/COPYING b/openair-cn/NAS/MME/EMM/SAP/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmCommonProcedureInitiated.c b/openair-cn/NAS/MME/EMM/SAP/EmmCommonProcedureInitiated.c
deleted file mode 100644
index 91fad0d62ff193d0e01349d7e3e301a8cb3dd700..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/EmmCommonProcedureInitiated.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      EmmCommonProcedureInitiated.c
-
-Version     0.1
-
-Date        2012/10/03
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Implements the EPS Mobility Management procedures executed
-        when the EMM-SAP is in EMM-COMMON-PROCEDURE-INITIATED state.
-
-        In EMM-COMMON-PROCEDURE-INITIATED state, the MME has started
-        a common EMM procedure and is waiting for a response from the
-        UE.
-
-*****************************************************************************/
-
-
-#include "emm_fsm.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "EmmCommon.h"
-
-#include <assert.h>
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    EmmCommonProcedureInitiated()                             **
- **                                                                        **
- ** Description: Handles the behaviour of the MME while the EMM-SAP is in  **
- **      EMM_COMMON_PROCEDURE_INITIATED state.                     **
- **                                                                        **
- **              3GPP TS 24.301, section 5.1.3.4.2                         **
- **                                                                        **
- ** Inputs:  evt:       The received EMM-SAP event                 **
- **      Others:    emm_fsm_status                             **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    emm_fsm_status                             **
- **                                                                        **
- ***************************************************************************/
-int EmmCommonProcedureInitiated(const emm_reg_t *evt)
-{
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-  assert(emm_fsm_get_status(evt->ueid,
-                            evt->ctx) == EMM_COMMON_PROCEDURE_INITIATED);
-
-  switch (evt->primitive) {
-  case _EMMREG_PROC_ABORT:
-    /*
-     * The EMM procedure that initiated EMM common procedure aborted
-     */
-    rc = emm_proc_common_abort(evt->ueid);
-    break;
-
-  case _EMMREG_COMMON_PROC_CNF:
-
-    /*
-     * An EMM common procedure successfully completed;
-     */
-    if (evt->u.common.is_attached) {
-      rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_REGISTERED);
-    } else {
-      rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_DEREGISTERED);
-    }
-
-    if (rc != RETURNerror) {
-      rc = emm_proc_common_success(evt->ueid);
-    }
-
-    break;
-
-  case _EMMREG_COMMON_PROC_REJ:
-    /*
-     * An EMM common procedure failed;
-     * enter state EMM-DEREGISTERED.
-     */
-    rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_DEREGISTERED);
-
-    if (rc != RETURNerror) {
-      rc = emm_proc_common_reject(evt->ueid);
-    }
-
-    break;
-
-  case _EMMREG_ATTACH_CNF:
-    /*
-     * Attach procedure successful and default EPS bearer
-     * context activated;
-     * enter state EMM-REGISTERED.
-     */
-    rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_REGISTERED);
-    break;
-
-  case _EMMREG_ATTACH_REJ:
-    /*
-     * Attach procedure failed;
-     * enter state EMM-DEREGISTERED.
-     */
-    rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_DEREGISTERED);
-    break;
-
-  case _EMMREG_LOWERLAYER_SUCCESS:
-    /*
-     * Data successfully delivered to the network
-     */
-    rc = RETURNok;
-    break;
-
-  case _EMMREG_LOWERLAYER_FAILURE:
-    /*
-     * Transmission failure occurred before the EMM common
-     * procedure being completed
-     */
-    rc = emm_proc_common_failure(evt->ueid);
-
-    if (rc != RETURNerror) {
-      rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_DEREGISTERED);
-    }
-
-    break;
-
-  default:
-    LOG_TRACE(ERROR, "EMM-FSM   - Primitive is not valid (%d)",
-              evt->primitive);
-    break;
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmDeregistered.c b/openair-cn/NAS/MME/EMM/SAP/EmmDeregistered.c
deleted file mode 100644
index 627986ba144d7ea4d36ec1310516e949fc761129..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/EmmDeregistered.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      EmmDeregistered.c
-
-Version     0.1
-
-Date        2012/10/03
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Implements the EPS Mobility Management procedures executed
-        when the EMM-SAP is in EMM-DEREGISTERED state.
-
-        In EMM-DEREGISTERED state, no EMM context has been established
-        or the EMM context is marked as detached.
-        The UE shall start the attach or combined attach procedure to
-        establish an EMM context.
-
-        The MME may answer to an attach or a combined attach procedure
-        initiated by the UE. It may also answer to a tracking area
-        updating procedure or combined tracking area updating procedure
-        initiated by a UE if the EMM context is marked as detached.
-
-*****************************************************************************/
-
-#include "emm_fsm.h"
-#include "commonDef.h"
-#include "networkDef.h"
-#include "nas_log.h"
-
-#include "emm_proc.h"
-
-#include <assert.h>
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    EmmDeregistered()                                         **
- **                                                                        **
- ** Description: Handles the behaviour of the UE and the MME while the     **
- **      EMM-SAP is in EMM-DEREGISTERED state.                     **
- **                                                                        **
- **              3GPP TS 24.301, section 5.2.2.2                           **
- **                                                                        **
- ** Inputs:  evt:       The received EMM-SAP event                 **
- **      Others:    emm_fsm_status                             **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    emm_fsm_status                             **
- **                                                                        **
- ***************************************************************************/
-int EmmDeregistered(const emm_reg_t *evt)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  assert(emm_fsm_get_status(evt->ueid, evt->ctx) == EMM_DEREGISTERED);
-
-  switch (evt->primitive) {
-
-  case _EMMREG_PROC_ABORT:
-    /*
-     * Ongoing EMM procedure aborted
-     */
-    rc = RETURNok;
-    break;
-
-  case _EMMREG_COMMON_PROC_REQ:
-    /*
-     * An EMM common procedure has been initiated;
-     * enter state EMM-COMMON-PROCEDURE-INITIATED.
-     */
-    rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_COMMON_PROCEDURE_INITIATED);
-    break;
-
-  case _EMMREG_ATTACH_CNF:
-    /*
-     * Attach procedure successful and default EPS bearer
-     * context activated;
-     * enter state EMM-REGISTERED.
-     */
-    rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_REGISTERED);
-    break;
-
-  case _EMMREG_LOWERLAYER_SUCCESS:
-    /*
-     * Data successfully delivered to the network
-     */
-    rc = RETURNok;
-    break;
-
-  case _EMMREG_LOWERLAYER_FAILURE:
-    /*
-     * Data failed to be delivered to the network
-     */
-    rc = RETURNok;
-    break;
-
-  default:
-    LOG_TRACE(ERROR, "EMM-FSM   - Primitive is not valid (%d)",
-              evt->primitive);
-    break;
-  }
-
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredAttachNeeded.c b/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredAttachNeeded.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredAttemptingToAttach.c b/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredAttemptingToAttach.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredInitiated.c b/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredInitiated.c
deleted file mode 100644
index 74cb43fbb572a6d20fe5c24c27142b8f8826921e..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredInitiated.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      EmmDeregisteredInitiated.c
-
-Version     0.1
-
-Date        2012/10/03
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Implements the EPS Mobility Management procedures executed
-        when the EMM-SAP is in EMM-DEREGISTERED-INITIATED state.
-
-        In EMM-DEREGISTERED-INITIATED state, the UE has requested
-        release of the EMM context by starting the detach or combined
-        detach procedure and is waiting for a response from the MME.
-        The MME has started a detach procedure and is waiting for a
-        response from the UE.
-
-*****************************************************************************/
-
-#include "emm_fsm.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emm_proc.h"
-
-#include <assert.h>
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    EmmDeregisteredInitiated()                                **
- **                                                                        **
- ** Description: Handles the behaviour of the UE and the MME while the     **
- **      EMM-SAP is in EMM-DEREGISTERED-INITIATED state.           **
- **                                                                        **
- ** Inputs:  evt:       The received EMM-SAP event                 **
- **      Others:    emm_fsm_status                             **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    emm_fsm_status                             **
- **                                                                        **
- ***************************************************************************/
-int EmmDeregisteredInitiated(const emm_reg_t *evt)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  assert(emm_fsm_get_status(evt->ueid, evt->ctx) == EMM_DEREGISTERED_INITIATED);
-
-  switch (evt->primitive) {
-
-  default:
-    LOG_TRACE(ERROR, "EMM-FSM   - Primitive is not valid (%d)",
-              evt->primitive);
-    break;
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredLimitedService.c b/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredLimitedService.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredNoCellAvailable.c b/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredNoCellAvailable.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredNoImsi.c b/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredNoImsi.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredNormalService.c b/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredNormalService.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredPlmnSearch.c b/openair-cn/NAS/MME/EMM/SAP/EmmDeregisteredPlmnSearch.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmNull.c b/openair-cn/NAS/MME/EMM/SAP/EmmNull.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmRegistered.c b/openair-cn/NAS/MME/EMM/SAP/EmmRegistered.c
deleted file mode 100644
index 5c311dc8eee9bcf06ee2b184805880d75d246769..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/EmmRegistered.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      EmmRegistered.c
-
-Version     0.1
-
-Date        2012/10/03
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Implements the EPS Mobility Management procedures executed
-        when the EMM-SAP is in EMM-REGISTERED state.
-
-        In EMM-REGISTERED state, an EMM context has been established
-        and a default EPS bearer context has been activated in the UE
-        and the MME.
-        The UE may initiate sending and receiving user data and signal-
-        ling information and reply to paging. Additionally, tracking
-        area updating or combined tracking area updating procedure is
-        performed.
-
-*****************************************************************************/
-
-#include "emm_fsm.h"
-#include "commonDef.h"
-#include "networkDef.h"
-#include "nas_log.h"
-
-#include "emm_proc.h"
-
-#include <assert.h>
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    EmmRegistered()                                           **
- **                                                                        **
- ** Description: Handles the behaviour of the UE and the MME while the     **
- **      EMM-SAP is in EMM-REGISTERED state.                       **
- **                                                                        **
- ** Inputs:  evt:       The received EMM-SAP event                 **
- **      Others:    emm_fsm_status                             **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    emm_fsm_status                             **
- **                                                                        **
- ***************************************************************************/
-int EmmRegistered(const emm_reg_t *evt)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  assert(emm_fsm_get_status(evt->ueid, evt->ctx) == EMM_REGISTERED);
-
-  switch (evt->primitive) {
-
-
-
-  case _EMMREG_DETACH_REQ:
-    /*
-     * Network detach has been requested (implicit detach);
-     * enter state EMM-DEREGISTERED
-     */
-    rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_DEREGISTERED);
-    break;
-
-  case _EMMREG_COMMON_PROC_REQ:
-    /*
-     * An EMM common procedure has been initiated;
-     * enter state EMM-COMMON-PROCEDURE-INITIATED.
-     */
-    rc = emm_fsm_set_status(evt->ueid, evt->ctx, EMM_COMMON_PROCEDURE_INITIATED);
-    break;
-
-  case _EMMREG_TAU_REJ:
-    /*
-     * TODO: Tracking Area Update has been rejected
-     */
-    LOG_TRACE(ERROR, "EMM-FSM   - Tracking Area Update procedure "
-              "is not implemented");
-    break;
-
-  case _EMMREG_LOWERLAYER_SUCCESS:
-    /*
-     * Data successfully delivered to the network
-     */
-    rc = RETURNok;
-    break;
-
-  case _EMMREG_LOWERLAYER_FAILURE:
-    /*
-     * Data failed to be delivered to the network
-     */
-    rc = RETURNok;
-    break;
-
-  default:
-    LOG_TRACE(ERROR, "EMM-FSM   - Primitive is not valid (%d)",
-              evt->primitive);
-    break;
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredAttemptingToUpdate.c b/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredAttemptingToUpdate.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredImsiDetachInitiated.c b/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredImsiDetachInitiated.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredInitiated.c b/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredInitiated.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredLimitedService.c b/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredLimitedService.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredNoCellAvailable.c b/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredNoCellAvailable.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredNormalService.c b/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredNormalService.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredPlmnSearch.c b/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredPlmnSearch.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredUpdateNeeded.c b/openair-cn/NAS/MME/EMM/SAP/EmmRegisteredUpdateNeeded.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmServiceRequestInitiated.c b/openair-cn/NAS/MME/EMM/SAP/EmmServiceRequestInitiated.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c b/openair-cn/NAS/MME/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/NAS/MME/EMM/SAP/Makefile b/openair-cn/NAS/MME/EMM/SAP/Makefile
deleted file mode 100644
index 735d35bf8eeda3cafd347fbc59c1f4cbad4909dd..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/Makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-ifndef PROJDIR
-PROJDIR = $(PWD)/../../..
-endif
-
-include $(PROJDIR)/Makerules
-include $(PROJDIR)/Makefile.inc
-
-INCLUDES = -I. -I$(INCDIR) -I$(UTILDIR) -I$(IESDIR) -I$(MMEAPIDIR) \
-	-I$(EMMDIR) -I$(EMMMSGDIR) -I$(ESMDIR) -I$(ESMMSGDIR) -I$(NETAPIDIR)
-
-TARGET = $(LIBEMMSAP)
-TARGETS = $(TARGET).a $(TARGET).so
-
-all: $(TARGETS)
-
-%.o: %.c Makefile $(PROJDIR)/Makerules $(PROJDIR)/Makefile.inc
-	@echo Compiling $<
-	@$(CC) $(CFLAGS) -c $< -o $@
-
-$(TARGET).a: $(OBJS)
-	@$(RM) $@
-	@$(AR) $(ARFLAGS) $@ $(OBJS)
-	@echo Replacing $@ to $(LIBPROCESS)
-	@$(RM) $(LIBPROCESS)/$@
-	@$(CP) $@ $(LIBPROCESS)
-
-$(TARGET).so: $(OBJS)
-	@$(LD) -G -o $@ $(OBJS)
-	@echo Replacing $@ to $(LIBPROCESS)
-	@$(RM) $(LIBPROCESS)/$@
-	@$(CP) $@ $(LIBPROCESS)
-
-clean:
-	$(RM) $(OBJS) *.bak *~
-
-veryclean: clean
-	$(RM) $(TARGETS)
-
-depend:
-	makedepend -- ${CFLAGS} -- ${SRCS}
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_as.c b/openair-cn/NAS/MME/EMM/SAP/emm_as.c
deleted file mode 100644
index 882c9e800efaef049d038f18bd4566bd86af5281..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_as.c
+++ /dev/null
@@ -1,1763 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_as.c
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMMAS Service Access Point that provides
-        services to the EPS Mobility Management for NAS message
-        transfer to/from the Access Stratum sublayer.
-
-*****************************************************************************/
-
-#include "emm_as.h"
-#include "emm_recv.h"
-#include "emm_send.h"
-#include "emmData.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "TLVDecoder.h"
-#include "as_message.h"
-#include "nas_message.h"
-
-#include "emm_cause.h"
-#include "LowerLayer.h"
-
-#include <string.h> // memset
-#include <stdlib.h> // malloc, free
-
-#if defined(NAS_BUILT_IN_EPC)
-# include "nas_itti_messaging.h"
-#endif
-#include "msc.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-
-extern int emm_proc_status(unsigned int ueid, int emm_cause);
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/*
- * String representation of EMMAS-SAP primitives
- */
-static const char *_emm_as_primitive_str[] = {
-  "EMMAS_SECURITY_REQ",
-  "EMMAS_SECURITY_IND",
-  "EMMAS_SECURITY_RES",
-  "EMMAS_SECURITY_REJ",
-  "EMMAS_ESTABLISH_REQ",
-  "EMMAS_ESTABLISH_CNF",
-  "EMMAS_ESTABLISH_REJ",
-  "EMMAS_RELEASE_REQ",
-  "EMMAS_RELEASE_IND",
-  "EMMAS_DATA_REQ",
-  "EMMAS_DATA_IND",
-  "EMMAS_PAGE_IND",
-  "EMMAS_STATUS_IND",
-  "EMMAS_CELL_INFO_REQ",
-  "EMMAS_CELL_INFO_RES",
-  "EMMAS_CELL_INFO_IND",
-};
-
-/*
- * Functions executed to process EMM procedures upon receiving
- * data from the network
- */
-static int _emm_as_recv(unsigned int ueid, const char *msg, int len,
-                        int *emm_cause);
-
-
-static int _emm_as_establish_req(const emm_as_establish_t *msg, int *emm_cause);
-static int _emm_as_cell_info_res(const emm_as_cell_info_t *msg);
-static int _emm_as_cell_info_ind(const emm_as_cell_info_t *msg);
-static int _emm_as_data_ind(const emm_as_data_t *msg, int *emm_cause);
-
-/*
- * Functions executed to send data to the network when requested
- * within EMM procedure processing
- */
-static EMM_msg *_emm_as_set_header(nas_message_t *msg,
-                                   const emm_as_security_data_t *security);
-static int
-_emm_as_encode(
-  as_nas_info_t *info,
-  nas_message_t *msg,
-  int length,
-  emm_security_context_t     *emm_security_context);
-
-static int _emm_as_encrypt(
-  as_nas_info_t *info,
-  const nas_message_security_header_t *header,
-  const char *buffer,
-  int length,
-  emm_security_context_t *emm_security_context);
-
-static int _emm_as_send(const emm_as_t *msg);
-
-static int _emm_as_security_req(const emm_as_security_t *,
-                                dl_info_transfer_req_t *);
-static int _emm_as_security_rej(const emm_as_security_t *,
-                                dl_info_transfer_req_t *);
-static int _emm_as_establish_cnf(const emm_as_establish_t *,
-                                 nas_establish_rsp_t *);
-static int _emm_as_establish_rej(const emm_as_establish_t *,
-                                 nas_establish_rsp_t *);
-static int _emm_as_page_ind(const emm_as_page_t *, paging_req_t *);
-
-static int _emm_as_cell_info_req(const emm_as_cell_info_t *, cell_info_req_t *);
-
-static int _emm_as_data_req(const emm_as_data_t *, ul_info_transfer_req_t *);
-static int _emm_as_status_ind(const emm_as_status_t *, ul_info_transfer_req_t *);
-static int _emm_as_release_req(const emm_as_release_t *, nas_release_req_t *);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_as_initialize()                                       **
- **                                                                        **
- ** Description: Initializes the EMMAS Service Access Point                **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    NONE                                       **
- **                                                                        **
- ***************************************************************************/
-void emm_as_initialize(void)
-{
-  LOG_FUNC_IN;
-
-  /* TODO: Initialize the EMMAS-SAP */
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_as_send()                                             **
- **                                                                        **
- ** Description: Processes the EMMAS Service Access Point primitive.       **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_as_send(const emm_as_t *msg)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-  int emm_cause = EMM_CAUSE_SUCCESS;
-  emm_as_primitive_t primitive = msg->primitive;
-
-  uint32_t ueid = 0;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received primitive %s (%d)",
-            _emm_as_primitive_str[primitive - _EMMAS_START - 1], primitive);
-
-  switch (primitive) {
-  case _EMMAS_DATA_IND:
-    rc = _emm_as_data_ind(&msg->u.data, &emm_cause);
-    ueid = msg->u.data.ueid;
-    break;
-
-  case _EMMAS_ESTABLISH_REQ:
-    rc = _emm_as_establish_req(&msg->u.establish, &emm_cause);
-    ueid = msg->u.establish.ueid;
-    break;
-
-  case _EMMAS_CELL_INFO_RES:
-    rc = _emm_as_cell_info_res(&msg->u.cell_info);
-    break;
-
-  case _EMMAS_CELL_INFO_IND:
-    rc = _emm_as_cell_info_ind(&msg->u.cell_info);
-    break;
-
-  default:
-    /* Other primitives are forwarded to the Access Stratum */
-    rc = _emm_as_send(msg);
-
-    if (rc != RETURNok) {
-      LOG_TRACE(ERROR, "EMMAS-SAP - "
-                "Failed to process primitive %s (%d)",
-                _emm_as_primitive_str[primitive - _EMMAS_START - 1],
-                primitive);
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-
-    break;
-  }
-
-  /* Handle decoding errors */
-  if (emm_cause != EMM_CAUSE_SUCCESS) {
-    /* Ignore received message that is too short to contain a complete
-     * message type information element */
-    if (rc == TLV_DECODE_BUFFER_TOO_SHORT) {
-      LOG_FUNC_RETURN (RETURNok);
-    }
-    /* Ignore received message that contains not supported protocol
-     * discriminator */
-    else if (rc == TLV_DECODE_PROTOCOL_NOT_SUPPORTED) {
-      LOG_FUNC_RETURN (RETURNok);
-    } else if (rc == TLV_DECODE_WRONG_MESSAGE_TYPE) {
-      emm_cause = EMM_CAUSE_MESSAGE_TYPE_NOT_IMPLEMENTED;
-    }
-
-    /* EMM message processing failed */
-    LOG_TRACE(WARNING, "EMMAS-SAP - Received EMM message is not valid "
-              "(cause=%d)", emm_cause);
-    /* Return an EMM status message */
-    rc = emm_proc_status(ueid, emm_cause);
-  }
-
-  if (rc != RETURNok) {
-    LOG_TRACE(ERROR, "EMMAS-SAP - Failed to process primitive %s (%d)",
-              _emm_as_primitive_str[primitive - _EMMAS_START - 1],
-              primitive);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed to process EMM procedures upon receiving data from the
- * network
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_recv()                                            **
- **                                                                        **
- ** Description: Decodes and processes the EPS Mobility Management message **
- **      received from the Access Stratum                          **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      msg:       The EMM message to process                 **
- **      len:       The length of the EMM message              **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_recv(unsigned int ueid, const char *msg, int len,
-                        int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int decoder_rc;
-  int rc = RETURNerror;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received EMM message (length=%d)", len);
-
-  nas_message_t nas_msg;
-  memset(&nas_msg, 0 , sizeof(nas_message_t));
-
-  emm_security_context_t       *security = NULL;    /* Current EPS NAS security context     */
-#if defined(NAS_BUILT_IN_EPC)
-  emm_data_context_t           *emm_ctx  = NULL;
-#endif
-
-#if defined(NAS_BUILT_IN_EPC)
-  emm_ctx = emm_data_context_get(&_emm_data, ueid);
-
-  if (emm_ctx) {
-    security = emm_ctx->security;
-  }
-
-#else
-
-  if (ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[ueid];
-
-    if (emm_ctx) {
-      security = emm_ctx->security;
-    }
-  }
-
-#endif
-
-  /* Decode the received message */
-  decoder_rc = nas_message_decode(msg, &nas_msg, len, security);
-
-  if (decoder_rc < 0) {
-    LOG_TRACE(WARNING, "EMMAS-SAP - Failed to decode NAS message "
-              "(err=%d)", decoder_rc);
-    *emm_cause = EMM_CAUSE_PROTOCOL_ERROR;
-    LOG_FUNC_RETURN (decoder_rc);
-  }
-
-  /* Process NAS message */
-  EMM_msg *emm_msg = &nas_msg.plain.emm;
-
-  switch (emm_msg->header.message_type) {
-  case EMM_STATUS:
-    rc = emm_recv_status(ueid, &emm_msg->emm_status, emm_cause);
-    break;
-
-  case ATTACH_REQUEST:
-    rc = emm_recv_attach_request(
-           ueid,
-           &emm_msg->attach_request,
-           emm_cause);
-    break;
-
-  case IDENTITY_RESPONSE:
-    rc = emm_recv_identity_response(
-           ueid,
-           &emm_msg->identity_response,
-           emm_cause);
-    break;
-
-  case AUTHENTICATION_RESPONSE:
-    rc = emm_recv_authentication_response(
-           ueid,
-           &emm_msg->authentication_response,
-           emm_cause);
-    break;
-
-  case AUTHENTICATION_FAILURE:
-    rc = emm_recv_authentication_failure(
-           ueid,
-           &emm_msg->authentication_failure,
-           emm_cause);
-    break;
-
-  case SECURITY_MODE_COMPLETE:
-    rc = emm_recv_security_mode_complete(
-           ueid,
-           &emm_msg->security_mode_complete,
-           emm_cause);
-    break;
-
-  case SECURITY_MODE_REJECT:
-    rc = emm_recv_security_mode_reject(ueid,
-                                       &emm_msg->security_mode_reject,
-                                       emm_cause);
-    break;
-
-  case ATTACH_COMPLETE:
-    rc = emm_recv_attach_complete(ueid, &emm_msg->attach_complete,
-                                  emm_cause);
-    break;
-
-  case TRACKING_AREA_UPDATE_COMPLETE:
-  case GUTI_REALLOCATION_COMPLETE:
-  case UPLINK_NAS_TRANSPORT:
-    /* TODO */
-    break;
-
-  case DETACH_REQUEST:
-    rc = emm_recv_detach_request(ueid, &emm_msg->detach_request,
-                                 emm_cause);
-    break;
-
-  default:
-    LOG_TRACE(WARNING, "EMMAS-SAP - EMM message 0x%x is not valid",
-              emm_msg->header.message_type);
-    *emm_cause = EMM_CAUSE_MESSAGE_TYPE_NOT_COMPATIBLE;
-    break;
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_data_ind()                                        **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP data transfer indication          **
- **      primitive                                                 **
- **                                                                        **
- ** EMMAS-SAP - AS->EMM: DATA_IND - Data transfer procedure                **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_data_ind(const emm_as_data_t *msg, int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received AS data transfer indication "
-            "(ueid="NAS_UE_ID_FMT", delivered=%s, length=%d)", msg->ueid,
-            (msg->delivered)? "TRUE" : "FALSE", msg->NASmsg.length);
-
-  if (msg->delivered) {
-    if (msg->NASmsg.length > 0) {
-      /* Process the received NAS message */
-      char *plain_msg = (char *)malloc(msg->NASmsg.length);
-
-      if (plain_msg) {
-        nas_message_security_header_t header;
-        emm_security_context_t       *security = NULL;    /* Current EPS NAS security context     */
-
-        memset(&header, 0, sizeof(header));
-        /* Decrypt the received security protected message */
-        emm_data_context_t           *emm_ctx  = NULL;
-#if defined(NAS_BUILT_IN_EPC)
-
-        if (msg->ueid > 0) {
-          emm_ctx = emm_data_context_get(&_emm_data, msg->ueid);
-
-          if (emm_ctx) {
-            security = emm_ctx->security;
-          }
-        }
-
-#else
-
-        if (msg->ueid < EMM_DATA_NB_UE_MAX) {
-          emm_ctx = _emm_data.ctx[msg->ueid];
-
-          if (emm_ctx) {
-            security = emm_ctx->security;
-          }
-        }
-
-#endif
-        int bytes = nas_message_decrypt((char *)(msg->NASmsg.value),
-                                        plain_msg,
-                                        &header,
-                                        msg->NASmsg.length,
-                                        security
-                                       );
-
-        if (bytes < 0) {
-          /* Failed to decrypt the message */
-          *emm_cause = EMM_CAUSE_PROTOCOL_ERROR;
-          LOG_FUNC_RETURN (bytes);
-        } else if (header.protocol_discriminator ==
-                   EPS_MOBILITY_MANAGEMENT_MESSAGE) {
-          /* Process EMM data */
-          rc = _emm_as_recv(msg->ueid, plain_msg, bytes, emm_cause);
-        } else if (header.protocol_discriminator ==
-                   EPS_SESSION_MANAGEMENT_MESSAGE) {
-          const OctetString data = {bytes, (uint8_t *)plain_msg};
-          /* Foward ESM data to EPS session management */
-          rc = lowerlayer_data_ind(msg->ueid, &data);
-        }
-
-        free(plain_msg);
-      }
-    } else {
-      /* Process successfull lower layer transfer indication */
-      rc = lowerlayer_success(msg->ueid);
-    }
-  } else {
-    /* Process lower layer transmission failure of NAS message */
-    rc = lowerlayer_failure(msg->ueid);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_establish_req()                                   **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP connection establish request      **
- **      primitive                                                 **
- **                                                                        **
- ** EMMAS-SAP - AS->EMM: ESTABLISH_REQ - NAS signalling connection         **
- **     The AS notifies the NAS that establishment of the signal-  **
- **     ling connection has been requested to tranfer initial NAS  **
- **     message from the UE.                                       **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_establish_req(const emm_as_establish_t *msg, int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  struct emm_data_context_s *emm_ctx                = NULL;
-  emm_security_context_t    *emm_security_context   = NULL;
-  int decoder_rc;
-  int rc = RETURNerror;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received AS connection establish request");
-
-  nas_message_t nas_msg;
-  memset(&nas_msg, 0 , sizeof(nas_message_t));
-
-#if defined(NAS_BUILT_IN_EPC)
-  emm_ctx = emm_data_context_get(&_emm_data, msg->ueid);
-#else
-
-  if (msg->ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[msg->ueid];
-  }
-
-#endif
-
-  if (emm_ctx) {
-    emm_security_context = emm_ctx->security;
-  }
-
-  /* Decode initial NAS message */
-  decoder_rc = nas_message_decode(
-                 (char *)(msg->NASmsg.value),
-                 &nas_msg,
-                 msg->NASmsg.length,
-                 emm_security_context);
-
-  if (decoder_rc < TLV_DECODE_FATAL_ERROR) {
-    *emm_cause = EMM_CAUSE_PROTOCOL_ERROR;
-    LOG_FUNC_RETURN (decoder_rc);
-  } else if (decoder_rc == TLV_DECODE_UNEXPECTED_IEI) {
-    *emm_cause = EMM_CAUSE_IE_NOT_IMPLEMENTED;
-  } else if (decoder_rc < 0) {
-    *emm_cause = EMM_CAUSE_PROTOCOL_ERROR;
-  }
-
-  /* Process initial NAS message */
-  EMM_msg *emm_msg = &nas_msg.plain.emm;
-
-  switch (emm_msg->header.message_type) {
-  case ATTACH_REQUEST:
-    rc = emm_recv_attach_request(
-           msg->ueid,
-           &emm_msg->attach_request,
-           emm_cause);
-    break;
-
-  case DETACH_REQUEST:
-    rc = RETURNok;  /* TODO */
-    break;
-
-  case TRACKING_AREA_UPDATE_REQUEST:
-    rc = emm_recv_tracking_area_update_request(
-           msg->ueid,
-           &emm_msg->tracking_area_update_request,
-           emm_cause);
-    break;
-
-  case SERVICE_REQUEST:
-    rc = RETURNok;  /* TODO */
-    break;
-
-  case EXTENDED_SERVICE_REQUEST:
-    rc = RETURNok;  /* TODO */
-    break;
-
-  default:
-    LOG_TRACE(WARNING, "EMMAS-SAP - Initial NAS message 0x%x is "
-              "not valid", emm_msg->header.message_type);
-    *emm_cause = EMM_CAUSE_MESSAGE_TYPE_NOT_COMPATIBLE;
-    break;
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_cell_info_res()                                   **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP cell information response         **
- **      primitive                                                 **
- **                                                                        **
- ** EMMAS-SAP - AS->EMM: CELL_INFO_RES - PLMN and cell selection procedure **
- **     The NAS received a response to cell selection request pre- **
- **     viously sent to the Access-Startum. If a suitable cell is  **
- **     found to serve the selected PLMN with associated Radio Ac- **
- **     cess Technologies, this cell is selected to camp on.       **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_cell_info_res(const emm_as_cell_info_t *msg)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNok;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received AS cell information response");
-
-
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_cell_info_ind()                                   **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP cell information indication       **
- **      primitive                                                 **
- **                                                                        **
- ** EMMAS-SAP - AS->EMM: CELL_INFO_IND - PLMN and cell selection procedure **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_cell_info_ind(const emm_as_cell_info_t *msg)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNok;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received AS cell information indication");
-
-  /* TODO */
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed to send data to the network when requested within EMM
- * procedure processing
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_set_header()                                      **
- **                                                                        **
- ** Description: Setup the security header of the given NAS message        **
- **                                                                        **
- ** Inputs:  security:  The NAS security data to use               **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     msg:       The NAS message                            **
- **      Return:    Pointer to the plain NAS message to be se- **
- **             curity protected if setting of the securi- **
- **             ty header succeed;                         **
- **             NULL pointer otherwise                     **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static EMM_msg *_emm_as_set_header(nas_message_t *msg,
-                                   const emm_as_security_data_t *security)
-{
-  LOG_FUNC_IN;
-
-  msg->header.protocol_discriminator = EPS_MOBILITY_MANAGEMENT_MESSAGE;
-
-  if ( security && (security->ksi != EMM_AS_NO_KEY_AVAILABLE) ) {
-    /* A valid EPS security context exists */
-    if (security->is_new) {
-      /* New EPS security context is taken into use */
-      if (security->k_int) {
-        if (security->k_enc) {
-          /* NAS integrity and cyphering keys are available */
-          msg->header.security_header_type =
-            SECURITY_HEADER_TYPE_INTEGRITY_PROTECTED_CYPHERED_NEW;
-        } else {
-          /* NAS integrity key only is available */
-          msg->header.security_header_type =
-            SECURITY_HEADER_TYPE_INTEGRITY_PROTECTED_NEW;
-        }
-
-        LOG_FUNC_RETURN (&msg->security_protected.plain.emm);
-      }
-    } else if (security->k_int) {
-      if (security->k_enc) {
-        /* NAS integrity and cyphering keys are available */
-        msg->header.security_header_type =
-          SECURITY_HEADER_TYPE_INTEGRITY_PROTECTED_CYPHERED;
-      } else {
-        /* NAS integrity key only is available */
-        msg->header.security_header_type =
-          SECURITY_HEADER_TYPE_INTEGRITY_PROTECTED;
-      }
-
-      LOG_FUNC_RETURN (&msg->security_protected.plain.emm);
-    } else {
-      /* No valid EPS security context exists */
-      msg->header.security_header_type = SECURITY_HEADER_TYPE_NOT_PROTECTED;
-      LOG_FUNC_RETURN (&msg->plain.emm);
-    }
-  } else {
-    /* No valid EPS security context exists */
-    msg->header.security_header_type = SECURITY_HEADER_TYPE_NOT_PROTECTED;
-    LOG_FUNC_RETURN (&msg->plain.emm);
-  }
-
-  /* A valid EPS security context exists but NAS integrity key
-   * is not available */
-  LOG_FUNC_RETURN (NULL);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_encode()                                          **
- **                                                                        **
- ** Description: Encodes NAS message into NAS information container        **
- **                                                                        **
- ** Inputs:  msg:       The NAS message to encode                  **
- **      length:    The maximum length of the NAS message      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     info:      The NAS information container              **
- **      msg:       The NAS message to encode                  **
- **      Return:    The number of bytes successfully encoded   **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int
-_emm_as_encode(
-  as_nas_info_t              *info,
-  nas_message_t              *msg,
-  int                         length,
-  emm_security_context_t     *emm_security_context)
-{
-  LOG_FUNC_IN;
-
-  int bytes = 0;
-
-  if (msg->header.security_header_type != SECURITY_HEADER_TYPE_NOT_PROTECTED) {
-    emm_msg_header_t *header = &msg->security_protected.plain.emm.header;
-    /* Expand size of protected NAS message */
-    length += NAS_MESSAGE_SECURITY_HEADER_SIZE;
-    /* Set header of plain NAS message */
-    header->protocol_discriminator = EPS_MOBILITY_MANAGEMENT_MESSAGE;
-    header->security_header_type = SECURITY_HEADER_TYPE_NOT_PROTECTED;
-  }
-
-  /* Allocate memory to the NAS information container */
-  info->data = (Byte_t *)malloc(length * sizeof(Byte_t));
-
-  if (info->data != NULL) {
-    /* Encode the NAS message */
-    bytes = nas_message_encode(
-              (char *)(info->data),
-              msg,
-              length,
-              emm_security_context);
-
-    if (bytes > 0) {
-      info->length = bytes;
-    } else {
-      free(info->data);
-      info->length = 0;
-      info->data = NULL;
-    }
-  }
-
-  LOG_FUNC_RETURN (bytes);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_encrypt()                                         **
- **                                                                        **
- ** Description: Encryts NAS message into NAS information container        **
- **                                                                        **
- ** Inputs:  header:    The Security header in used                **
- **      msg:       The NAS message to encrypt                 **
- **      length:    The maximum length of the NAS message      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     info:      The NAS information container              **
- **      Return:    The number of bytes successfully encrypted **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int
-_emm_as_encrypt(
-  as_nas_info_t *info,
-  const nas_message_security_header_t *header,
-  const char *msg,
-  int length,
-  emm_security_context_t *emm_security_context)
-{
-  LOG_FUNC_IN;
-
-  int bytes = 0;
-
-  if (header->security_header_type != SECURITY_HEADER_TYPE_NOT_PROTECTED) {
-    /* Expand size of protected NAS message */
-    length += NAS_MESSAGE_SECURITY_HEADER_SIZE;
-  }
-
-  /* Allocate memory to the NAS information container */
-  info->data = (Byte_t *)malloc(length * sizeof(Byte_t));
-
-  if (info->data != NULL) {
-    /* Encrypt the NAS information message */
-    bytes = nas_message_encrypt(
-              msg,
-              (char *)(info->data),
-              header,
-              length,
-              emm_security_context);
-
-    if (bytes > 0) {
-      info->length = bytes;
-    } else {
-      free(info->data);
-      info->length = 0;
-      info->data = NULL;
-    }
-  }
-
-  LOG_FUNC_RETURN (bytes);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_send()                                            **
- **                                                                        **
- ** Description: Builds NAS message according to the given EMMAS Service   **
- **      Access Point primitive and sends it to the Access Stratum **
- **      sublayer                                                  **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to be sent         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_send(const emm_as_t *msg)
-{
-  LOG_FUNC_IN;
-
-  as_message_t as_msg;
-  memset(&as_msg, 0 , sizeof(as_message_t));
-
-  switch (msg->primitive) {
-  case _EMMAS_DATA_REQ:
-    as_msg.msgID = _emm_as_data_req(
-                     &msg->u.data,
-                     &as_msg.msg.ul_info_transfer_req);
-    break;
-
-  case _EMMAS_STATUS_IND:
-    as_msg.msgID = _emm_as_status_ind(
-                     &msg->u.status,
-                     &as_msg.msg.ul_info_transfer_req);
-    break;
-
-  case _EMMAS_RELEASE_REQ:
-    as_msg.msgID = _emm_as_release_req(
-                     &msg->u.release,
-                     &as_msg.msg.nas_release_req);
-    break;
-
-  case _EMMAS_SECURITY_REQ:
-    as_msg.msgID = _emm_as_security_req(
-                     &msg->u.security,
-                     &as_msg.msg.dl_info_transfer_req);
-    break;
-
-  case _EMMAS_SECURITY_REJ:
-    as_msg.msgID = _emm_as_security_rej(
-                     &msg->u.security,
-                     &as_msg.msg.dl_info_transfer_req);
-    break;
-
-  case _EMMAS_ESTABLISH_CNF:
-    as_msg.msgID = _emm_as_establish_cnf(
-                     &msg->u.establish,
-                     &as_msg.msg.nas_establish_rsp);
-    break;
-
-  case _EMMAS_ESTABLISH_REJ:
-    as_msg.msgID = _emm_as_establish_rej(
-                     &msg->u.establish,
-                     &as_msg.msg.nas_establish_rsp);
-    break;
-
-  case _EMMAS_PAGE_IND:
-    as_msg.msgID = _emm_as_page_ind(&msg->u.page,
-                                    &as_msg.msg.paging_req);
-    break;
-
-
-  case _EMMAS_CELL_INFO_REQ:
-    as_msg.msgID = _emm_as_cell_info_req(&msg->u.cell_info,
-                                         &as_msg.msg.cell_info_req);
-    /*
-     * TODO: NAS may provide a list of equivalent PLMNs, if available,
-     * that AS shall use for cell selection and cell reselection.
-     */
-    break;
-
-  default:
-    as_msg.msgID = 0;
-    break;
-  }
-
-  /* Send the message to the Access Stratum or S1AP in case of MME */
-  if (as_msg.msgID > 0) {
-#if defined(NAS_BUILT_IN_EPC)
-    LOG_TRACE(DEBUG, "EMMAS-SAP - "
-              "Sending msg with id 0x%x, primitive %s (%d) to S1AP layer for transmission",
-              as_msg.msgID,
-              _emm_as_primitive_str[msg->primitive - _EMMAS_START - 1],
-              msg->primitive);
-
-    switch (as_msg.msgID) {
-    case AS_DL_INFO_TRANSFER_REQ: {
-      nas_itti_dl_data_req(
-        as_msg.msg.dl_info_transfer_req.UEid,
-        as_msg.msg.dl_info_transfer_req.nasMsg.data,
-        as_msg.msg.dl_info_transfer_req.nasMsg.length);
-      LOG_FUNC_RETURN (RETURNok);
-    }
-    break;
-
-    case AS_NAS_ESTABLISH_RSP:
-    case AS_NAS_ESTABLISH_CNF: {
-      if (as_msg.msg.nas_establish_rsp.errCode != AS_SUCCESS) {
-        nas_itti_dl_data_req(
-          as_msg.msg.nas_establish_rsp.UEid,
-          as_msg.msg.nas_establish_rsp.nasMsg.data,
-          as_msg.msg.nas_establish_rsp.nasMsg.length);
-        LOG_FUNC_RETURN (RETURNok);
-      } else {
-        LOG_TRACE(DEBUG, "EMMAS-SAP - "
-                  "Sending nas_itti_establish_cnf to S1AP UE ID 0x%x"
-                  " selected_encryption_algorithm 0x%04X",
-                  " selected_integrity_algorithm 0x%04X",
-                  as_msg.msg.nas_establish_rsp.UEid,
-                  as_msg.msg.nas_establish_rsp.selected_encryption_algorithm,
-                  as_msg.msg.nas_establish_rsp.selected_integrity_algorithm);
-        /* Handle success case */
-        nas_itti_establish_cnf(
-          as_msg.msg.nas_establish_rsp.UEid,
-          as_msg.msg.nas_establish_rsp.errCode,
-          as_msg.msg.nas_establish_rsp.nasMsg.data,
-          as_msg.msg.nas_establish_rsp.nasMsg.length,
-          as_msg.msg.nas_establish_rsp.selected_encryption_algorithm,
-          as_msg.msg.nas_establish_rsp.selected_integrity_algorithm);
-        LOG_FUNC_RETURN (RETURNok);
-      }
-    }
-    break;
-
-    default:
-      break;
-    }
-
-#endif
-  }
-
-  LOG_FUNC_RETURN (RETURNerror);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_data_req()                                        **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP data transfer request             **
- **      primitive                                                 **
- **                                                                        **
- ** EMMAS-SAP - EMM->AS: DATA_REQ - Data transfer procedure                **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     as_msg:    The message to send to the AS              **
- **      Return:    The identifier of the AS message           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_data_req(const emm_as_data_t *msg,
-                            ul_info_transfer_req_t *as_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = 0;
-  int is_encoded = FALSE;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send AS data transfer request");
-
-  nas_message_t nas_msg;
-  memset(&nas_msg, 0 , sizeof(nas_message_t));
-
-  /* Setup the AS message */
-  if (msg->guti) {
-    as_msg->s_tmsi.MMEcode = msg->guti->gummei.MMEcode;
-    as_msg->s_tmsi.m_tmsi = msg->guti->m_tmsi;
-  } else {
-    as_msg->UEid = msg->ueid;
-  }
-
-  /* Setup the NAS security header */
-  EMM_msg *emm_msg = _emm_as_set_header(&nas_msg, &msg->sctx);
-
-  /* Setup the NAS information message */
-  if (emm_msg != NULL) switch (msg->NASinfo) {
-
-    case EMM_AS_NAS_DATA_DETACH:
-      size = emm_send_detach_accept(msg, &emm_msg->detach_accept);
-      break;
-
-    default:
-      /* Send other NAS messages as already encoded ESM messages */
-      size = msg->NASmsg.length;
-      is_encoded = TRUE;
-      break;
-    }
-
-  if (size > 0) {
-    int bytes;
-    emm_security_context_t    *emm_security_context   = NULL;
-    struct emm_data_context_s *emm_ctx                = NULL;
-#if defined(NAS_BUILT_IN_EPC)
-    emm_ctx = emm_data_context_get(&_emm_data, msg->ueid);
-#else
-
-    if (msg->ueid < EMM_DATA_NB_UE_MAX) {
-      emm_ctx = _emm_data.ctx[msg->ueid];
-    }
-
-#endif
-
-    if (emm_ctx) {
-      emm_security_context = emm_ctx->security;
-    }
-
-
-
-    if (emm_security_context) {
-      nas_msg.header.sequence_number = emm_security_context->dl_count.seq_num;
-      LOG_TRACE(DEBUG,
-                "Set nas_msg.header.sequence_number -> %u",
-                nas_msg.header.sequence_number);
-    }
-
-    if (!is_encoded) {
-      /* Encode the NAS information message */
-      bytes = _emm_as_encode(&as_msg->nasMsg,
-                             &nas_msg,
-                             size,
-                             emm_security_context);
-    } else {
-      /* Encrypt the NAS information message */
-      bytes = _emm_as_encrypt(&as_msg->nasMsg,
-                              &nas_msg.header,
-                              (char *)(msg->NASmsg.value),
-                              size,
-                              emm_security_context);
-    }
-
-    if (bytes > 0) {
-      LOG_FUNC_RETURN (AS_DL_INFO_TRANSFER_REQ);
-    }
-  }
-
-  LOG_FUNC_RETURN (0);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_status_ind()                                      **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP status indication primitive       **
- **                                                                        **
- ** EMMAS-SAP - EMM->AS: STATUS_IND - EMM status report procedure          **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     as_msg:    The message to send to the AS              **
- **      Return:    The identifier of the AS message           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_status_ind(const emm_as_status_t *msg,
-                              ul_info_transfer_req_t *as_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = 0;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send AS status indication (cause=%d)",
-            msg->emm_cause);
-
-  nas_message_t nas_msg;
-  memset(&nas_msg, 0 , sizeof(nas_message_t));
-
-  /* Setup the AS message */
-  if (msg->guti) {
-    as_msg->s_tmsi.MMEcode = msg->guti->gummei.MMEcode;
-    as_msg->s_tmsi.m_tmsi = msg->guti->m_tmsi;
-  } else {
-    as_msg->UEid = msg->ueid;
-  }
-
-  /* Setup the NAS security header */
-  EMM_msg *emm_msg = _emm_as_set_header(&nas_msg, &msg->sctx);
-
-  /* Setup the NAS information message */
-  if (emm_msg != NULL) {
-    size = emm_send_status(msg, &emm_msg->emm_status);
-  }
-
-  if (size > 0) {
-    emm_security_context_t    *emm_security_context   = NULL;
-    struct emm_data_context_s *emm_ctx                = NULL;
-#if defined(NAS_BUILT_IN_EPC)
-    emm_ctx = emm_data_context_get(&_emm_data, msg->ueid);
-#else
-
-    if (msg->ueid < EMM_DATA_NB_UE_MAX) {
-      emm_ctx = _emm_data.ctx[msg->ueid];
-    }
-
-#endif
-
-    if (emm_ctx) {
-      emm_security_context = emm_ctx->security;
-    }
-
-    if (emm_security_context) {
-      nas_msg.header.sequence_number = emm_security_context->dl_count.seq_num;
-      LOG_TRACE(DEBUG,
-                "Set nas_msg.header.sequence_number -> %u",
-                nas_msg.header.sequence_number);
-    }
-
-    /* Encode the NAS information message */
-    int bytes = _emm_as_encode(
-                  &as_msg->nasMsg,
-                  &nas_msg,
-                  size,
-                  emm_security_context);
-
-    if (bytes > 0) {
-      LOG_FUNC_RETURN (AS_DL_INFO_TRANSFER_REQ);
-    }
-  }
-
-  LOG_FUNC_RETURN (0);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_release_req()                                     **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP connection release request        **
- **      primitive                                                 **
- **                                                                        **
- ** EMMAS-SAP - EMM->AS: RELEASE_REQ - NAS signalling release procedure    **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     as_msg:    The message to send to the AS              **
- **      Return:    The identifier of the AS message           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_release_req(const emm_as_release_t *msg,
-                               nas_release_req_t *as_msg)
-{
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send AS release request");
-
-  /* Setup the AS message */
-  if (msg->guti) {
-    as_msg->s_tmsi.MMEcode = msg->guti->gummei.MMEcode;
-    as_msg->s_tmsi.m_tmsi = msg->guti->m_tmsi;
-  } else {
-    as_msg->UEid = msg->ueid;
-  }
-
-  if (msg->cause == EMM_AS_CAUSE_AUTHENTICATION) {
-    as_msg->cause = AS_AUTHENTICATION_FAILURE;
-  } else if (msg->cause == EMM_AS_CAUSE_DETACH) {
-    as_msg->cause = AS_DETACH;
-  }
-
-  LOG_FUNC_RETURN (AS_NAS_RELEASE_REQ);
-}
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_security_req()                                    **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP security request primitive        **
- **                                                                        **
- ** EMMAS-SAP - EMM->AS: SECURITY_REQ - Security mode control procedure    **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     as_msg:    The message to send to the AS              **
- **      Return:    The identifier of the AS message           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_security_req(const emm_as_security_t *msg,
-                                dl_info_transfer_req_t *as_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = 0;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send AS security request");
-
-  nas_message_t nas_msg;
-  memset(&nas_msg, 0 , sizeof(nas_message_t));
-
-  /* Setup the AS message */
-  if (msg->guti) {
-    as_msg->s_tmsi.MMEcode = msg->guti->gummei.MMEcode;
-    as_msg->s_tmsi.m_tmsi = msg->guti->m_tmsi;
-  } else {
-    as_msg->UEid = msg->ueid;
-  }
-
-  /* Setup the NAS security header */
-  EMM_msg *emm_msg = _emm_as_set_header(&nas_msg, &msg->sctx);
-
-  /* Setup the NAS security message */
-  if (emm_msg != NULL) switch (msg->msgType) {
-    case EMM_AS_MSG_TYPE_IDENT:
-      if (msg->guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send IDENTITY_REQUEST to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
-      } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send IDENTITY_REQUEST to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
-      }
-      size = emm_send_identity_request(msg,
-                                       &emm_msg->identity_request);
-      break;
-
-    case EMM_AS_MSG_TYPE_AUTH:
-      if (msg->guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send AUTHENTICATION_REQUEST to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
-      } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send AUTHENTICATION_REQUEST to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
-      }
-      size = emm_send_authentication_request(msg,
-                                             &emm_msg->authentication_request);
-      break;
-
-    case EMM_AS_MSG_TYPE_SMC:
-      if (msg->guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send SECURITY_MODE_COMMAND to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
-      } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send SECURITY_MODE_COMMAND to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
-      }
-      size = emm_send_security_mode_command(msg,
-                                            &emm_msg->security_mode_command);
-      break;
-
-    default:
-      LOG_TRACE(WARNING, "EMMAS-SAP - Type of NAS security "
-                "message 0x%.2x is not valid", msg->msgType);
-    }
-
-  if (size > 0) {
-    struct emm_data_context_s *emm_ctx                = NULL;
-    emm_security_context_t    *emm_security_context   = NULL;
-#if defined(NAS_BUILT_IN_EPC)
-    emm_ctx = emm_data_context_get(&_emm_data, msg->ueid);
-#else
-
-    if (msg->ueid < EMM_DATA_NB_UE_MAX) {
-      emm_ctx = _emm_data.ctx[msg->ueid];
-    }
-
-#endif
-
-    if (emm_ctx) {
-      emm_security_context = emm_ctx->security;
-
-      if (emm_security_context) {
-        nas_msg.header.sequence_number = emm_security_context->dl_count.seq_num;
-        LOG_TRACE(DEBUG,
-                  "Set nas_msg.header.sequence_number -> %u",
-                  nas_msg.header.sequence_number);
-      }
-    }
-
-    /* Encode the NAS security message */
-    int bytes = _emm_as_encode(
-                  &as_msg->nasMsg,
-                  &nas_msg,
-                  size,
-                  emm_security_context);
-
-    if (bytes > 0) {
-      LOG_FUNC_RETURN (AS_DL_INFO_TRANSFER_REQ);
-    }
-  }
-
-  LOG_FUNC_RETURN (0);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_security_rej()                                    **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP security reject primitive         **
- **                                                                        **
- ** EMMAS-SAP - EMM->AS: SECURITY_REJ - Security mode control procedure    **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     as_msg:    The message to send to the AS              **
- **      Return:    The identifier of the AS message           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_security_rej(const emm_as_security_t *msg,
-                                dl_info_transfer_req_t *as_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = 0;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send AS security reject");
-
-  nas_message_t nas_msg;
-  memset(&nas_msg, 0 , sizeof(nas_message_t));
-
-  /* Setup the AS message */
-  if (msg->guti) {
-    as_msg->s_tmsi.MMEcode = msg->guti->gummei.MMEcode;
-    as_msg->s_tmsi.m_tmsi = msg->guti->m_tmsi;
-  } else {
-    as_msg->UEid = msg->ueid;
-  }
-
-  /* Setup the NAS security header */
-  EMM_msg *emm_msg = _emm_as_set_header(&nas_msg, &msg->sctx);
-
-  /* Setup the NAS security message */
-  if (emm_msg != NULL) switch (msg->msgType) {
-    case EMM_AS_MSG_TYPE_AUTH:
-      if (msg->guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send AUTHENTICATION_REJECT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
-      } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send AUTHENTICATION_REJECT to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
-      }
-      size = emm_send_authentication_reject(
-               &emm_msg->authentication_reject);
-      break;
-
-    default:
-      LOG_TRACE(WARNING, "EMMAS-SAP - Type of NAS security "
-                "message 0x%.2x is not valid", msg->msgType);
-    }
-
-  if (size > 0) {
-    struct emm_data_context_s *emm_ctx                = NULL;
-    emm_security_context_t    *emm_security_context   = NULL;
-#if defined(NAS_BUILT_IN_EPC)
-    emm_ctx = emm_data_context_get(&_emm_data, msg->ueid);
-#else
-
-    if (msg->ueid < EMM_DATA_NB_UE_MAX) {
-      emm_ctx = _emm_data.ctx[msg->ueid];
-    }
-
-#endif
-
-    if (emm_ctx) {
-      emm_security_context = emm_ctx->security;
-      if (emm_security_context) {
-      nas_msg.header.sequence_number = emm_security_context->dl_count.seq_num;
-      LOG_TRACE(DEBUG,
-                "Set nas_msg.header.sequence_number -> %u",
-                nas_msg.header.sequence_number);
-      } else {
-          LOG_TRACE(DEBUG,
-                  "No security context, not set nas_msg.header.sequence_number -> %u",
-                  nas_msg.header.sequence_number);
-      }
-    }
-
-    /* Encode the NAS security message */
-    int bytes = _emm_as_encode(
-                  &as_msg->nasMsg,
-                  &nas_msg,
-                  size,
-                  emm_security_context);
-
-    if (bytes > 0) {
-      LOG_FUNC_RETURN (AS_DL_INFO_TRANSFER_REQ);
-    }
-  }
-
-  LOG_FUNC_RETURN (0);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_establish_cnf()                                   **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP connection establish confirm      **
- **      primitive                                                 **
- **                                                                        **
- ** EMMAS-SAP - EMM->AS: ESTABLISH_CNF - NAS signalling connection         **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     as_msg:    The message to send to the AS              **
- **      Return:    The identifier of the AS message           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_establish_cnf(const emm_as_establish_t *msg,
-                                 nas_establish_rsp_t *as_msg)
-{
-  EMM_msg *emm_msg;
-  int size = 0;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send AS connection establish confirmation");
-
-  nas_message_t nas_msg;
-  memset(&nas_msg, 0 , sizeof(nas_message_t));
-
-  /* Setup the AS message */
-  as_msg->UEid = msg->ueid;
-
-  if (msg->UEid.guti == NULL) {
-    LOG_TRACE(WARNING, "EMMAS-SAP - GUTI is NULL...");
-    LOG_FUNC_RETURN (0);
-  }
-
-  as_msg->s_tmsi.MMEcode = msg->UEid.guti->gummei.MMEcode;
-  as_msg->s_tmsi.m_tmsi = msg->UEid.guti->m_tmsi;
-
-  /* Setup the NAS security header */
-  emm_msg = _emm_as_set_header(&nas_msg, &msg->sctx);
-
-  /* Setup the initial NAS information message */
-  if (emm_msg != NULL) switch (msg->NASinfo) {
-    case EMM_AS_NAS_INFO_ATTACH:
-      LOG_TRACE(WARNING,
-                "EMMAS-SAP - emm_as_establish.nasMSG.length=%d",
-                msg->NASmsg.length);
-
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send ATTACH_ACCEPT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
-
-      size = emm_send_attach_accept(msg, &emm_msg->attach_accept);
-      break;
-
-    default:
-      LOG_TRACE(WARNING, "EMMAS-SAP - Type of initial NAS "
-                "message 0x%.2x is not valid", msg->NASinfo);
-      break;
-    }
-
-  if (size > 0) {
-    struct emm_data_context_s *emm_ctx                = NULL;
-    emm_security_context_t    *emm_security_context   = NULL;
-#if defined(NAS_BUILT_IN_EPC)
-    emm_ctx = emm_data_context_get(&_emm_data, msg->ueid);
-#else
-
-    if (msg->ueid < EMM_DATA_NB_UE_MAX) {
-      emm_ctx = _emm_data.ctx[msg->ueid];
-    }
-
-#endif
-
-    if (emm_ctx) {
-      emm_security_context = emm_ctx->security;
-
-      if (emm_security_context) {
-        as_msg->nas_ul_count = 0x00000000 |
-                               (emm_security_context->ul_count.overflow << 8) |
-                               emm_security_context->ul_count.seq_num;
-        LOG_TRACE(DEBUG, "EMMAS-SAP - NAS UL COUNT %8x",
-                  as_msg->nas_ul_count);
-      }
-
-      nas_msg.header.sequence_number = emm_security_context->dl_count.seq_num;
-      LOG_TRACE(DEBUG,
-                "Set nas_msg.header.sequence_number -> %u",
-                nas_msg.header.sequence_number);
-
-      as_msg->selected_encryption_algorithm = htons(0x8000 >> emm_security_context->selected_algorithms.encryption);
-      as_msg->selected_integrity_algorithm = htons(0x8000 >> emm_security_context->selected_algorithms.integrity);
-
-      LOG_TRACE(DEBUG,
-                "Set nas_msg.selected_encryption_algorithm -> NBO: 0x%04X (%u)",
-                as_msg->selected_encryption_algorithm,
-                emm_security_context->selected_algorithms.encryption);
-      LOG_TRACE(DEBUG,
-                "Set nas_msg.selected_integrity_algorithm -> NBO: 0x%04X (%u)",
-                as_msg->selected_integrity_algorithm,
-                emm_security_context->selected_algorithms.integrity);
-
-    }
-
-    /* Encode the initial NAS information message */
-    int bytes = _emm_as_encode(
-                  &as_msg->nasMsg,
-                  &nas_msg,
-                  size,
-                  emm_security_context);
-
-    if (bytes > 0) {
-      as_msg->errCode = AS_SUCCESS;
-      LOG_FUNC_RETURN (AS_NAS_ESTABLISH_CNF);
-    }
-  }
-
-  LOG_TRACE(WARNING, "EMMAS-SAP - Size <= 0");
-  LOG_FUNC_RETURN (0);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_establish_rej()                                   **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP connection establish reject       **
- **      primitive                                                 **
- **                                                                        **
- ** EMMAS-SAP - EMM->AS: ESTABLISH_REJ - NAS signalling connection         **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     as_msg:    The message to send to the AS              **
- **      Return:    The identifier of the AS message           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_establish_rej(const emm_as_establish_t *msg,
-                                 nas_establish_rsp_t *as_msg)
-{
-  EMM_msg *emm_msg;
-  int size = 0;
-  nas_message_t nas_msg;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send AS connection establish reject");
-
-  memset(&nas_msg, 0 , sizeof(nas_message_t));
-
-  /* Setup the AS message */
-  if (msg->UEid.guti) {
-    as_msg->s_tmsi.MMEcode = msg->UEid.guti->gummei.MMEcode;
-    as_msg->s_tmsi.m_tmsi = msg->UEid.guti->m_tmsi;
-  } else {
-    as_msg->UEid = msg->ueid;
-  }
-
-  /* Setup the NAS security header */
-  emm_msg = _emm_as_set_header(&nas_msg, &msg->sctx);
-
-  /* Setup the NAS information message */
-  if (emm_msg != NULL) switch (msg->NASinfo) {
-    case EMM_AS_NAS_INFO_ATTACH:
-      if (msg->UEid.guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send ATTACH_REJECT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
-      } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send ATTACH_REJECT to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
-      }
-      size = emm_send_attach_reject(msg, &emm_msg->attach_reject);
-      break;
-
-    case EMM_AS_NAS_INFO_TAU:
-        if (msg->UEid.guti) {
-          MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send TRACKING_AREA_UPDATE_REJECT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
-        } else {
-          MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send TRACKING_AREA_UPDATE_REJECT to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
-        }
-      size = emm_send_tracking_area_update_reject(msg,
-             &emm_msg->tracking_area_update_reject);
-      break;
-
-    default:
-      LOG_TRACE(WARNING, "EMMAS-SAP - Type of initial NAS "
-                "message 0x%.2x is not valid", msg->NASinfo);
-      break;
-    }
-
-  if (size > 0) {
-    struct emm_data_context_s *emm_ctx                = NULL;
-    emm_security_context_t    *emm_security_context   = NULL;
-#if defined(NAS_BUILT_IN_EPC)
-    emm_ctx = emm_data_context_get(&_emm_data, msg->ueid);
-#else
-
-    if (msg->ueid < EMM_DATA_NB_UE_MAX) {
-      emm_ctx = _emm_data.ctx[msg->ueid];
-    }
-
-#endif
-
-    if (emm_ctx) {
-      emm_security_context = emm_ctx->security;
-
-      if (emm_security_context) {
-        nas_msg.header.sequence_number = emm_security_context->dl_count.seq_num;
-        LOG_TRACE(DEBUG,
-                  "Set nas_msg.header.sequence_number -> %u",
-                  nas_msg.header.sequence_number);
-      }
-    }
-
-    /* Encode the initial NAS information message */
-    int bytes = _emm_as_encode(
-                  &as_msg->nasMsg,
-                  &nas_msg,
-                  size,
-                  emm_security_context);
-
-    if (bytes > 0) {
-      as_msg->errCode = AS_TERMINATED_NAS;
-      LOG_FUNC_RETURN (AS_NAS_ESTABLISH_RSP);
-    }
-  }
-
-  LOG_FUNC_RETURN (0);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_page_ind()                                        **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP paging data indication primitive  **
- **                                                                        **
- ** EMMAS-SAP - EMM->AS: PAGE_IND - Paging data procedure                  **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     as_msg:    The message to send to the AS              **
- **      Return:    The identifier of the AS message           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_page_ind(const emm_as_page_t *msg, paging_req_t *as_msg)
-{
-  LOG_FUNC_IN;
-
-  int bytes = 0;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send AS data paging indication");
-
-  /* TODO */
-
-  if (bytes > 0) {
-    LOG_FUNC_RETURN (AS_PAGING_IND);
-  }
-
-  LOG_FUNC_RETURN (0);
-}
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _emm_as_cell_info_req()                                   **
- **                                                                        **
- ** Description: Processes the EMMAS-SAP cell information request          **
- **      primitive                                                 **
- **                                                                        **
- ** EMMAS-SAP - EMM->AS: CELL_INFO_REQ - PLMN and cell selection procedure **
- **     The NAS requests the AS to select a cell belonging to the  **
- **     selected PLMN with associated Radio Access Technologies.   **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     as_msg:    The message to send to the AS              **
- **      Return:    The identifier of the AS message           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_as_cell_info_req(const emm_as_cell_info_t *msg,
-                                 cell_info_req_t *as_msg)
-{
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send AS cell information request");
-
-  as_msg->plmnID = msg->plmnIDs.plmn[0];
-  as_msg->rat = msg->rat;
-
-  LOG_FUNC_RETURN (AS_CELL_INFO_REQ);
-}
-
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_as.h b/openair-cn/NAS/MME/EMM/SAP/emm_as.h
deleted file mode 100644
index ca4fc449b779b6d2093b827d3721ec9d79416559..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_as.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      emm_as.h
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMMAS Service Access Point that provides
-        services to the EPS Mobility Management for NAS message
-        transfer to/from the Access Stratum sublayer.
-
-*****************************************************************************/
-#ifndef __EMM_AS_H__
-#define __EMM_AS_H__
-
-#include "emm_asDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-void emm_as_initialize(void);
-
-int emm_as_send(const emm_as_t *msg);
-
-#endif /* __EMM_AS_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_asDef.h b/openair-cn/NAS/MME/EMM/SAP/emm_asDef.h
deleted file mode 100644
index fbd2a6b38e714d7ca02cb7e741297ecfa9deb852..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_asDef.h
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_asDef.h
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMM primitives available at the EMMAS Service
-        Access Point to transfer NAS messages to/from the Access
-        Stratum sublayer.
-
-*****************************************************************************/
-#ifndef __EMM_ASDEF_H__
-#define __EMM_ASDEF_H__
-
-#include "commonDef.h"
-#include "OctetString.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/*
- * EMMAS-SAP primitives
- */
-typedef enum emm_as_primitive_u {
-  _EMMAS_START = 200,
-  _EMMAS_SECURITY_REQ,  /* EMM->AS: Security request          */
-  _EMMAS_SECURITY_IND,  /* AS->EMM: Security indication       */
-  _EMMAS_SECURITY_RES,  /* EMM->AS: Security response         */
-  _EMMAS_SECURITY_REJ,  /* EMM->AS: Security reject           */
-  _EMMAS_ESTABLISH_REQ, /* EMM->AS: Connection establish request  */
-  _EMMAS_ESTABLISH_CNF, /* AS->EMM: Connection establish confirm  */
-  _EMMAS_ESTABLISH_REJ, /* AS->EMM: Connection establish reject   */
-  _EMMAS_RELEASE_REQ,   /* EMM->AS: Connection release request    */
-  _EMMAS_RELEASE_IND,   /* AS->EMM: Connection release indication */
-  _EMMAS_DATA_REQ,      /* EMM->AS: Data transfer request     */
-  _EMMAS_DATA_IND,      /* AS->EMM: Data transfer indication      */
-  _EMMAS_PAGE_IND,      /* AS->EMM: Paging data indication        */
-  _EMMAS_STATUS_IND,    /* AS->EMM: Status indication         */
-  _EMMAS_CELL_INFO_REQ, /* EMM->AS: Cell information request      */
-  _EMMAS_CELL_INFO_RES, /* AS->EMM: Cell information response     */
-  _EMMAS_CELL_INFO_IND, /* AS->EMM: Cell information indication   */
-  _EMMAS_END
-} emm_as_primitive_t;
-
-/* Data used to setup EPS NAS security */
-typedef struct emm_as_security_data_s {
-  uint8_t is_new;     /* New security data indicator      */
-#define EMM_AS_NO_KEY_AVAILABLE     0xff
-  uint8_t ksi;        /* NAS key set identifier       */
-  uint8_t sqn;        /* Sequence number          */
-  uint32_t count;     /* NAS counter              */
-  const OctetString *k_enc;   /* NAS cyphering key            */
-  const OctetString *k_int;   /* NAS integrity key            */
-} emm_as_security_data_t;
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/*
- * EMMAS primitive for security
- * ----------------------------
- */
-typedef struct emm_as_security_s {
-  uint32_t ueid;      /* UE lower layer identifier        */
-  const GUTI_t *guti;     /* GUTI temporary mobile identity   */
-  emm_as_security_data_t sctx;/* EPS NAS security context     */
-  int emm_cause;      /* EMM failure cause code       */
-  /*
-   * Identity request/response
-   */
-  uint8_t identType;      /* Type of requested UE's identity  */
-  const imsi_t *imsi;     /* The requested IMSI of the UE     */
-  const imei_t *imei;     /* The requested IMEI of the UE     */
-  uint32_t tmsi;      /* The requested TMSI of the UE     */
-  /*
-   * Authentication request/response
-   */
-  uint8_t ksi;        /* NAS key set identifier       */
-  const OctetString *rand;    /* Random challenge number      */
-  const OctetString *autn;    /* Authentication token         */
-  const OctetString *res; /* Authentication response      */
-  const OctetString *auts;    /* Synchronisation failure      */
-  /*
-   * Security Mode Command
-   */
-  uint8_t eea;        /* Replayed EPS encryption algorithms   */
-  uint8_t eia;        /* Replayed EPS integrity algorithms    */
-  uint8_t uea;        /* Replayed UMTS encryption algorithms  */
-  uint8_t ucs2;
-  uint8_t uia;        /* Replayed UMTS integrity algorithms   */
-  uint8_t gea;        /* Replayed GPRS encryption algorithms   */
-  uint8_t umts_present;
-  uint8_t gprs_present;
-
-  // Added by LG
-  uint8_t selected_eea; /* Selected EPS encryption algorithms   */
-  uint8_t selected_eia; /* Selected EPS integrity algorithms    */
-
-#define EMM_AS_MSG_TYPE_IDENT   0x01    /* Identification message   */
-#define EMM_AS_MSG_TYPE_AUTH    0x02    /* Authentication message   */
-#define EMM_AS_MSG_TYPE_SMC 0x03    /* Security Mode Command    */
-  uint8_t msgType;    /* Type of NAS security message to transfer */
-} emm_as_security_t;
-
-/*
- * EMMAS primitive for connection establishment
- * --------------------------------------------
- */
-typedef struct emm_as_EPS_identity_s {
-  const GUTI_t *guti; /* The GUTI, if valid               */
-  const tai_t  *tai;  /* The last visited registered Tracking
-             * Area Identity, if available          */
-  const imsi_t *imsi; /* IMSI in case of "AttachWithImsi"     */
-  const imei_t *imei; /* UE's IMEI for emergency bearer services  */
-} emm_as_EPS_identity_t;
-
-typedef struct emm_as_establish_s {
-  uint32_t ueid;      /* UE lower layer identifier         */
-  emm_as_EPS_identity_t UEid; /* UE's EPS mobile identity      */
-  emm_as_security_data_t sctx;/* EPS NAS security context      */
-  int switch_off;     /* TRUE if the UE is switched off    */
-  uint8_t type;       /* Network attach/detach type        */
-  uint8_t RRCcause;       /* Connection establishment cause    */
-  uint8_t RRCtype;        /* Associated call type          */
-  const plmn_t *plmnID;   /* Identifier of the selected PLMN   */
-  uint8_t ksi;        /* NAS key set identifier        */
-  uint8_t encryption:4;   /* Ciphering algorithm           */
-  uint8_t integrity:4;    /* Integrity protection algorithm    */
-  int emm_cause;      /* EMM failure cause code        */
-  const GUTI_t *new_guti; /* New GUTI, if re-allocated         */
-  int n_tacs;         /* Number of concecutive tracking areas
-                 * the UE is registered to       */
-  tac_t tac;          /* Code of the first tracking area the UE
-                 * is registered to          */
-#define EMM_AS_NAS_INFO_ATTACH  0x01    /* Attach request        */
-#define EMM_AS_NAS_INFO_DETACH  0x02    /* Detach request        */
-#define EMM_AS_NAS_INFO_TAU 0x03    /* Tracking Area Update request  */
-#define EMM_AS_NAS_INFO_SR  0x04    /* Service Request       */
-#define EMM_AS_NAS_INFO_EXTSR   0x05    /* Extended Service Request  */
-  uint8_t NASinfo;    /* Type of initial NAS information to transfer   */
-  OctetString NASmsg;     /* NAS message to be transfered within
-                 * initial NAS information message   */
-} emm_as_establish_t;
-
-/*
- * EMMAS primitive for connection release
- * --------------------------------------
- */
-typedef struct emm_as_release_s {
-  uint32_t ueid;      /* UE lower layer identifier          */
-  const GUTI_t *guti;     /* GUTI temporary mobile identity     */
-#define EMM_AS_CAUSE_AUTHENTICATION 0x01    /* Authentication failure */
-#define EMM_AS_CAUSE_DETACH     0x02    /* Detach requested   */
-  uint8_t cause;  /* Release cause */
-} emm_as_release_t;
-
-/*
- * EMMAS primitive for data transfer
- * ---------------------------------
- */
-typedef struct emm_as_data_s {
-  uint32_t ueid;      /* UE lower layer identifier        */
-  const GUTI_t *guti;     /* GUTI temporary mobile identity   */
-  emm_as_security_data_t sctx;/* EPS NAS security context     */
-  int switch_off;     /* TRUE if the UE is switched off   */
-  uint8_t type;       /* Network detach type          */
-  uint8_t delivered;      /* Data message delivery indicator  */
-#define EMM_AS_NAS_DATA_ATTACH  0x01    /* Attach complete      */
-#define EMM_AS_NAS_DATA_DETACH  0x02    /* Detach request       */
-  uint8_t NASinfo;        /* Type of NAS information to transfer  */
-  OctetString NASmsg;     /* NAS message to be transfered     */
-} emm_as_data_t;
-
-/*
- * EMMAS primitive for paging
- * --------------------------
- */
-typedef struct emm_as_page_s {} emm_as_page_t;
-
-/*
- * EMMAS primitive for status indication
- * -------------------------------------
- */
-typedef struct emm_as_status_s {
-  uint32_t ueid;      /* UE lower layer identifier        */
-  const GUTI_t *guti;     /* GUTI temporary mobile identity   */
-  emm_as_security_data_t sctx;/* EPS NAS security context     */
-  int emm_cause;      /* EMM failure cause code       */
-} emm_as_status_t;
-
-/*
- * EMMAS primitive for cell information
- * ------------------------------------
- */
-typedef struct emm_as_cell_info_s {
-  uint8_t found;  /* Indicates whether a suitable cell is found   */
-#define EMM_AS_PLMN_LIST_SIZE   6
-  PLMN_LIST_T(EMM_AS_PLMN_LIST_SIZE) plmnIDs;
-  /* List of identifiers of available PLMNs   */
-  Byte_t rat;     /* Bitmap of Radio Access Technologies      */
-  tac_t tac;      /* Tracking Area Code               */
-  ci_t cellID;    /* cell identity                */
-} emm_as_cell_info_t;
-
-/*
- * --------------------------------
- * Structure of EMMAS-SAP primitive
- * --------------------------------
- */
-typedef struct emm_as_s {
-  emm_as_primitive_t primitive;
-  union {
-    emm_as_security_t security;
-    emm_as_establish_t establish;
-    emm_as_release_t release;
-    emm_as_data_t data;
-    emm_as_page_t page;
-    emm_as_status_t status;
-    emm_as_cell_info_t cell_info;
-  } u;
-} emm_as_t;
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * Defined in LowerLayer.c
- * Setup security data according to the given EPS security context
- */
-void emm_as_set_security_data(emm_as_security_data_t *data, const void *context,
-                              int is_new, int is_ciphered);
-
-#endif /* __EMM_ASDEF_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_cn.c b/openair-cn/NAS/MME/EMM/SAP/emm_cn.c
deleted file mode 100644
index 603e849c14e02a84fdba7acfeb6634e6defd6a04..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_cn.c
+++ /dev/null
@@ -1,468 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_cn.c
-
-Version     0.1
-
-Date        2013/12/05
-
-Product     NAS stack
-
-Subsystem   EPS Core Network
-
-Author      Sebastien Roux, Lionel GAUTHIER
-
-Description
-
-*****************************************************************************/
-
-#include <string.h>
-
-#if defined(NAS_BUILT_IN_EPC)
-
-#include "nas_log.h"
-#include "commonDef.h"
-
-#include "emm_cn.h"
-#include "emm_sap.h"
-#include "emm_proc.h"
-#include "emm_cause.h"
-
-#include "esm_send.h"  // LG
-#include "esm_proc.h"  // LG
-#include "esm_cause.h" // LG
-#include "assertions.h"// LG
-#include "emmData.h"   // LG
-#include "esm_sap.h"   // LG
-#include "EmmCommon.h"   // LG
-extern int emm_cn_wrapper_attach_accept(emm_data_context_t *emm_ctx, void *data);
-
-/*
- * Internal data used for attach procedure
- */
-typedef struct {
-  unsigned int ueid;          /* UE identifier        */
-#define ATTACH_COUNTER_MAX  5
-  unsigned int retransmission_count;  /* Retransmission counter   */
-  OctetString esm_msg;        /* ESM message to be sent within
-                     * the Attach Accept message    */
-} attach_data_t;
-
-/*
- * String representation of EMMCN-SAP primitives
- */
-static const char *_emm_cn_primitive_str[] = {
-  "EMM_CN_AUTHENTICATION_PARAM_RES",
-  "EMM_CN_AUTHENTICATION_PARAM_FAIL",
-  "EMM_CN_DEREGISTER_UE",
-  "EMM_CN_PDN_CONNECTIVITY_RES",
-  "EMM_CN_PDN_CONNECTIVITY_FAIL",
-};
-
-#define EMM_CN_SAP_BUFFER_SIZE 4096
-static char _emm_cn_sap_buffer[EMM_CN_SAP_BUFFER_SIZE];
-
-static int _emm_cn_authentication_res(const emm_cn_auth_res_t *msg)
-{
-  emm_data_context_t *emm_ctx = NULL;
-  int rc = RETURNerror;
-  OctetString loc_rand;
-  OctetString autn;
-
-  /* We received security vector from HSS. Try to setup security with UE */
-
-  LOG_FUNC_IN;
-
-  emm_ctx = emm_data_context_get(&_emm_data, msg->ue_id);
-
-  if (emm_ctx == NULL) {
-    LOG_TRACE(ERROR, "EMM-PROC  - "
-              "Failed to find UE associated to id "NAS_UE_ID_FMT"...", msg->ue_id);
-    LOG_FUNC_RETURN (rc);
-  }
-
-  /* Copy provided vector to user context */
-  memcpy(emm_ctx->vector.kasme, msg->vector.kasme,     AUTH_KASME_SIZE);
-  memcpy(emm_ctx->vector.autn,  msg->vector.autn,      AUTH_AUTN_SIZE);
-  memcpy(emm_ctx->vector.rand,  msg->vector.rand,      AUTH_RAND_SIZE);
-  memcpy(emm_ctx->vector.xres,  msg->vector.xres.data, msg->vector.xres.size);
-
-  LOG_TRACE(INFO, "EMM-PROC  - Received RAND ..: "RAND_FORMAT"\n",
-            RAND_DISPLAY(msg->vector.rand));
-  LOG_TRACE(INFO, "EMM-PROC  - Received AUTN ..: "AUTN_FORMAT"\n",
-            AUTN_DISPLAY(msg->vector.autn));
-  LOG_TRACE(INFO, "EMM-PROC  - Received KASME .: "KASME_FORMAT" "KASME_FORMAT"\n",
-            KASME_DISPLAY_1(msg->vector.kasme),
-            KASME_DISPLAY_2(msg->vector.kasme));
-
-  loc_rand.value  = emm_ctx->vector.rand;
-  loc_rand.length = AUTH_RAND_SIZE;
-
-  autn.value  = emm_ctx->vector.autn;
-  autn.length = AUTH_AUTN_SIZE;
-
-  emm_ctx->vector.xres_size = msg->vector.xres.size;
-
-  /* 3GPP TS 24.401, Figure 5.3.2.1-1, point 5a
-   * No EMM context exists for the UE in the network; authentication
-   * and NAS security setup to activate integrity protection and NAS
-   * ciphering are mandatory.
-   */
-  rc = emm_proc_authentication(emm_ctx,
-                               emm_ctx->ueid,
-                               0, // TODO: eksi != 0
-                               &loc_rand,
-                               &autn,
-                               emm_attach_security,
-                               NULL,
-                               NULL);
-
-  if (rc != RETURNok) {
-    /* Failed to initiate the authentication procedure */
-    LOG_TRACE(WARNING, "EMM-PROC  - "
-              "Failed to initiate authentication procedure");
-    emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-static int _emm_cn_authentication_fail(const emm_cn_auth_fail_t *msg)
-{
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-  rc = emm_proc_attach_reject(msg->ue_id, msg->cause);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-static int _emm_cn_deregister_ue(const uint32_t ue_id)
-{
-  int rc = RETURNok;
-
-  LOG_FUNC_IN;
-  LOG_TRACE(WARNING, "EMM-PROC  - "
-            "TODO deregister UE "NAS_UE_ID_FMT", following procedure is a test", ue_id);
-  emm_proc_detach_request(ue_id, EMM_DETACH_TYPE_EPS /* ??? emm_proc_detach_type_t*/,
-                              1 /*switch_off*/, 0 /*native_ksi*/, 0 /*ksi*/,
-                              NULL /*guti*/, NULL /*imsi*/, NULL /*imei*/);
-  LOG_FUNC_RETURN (rc);
-}
-
-static int _emm_cn_pdn_connectivity_res(const emm_cn_pdn_res_t *msg_pP)
-{
-  int                          rc                    = RETURNok;
-  struct emm_data_context_s   *emm_ctx_p             = NULL;
-  esm_proc_pdn_type_t          esm_pdn_type          = ESM_PDN_TYPE_IPV4;
-  esm_proc_data_t             *esm_proc_data_p       = NULL;
-  ESM_msg                      esm_msg;
-  EpsQualityOfService          qos;
-  ProtocolConfigurationOptions pco;
-  unsigned int                 pco_in_index          = 0;
-  signed int                   length_in_pco         = 0;
-  uint16_t                     pi_or_ci              = 0; // protocol identifier or container identifier;
-  uint8_t                      length_pi_or_ci       = 0;
-
-  OctetString                  rsp                   = { 0, NULL};
-  int                          is_standalone         = 0; // warning hardcoded
-  int                          triggered_by_ue       = 1; // warning hardcoded
-  attach_data_t               *data_p                = NULL;
-  int                          esm_cause             = ESM_CAUSE_SUCCESS;
-  int                          pid                   = 0;
-  unsigned int                 new_ebi               = 0;
-
-
-  LOG_FUNC_IN;
-  emm_ctx_p = emm_data_context_get(&_emm_data, msg_pP->ue_id);
-
-  if (emm_ctx_p == NULL) {
-    LOG_TRACE(ERROR, "EMMCN-SAP  - "
-              "Failed to find UE associated to id "NAS_UE_ID_FMT"...", msg_pP->ue_id);
-    LOG_FUNC_RETURN (rc);
-  }
-
-  memset(&esm_msg, 0 , sizeof(ESM_msg));
-
-  switch (msg_pP->pdn_type) {
-  case IPv4:
-    LOG_TRACE(INFO, "EMM  -  esm_pdn_type = ESM_PDN_TYPE_IPV4");
-    esm_pdn_type = ESM_PDN_TYPE_IPV4;
-    break;
-
-  case IPv6:
-    LOG_TRACE(INFO, "EMM  -  esm_pdn_type = ESM_PDN_TYPE_IPV6");
-    esm_pdn_type = ESM_PDN_TYPE_IPV6;
-    break;
-
-  case IPv4_AND_v6:
-    LOG_TRACE(INFO, "EMM  -  esm_pdn_type = ESM_PDN_TYPE_IPV4V6");
-    esm_pdn_type = ESM_PDN_TYPE_IPV4V6;
-    break;
-
-  default:
-    LOG_TRACE(INFO, "EMM  -  esm_pdn_type = ESM_PDN_TYPE_IPV4 (forced to default)");
-    esm_pdn_type = ESM_PDN_TYPE_IPV4;
-  }
-
-  LOG_TRACE(INFO, "EMM  -  qci       = %u ", msg_pP->qci);
-  LOG_TRACE(INFO, "EMM  -  qos.qci   = %u ", msg_pP->qos.qci);
-  LOG_TRACE(INFO, "EMM  -  qos.mbrUL = %u ", msg_pP->qos.mbrUL);
-  LOG_TRACE(INFO, "EMM  -  qos.mbrDL = %u ", msg_pP->qos.mbrDL);
-  LOG_TRACE(INFO, "EMM  -  qos.gbrUL = %u ", msg_pP->qos.gbrUL);
-  LOG_TRACE(INFO, "EMM  -  qos.gbrDL = %u ", msg_pP->qos.gbrDL);
-  qos.bitRatesPresent           = 0;
-  qos.bitRatesExtPresent        = 0;
-#warning "Some work to do here about qos"
-  qos.qci                       = msg_pP->qci;
-  qos.bitRates.maxBitRateForUL  = 0;//msg_pP->qos.mbrUL;
-  qos.bitRates.maxBitRateForDL  = 0;//msg_pP->qos.mbrDL;
-  qos.bitRates.guarBitRateForUL = 0;//msg_pP->qos.gbrUL;
-  qos.bitRates.guarBitRateForDL = 0;//msg_pP->qos.gbrDL;
-
-  qos.bitRatesExt.maxBitRateForUL  = 0;
-  qos.bitRatesExt.maxBitRateForDL  = 0;
-  qos.bitRatesExt.guarBitRateForUL = 0;
-  qos.bitRatesExt.guarBitRateForDL = 0;
-
-  //--------------------------------------------------------------------------
-  // PCO processing
-  //--------------------------------------------------------------------------
-  memset(&pco, 0,  sizeof(ProtocolConfigurationOptions));
-  length_in_pco = msg_pP->pco.byte[1];
-  if ((length_in_pco+1+1) != msg_pP->pco.length) {
-	  LOG_TRACE(WARNING, "PCO: mismatch in lengths length_pco+1+1 %u != msg_pP->pco.length %u\n",
-  		  length_in_pco+1+1, msg_pP->pco.length);
-  }
-  pco.configurationprotol = msg_pP->pco.byte[2] & 0x07;
-
-  for (int i = 0; i < msg_pP->pco.length; i++) {
-	  LOG_TRACE(WARNING, "EMMCN_PDN_CONNECTIVITY_RES.pco.byte[%u] = 0x%x", i, msg_pP->pco.byte[i]);
-  }
-
-
-  if ((length_in_pco > 0) && (msg_pP->pco.byte[2] & 0x80)) {
-	pco_in_index = PCO_MIN_LENGTH;
-    while (length_in_pco >= 3) {
-      pi_or_ci = (((uint16_t)msg_pP->pco.byte[pco_in_index]) << 8) | (uint16_t)msg_pP->pco.byte[pco_in_index+1];
-      pco_in_index += 2;
-      length_pi_or_ci = msg_pP->pco.byte[pco_in_index++];
-      pco.protocolid[pco.num_protocol_id_or_container_id]                = pi_or_ci;
-      pco.lengthofprotocolid[pco.num_protocol_id_or_container_id]        = length_pi_or_ci;
-      pco.protocolidcontents[pco.num_protocol_id_or_container_id].value  = malloc(length_pi_or_ci);
-      pco.protocolidcontents[pco.num_protocol_id_or_container_id].length = length_pi_or_ci;
-      memcpy(pco.protocolidcontents[pco.num_protocol_id_or_container_id].value,
-    		&msg_pP->pco.byte[pco_in_index],
-    		 length_pi_or_ci);
-
-      LOG_TRACE(WARNING, "PCO: Found pi_or_ci 0x%x length %u content %s\n",
-    		  pi_or_ci, length_pi_or_ci, dump_octet_string(&pco.protocolidcontents[pco.num_protocol_id_or_container_id]));
-      pco.num_protocol_id_or_container_id++;
-      pco_in_index += length_pi_or_ci;
-
-      length_in_pco = length_in_pco - (length_pi_or_ci + 2 + 1);
-    } // while (length_in_pco >= 3) {
-  }  // if ((length_in_pco > 0) && (msg_pP->pco.byte[2] & 0x80)) {
-  /*************************************************************************/
-  /* CODE THAT WAS IN esm_recv.c/esm_recv_pdn_connectivity_request()       */
-  /*************************************************************************/
-  /* Execute the PDN connectivity procedure requested by the UE */
-  pid = esm_proc_pdn_connectivity_request(
-          emm_ctx_p,
-          msg_pP->pti,
-          msg_pP->request_type,
-          &msg_pP->apn,
-          esm_pdn_type,
-          &msg_pP->pdn_addr,
-          NULL,
-          &esm_cause);
-  LOG_TRACE(INFO, "EMM  -  APN = %s ", (char *)(msg_pP->apn.value));
-
-  if (pid != RETURNerror) {
-    /* Create local default EPS bearer context */
-    rc = esm_proc_default_eps_bearer_context(
-           emm_ctx_p,
-           pid,
-           &new_ebi,
-           &msg_pP->qos,
-           &esm_cause);
-
-    if (rc != RETURNerror) {
-      esm_cause = ESM_CAUSE_SUCCESS;
-    }
-  } else {
-    LOG_FUNC_RETURN (rc);
-  }
-
-  /**************************************************************************/
-  /* END OF CODE THAT WAS IN esm_recv.c/esm_recv_pdn_connectivity_request() */
-  /**************************************************************************/
-  LOG_TRACE(INFO, "EMM  -  APN = %s ", (char *)(msg_pP->apn.value));
-
-
-  /*************************************************************************/
-  /* CODE THAT WAS IN esm_sap.c/_esm_sap_recv()                            */
-  /*************************************************************************/
-  /* Return default EPS bearer context request message */
-  rc = esm_send_activate_default_eps_bearer_context_request(
-         msg_pP->pti,
-         new_ebi, //msg_pP->ebi,
-         &esm_msg.activate_default_eps_bearer_context_request,
-         &msg_pP->apn,
-         &pco,
-         esm_pdn_type,
-         &msg_pP->pdn_addr,
-         &qos,
-         ESM_CAUSE_SUCCESS);
-
-
-  if  (rc != RETURNerror)  {
-    /* Encode the returned ESM response message */
-    int size = esm_msg_encode(&esm_msg, (uint8_t *)_emm_cn_sap_buffer,
-                              EMM_CN_SAP_BUFFER_SIZE);
-    LOG_TRACE(INFO, "ESM encoded MSG size %d ", size);
-
-    if (size > 0) {
-      rsp.length = size;
-      rsp.value  = (uint8_t *)(_emm_cn_sap_buffer);
-    }
-
-    /* Complete the relevant ESM procedure */
-    rc = esm_proc_default_eps_bearer_context_request(
-           is_standalone,
-           emm_ctx_p,
-           new_ebi, //0, //ESM_EBI_UNASSIGNED, //msg->ebi,
-           &rsp,
-           triggered_by_ue);
-
-    if (rc != RETURNok) {
-      /* Return indication that ESM procedure failed */
-      LOG_FUNC_RETURN (rc);
-    }
-  } else {
-    LOG_TRACE(INFO, "ESM send activate_default_eps_bearer_context_request failed");
-  }
-
-  /*************************************************************************/
-  /* END OF CODE THAT WAS IN esm_sap.c/_esm_sap_recv()                     */
-  /*************************************************************************/
-
-  LOG_TRACE(INFO, "EMM  -  APN = %s ", (char *)(msg_pP->apn.value));
-  data_p = (attach_data_t *)emm_proc_common_get_args(msg_pP->ue_id);
-
-  /* Setup the ESM message container */
-  data_p->esm_msg.value = (uint8_t *)malloc(rsp.length);
-
-  if (data_p->esm_msg.value) {
-    data_p->esm_msg.length = rsp.length;
-    LOG_TRACE(INFO, "EMM  - copy ESM MSG %d bytes", data_p->esm_msg.length);
-    memcpy(data_p->esm_msg.value,
-           rsp.value,
-           rsp.length);
-  } else {
-    data_p->esm_msg.length = 0;
-  }
-
-  /* Send attach accept message to the UE */
-  rc = emm_cn_wrapper_attach_accept(emm_ctx_p, data_p);
-
-  if (rc != RETURNerror) {
-    if (emm_ctx_p->guti_is_new && emm_ctx_p->old_guti) {
-      /* Implicit GUTI reallocation;
-       * Notify EMM that common procedure has been initiated
-       */
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMREG_COMMON_PROC_REQ;
-      emm_sap.u.emm_reg.ueid = msg_pP->ue_id;
-      rc = emm_sap_send(&emm_sap);
-    }
-  }
-
-  LOG_TRACE(INFO, "EMM  -  APN = %s ", (char *)(msg_pP->apn.value));
-  LOG_FUNC_RETURN (rc);
-}
-
-static int _emm_cn_pdn_connectivity_fail(const emm_cn_pdn_fail_t *msg)
-{
-  int rc = RETURNok;
-
-  LOG_FUNC_IN;
-
-  LOG_FUNC_RETURN (rc);
-}
-
-int emm_cn_send(const emm_cn_t *msg)
-{
-  int rc = RETURNerror;
-  emm_cn_primitive_t primitive = msg->primitive;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMMCN-SAP - Received primitive %s (%d)",
-            _emm_cn_primitive_str[primitive - _EMMCN_START - 1], primitive);
-
-  switch (primitive) {
-  case _EMMCN_AUTHENTICATION_PARAM_RES:
-    rc = _emm_cn_authentication_res(msg->u.auth_res);
-    break;
-
-  case _EMMCN_AUTHENTICATION_PARAM_FAIL:
-    rc = _emm_cn_authentication_fail(msg->u.auth_fail);
-    break;
-
-  case EMMCN_DEREGISTER_UE:
-    rc = _emm_cn_deregister_ue(msg->u.deregister.UEid);
-    break;
-
-  case EMMCN_PDN_CONNECTIVITY_RES:
-    rc = _emm_cn_pdn_connectivity_res(msg->u.emm_cn_pdn_res);
-    break;
-
-  case EMMCN_PDN_CONNECTIVITY_FAIL:
-    rc = _emm_cn_pdn_connectivity_fail(msg->u.emm_cn_pdn_fail);
-    break;
-
-  default:
-    /* Other primitives are forwarded to the Access Stratum */
-    rc = RETURNerror;
-    break;
-  }
-
-  if (rc != RETURNok) {
-    LOG_TRACE(ERROR, "EMMCN-SAP - Failed to process primitive %s (%d)",
-              _emm_cn_primitive_str[primitive - _EMMCN_START - 1],
-              primitive);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-#endif
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_cn.h b/openair-cn/NAS/MME/EMM/SAP/emm_cn.h
deleted file mode 100644
index cb4e687b628ed8e02c0281858273b2096e5b2d21..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_cn.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_cn.h
-
-Version     0.1
-
-Date        2013/12/05
-
-Product     NAS stack
-
-Subsystem   EPS Core Network
-
-Author      Sebastien Roux, Lionel GAUTHIER
-
-Description
-
-*****************************************************************************/
-
-#include "emm_cnDef.h"
-
-#ifndef _EMM_CN_H_
-#define _EMM_CN_H_
-
-#if defined(NAS_BUILT_IN_EPC)
-int emm_cn_send(const emm_cn_t *msg);
-#endif
-
-#endif /* _EMM_CN_H_ */
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_cnDef.h b/openair-cn/NAS/MME/EMM/SAP/emm_cnDef.h
deleted file mode 100644
index 738871e5ebb433d7d6df7028b4cc7004fac462d8..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_cnDef.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_cnDef.h
-
-Version     0.1
-
-Date        2013/12/05
-
-Product     NAS stack
-
-Subsystem   EPS Core Network
-
-Author      Sebastien Roux, Lionel GAUTHIER
-
-Description
-
-*****************************************************************************/
-
-#if defined(NAS_BUILT_IN_EPC)
-#include "intertask_interface.h"
-#endif
-
-#ifndef __EMM_CNDEF_H__
-#define __EMM_CNDEF_H__
-
-typedef enum emmcn_primitive_s {
-  _EMMCN_START = 400,
-#if defined(NAS_BUILT_IN_EPC)
-  _EMMCN_AUTHENTICATION_PARAM_RES,
-  _EMMCN_AUTHENTICATION_PARAM_FAIL,
-  _EMMCN_DEREGISTER_UE,
-  _EMMCN_PDN_CONNECTIVITY_RES, // LG
-  _EMMCN_PDN_CONNECTIVITY_FAIL,// LG
-#endif
-  _EMMCN_END
-} emm_cn_primitive_t;
-
-#if defined(NAS_BUILT_IN_EPC)
-typedef nas_auth_param_rsp_t        emm_cn_auth_res_t;
-typedef nas_auth_param_fail_t       emm_cn_auth_fail_t;
-typedef nas_pdn_connectivity_rsp_t  emm_cn_pdn_res_t;
-typedef nas_pdn_connectivity_fail_t emm_cn_pdn_fail_t;
-
-typedef struct emm_cn_deregister_ue_s {
-  uint32_t UEid;
-} emm_cn_deregister_ue_t;
-
-typedef struct emm_mme_ul_s {
-  emm_cn_primitive_t primitive;
-  union {
-    emm_cn_auth_res_t       *auth_res;
-    emm_cn_auth_fail_t      *auth_fail;
-    emm_cn_deregister_ue_t   deregister;
-    emm_cn_pdn_res_t        *emm_cn_pdn_res;
-    emm_cn_pdn_fail_t       *emm_cn_pdn_fail;
-  } u;
-} emm_cn_t;
-#endif
-
-#endif /* __EMM_CNDEF_H__ */
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_esm.c b/openair-cn/NAS/MME/EMM/SAP/emm_esm.c
deleted file mode 100644
index 2a7af5c780a25bae6a6dde703aa7325a87b31db7..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_esm.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      emm_esm.c
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMMESM Service Access Point that provides
-        interlayer services to the EPS Session Management sublayer
-        for service registration and activate/deactivate PDN
-        connections.
-
-*****************************************************************************/
-
-#include "emm_esm.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "LowerLayer.h"
-
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/*
- * String representation of EMMESM-SAP primitives
- */
-static const char *_emm_esm_primitive_str[] = {
-  "EMMESM_RELEASE_IND",
-  "EMMESM_UNITDATA_REQ",
-  "EMMESM_UNITDATA_IND",
-};
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_esm_initialize()                                      **
- **                                                                        **
- ** Description: Initializes the EMMESM Service Access Point               **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    NONE                                       **
- **                                                                        **
- ***************************************************************************/
-void emm_esm_initialize(void)
-{
-  LOG_FUNC_IN;
-
-  /* TODO: Initialize the EMMESM-SAP */
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_esm_send()                                            **
- **                                                                        **
- ** Description: Processes the EMMESM Service Access Point primitive       **
- **                                                                        **
- ** Inputs:  msg:       The EMMESM-SAP primitive to process        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_esm_send(const emm_esm_t *msg)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-  emm_esm_primitive_t primitive = msg->primitive;
-
-  LOG_TRACE(INFO, "EMMESM-SAP - Received primitive %s (%d)",
-            _emm_esm_primitive_str[primitive - _EMMESM_START - 1], primitive);
-
-  switch (primitive) {
-
-  case _EMMESM_UNITDATA_REQ:
-    /* ESM requests EMM to transfer ESM data unit to lower layer */
-    rc = lowerlayer_data_req(msg->ueid, &msg->u.data.msg);
-    break;
-
-  default:
-    break;
-
-  }
-
-  if (rc != RETURNok) {
-    LOG_TRACE(WARNING, "EMMESM-SAP - Failed to process primitive %s (%d)",
-              _emm_esm_primitive_str[primitive - _EMMESM_START - 1],
-              primitive);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_esm.h b/openair-cn/NAS/MME/EMM/SAP/emm_esm.h
deleted file mode 100644
index 6967b97ca16a723f3c2221aa5f8be06da543f7be..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_esm.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_esm.h
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMMESM Service Access Point that provides
-        interlayer services to the EPS Session Management sublayer
-        for service registration and activate/deactivate PDP context.
-
-*****************************************************************************/
-#ifndef __EMM_ESM_H__
-#define __EMM_ESM_H__
-
-#include "emm_esmDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-void emm_esm_initialize(void);
-
-int emm_esm_send(const emm_esm_t *msg);
-
-#endif /* __EMM_ESM_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_esmDef.h b/openair-cn/NAS/MME/EMM/SAP/emm_esmDef.h
deleted file mode 100644
index 3fbc035bdf42f03bc3431802f4e139ddfe1f43bc..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_esmDef.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      emm_esmDef.h
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMMESM Service Access Point that provides
-        interlayer services to the EPS Session Management sublayer
-        for service registration and activate/deactivate PDN
-        connections.
-
-*****************************************************************************/
-#ifndef __EMM_ESMDEF_H__
-#define __EMM_ESMDEF_H__
-
-#include "OctetString.h"
-#include "emmData.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/*
- * EMMESM-SAP primitives
- */
-typedef enum {
-  _EMMESM_START = 100,
-  _EMMESM_RELEASE_IND,
-  _EMMESM_UNITDATA_REQ,
-  _EMMESM_UNITDATA_IND,
-  _EMMESM_END
-} emm_esm_primitive_t;
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/*
- * EMMESM primitive for connection establishment
- * ---------------------------------------------
- */
-typedef struct {
-  int is_emergency;   /* Indicates whether the PDN connection is established
-             * for emergency bearer services only       */
-  int is_attached;    /* Indicates whether the UE remains attached to the
-             * network                  */
-} emm_esm_establish_t;
-
-/*
- * EMMESM primitive for data transfer
- * ----------------------------------
- */
-typedef struct {
-  OctetString msg;        /* ESM message to be transfered     */
-} emm_esm_data_t;
-
-/*
- * ---------------------------------
- * Structure of EMMESM-SAP primitive
- * ---------------------------------
- */
-typedef struct {
-  emm_esm_primitive_t primitive;
-  unsigned int ueid;
-  emm_data_context_t *ctx;
-  union {
-    emm_esm_establish_t establish;
-    emm_esm_data_t data;
-  } u;
-  /* TODO: complete emm_esm_t structure definition */
-} emm_esm_t;
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-#endif /* __EMM_ESMDEF_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_fsm.c b/openair-cn/NAS/MME/EMM/SAP/emm_fsm.c
deleted file mode 100644
index bbbace861b81cde29192f668f92ce5b26de1997c..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_fsm.c
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_fsm.c
-
-Version     0.1
-
-Date        2012/10/03
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EPS Mobility Management procedures executed at
-        the EMMREG Service Access Point.
-
-*****************************************************************************/
-
-#include "emm_fsm.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "mme_api.h"
-#include "emmData.h"
-
-#if defined(NAS_BUILT_IN_EPC)
-# include "assertions.h"
-#endif
-# include "msc.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-
-#define EMM_FSM_NB_UE_MAX   (MME_API_NB_UE_MAX + 1)
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/*
- * -----------------------------------------------------------------------------
- *          Data used for trace logging
- * -----------------------------------------------------------------------------
- */
-
-/* String representation of EMM events */
-static const char *_emm_fsm_event_str[] = {
-  "COMMON_PROC_REQ",
-  "COMMON_PROC_CNF",
-  "COMMON_PROC_REJ",
-  "PROC_ABORT",
-  "ATTACH_CNF",
-  "ATTACH_REJ",
-  "DETACH_INIT",
-  "DETACH_REQ",
-  "DETACH_FAILED",
-  "DETACH_CNF",
-  "TAU_REQ",
-  "TAU_CNF",
-  "TAU_REJ",
-  "SERVICE_REQ",
-  "SERVICE_CNF",
-  "SERVICE_REJ",
-  "LOWERLAYER_SUCCESS",
-  "LOWERLAYER_FAILURE",
-  "LOWERLAYER_RELEASE",
-};
-
-/* String representation of EMM status */
-static const char *_emm_fsm_status_str[EMM_STATE_MAX] = {
-  "INVALID",
-  "DEREGISTERED",
-  "REGISTERED",
-  "DEREGISTERED-INITIATED",
-  "COMMON-PROCEDURE-INITIATED",
-};
-
-/*
- * -----------------------------------------------------------------------------
- *      EPS Mobility Management state machine handlers
- * -----------------------------------------------------------------------------
- */
-
-/* Type of the EPS Mobility Management state machine handler */
-typedef int(*emm_fsm_handler_t)(const emm_reg_t *);
-
-int EmmDeregistered(const emm_reg_t *);
-int EmmRegistered(const emm_reg_t *);
-int EmmDeregisteredInitiated(const emm_reg_t *);
-int EmmCommonProcedureInitiated(const emm_reg_t *);
-
-/* EMM state machine handlers */
-static const emm_fsm_handler_t _emm_fsm_handlers[EMM_STATE_MAX] = {
-  NULL,
-  EmmDeregistered,
-  EmmRegistered,
-  EmmDeregisteredInitiated,
-  EmmCommonProcedureInitiated,
-};
-
-/*
- * -----------------------------------------------------------------------------
- *          Current EPS Mobility Management status
- * -----------------------------------------------------------------------------
- */
-
-#if !defined(NAS_BUILT_IN_EPC)
-emm_fsm_state_t _emm_fsm_status[EMM_FSM_NB_UE_MAX];
-#endif
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_fsm_initialize()                                      **
- **                                                                        **
- ** Description: Initializes the EMM state machine                         **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    _emm_fsm_status                            **
- **                                                                        **
- ***************************************************************************/
-void emm_fsm_initialize(void)
-{
-  int ueid;
-  LOG_FUNC_IN;
-
-
-#if !defined(NAS_BUILT_IN_EPC)
-
-  for (ueid = 0; ueid < EMM_FSM_NB_UE_MAX; ueid++) {
-    _emm_fsm_status[ueid] = EMM_DEREGISTERED;
-  }
-
-#endif
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_fsm_set_status()                                      **
- **                                                                        **
- ** Description: Set the EPS Mobility Management status to the given state **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      status:    The new EMM status                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _emm_fsm_status                            **
- **                                                                        **
- ***************************************************************************/
-int emm_fsm_set_status(
-  unsigned int     ueid,
-  void            *ctx,
-  emm_fsm_state_t  status)
-{
-  LOG_FUNC_IN;
-
-#if defined(NAS_BUILT_IN_EPC)
-  emm_data_context_t *emm_ctx = (emm_data_context_t *)ctx;
-
-  DevAssert(emm_ctx != NULL);
-
-  if ((status < EMM_STATE_MAX) && (ueid > 0)) {
-
-    if (status != emm_ctx->_emm_fsm_status) {
-      LOG_TRACE(INFO, "EMM-FSM   - Status changed: %s ===> %s",
-                  _emm_fsm_status_str[emm_ctx->_emm_fsm_status],
-                  _emm_fsm_status_str[status]);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 EMM state %s ", _emm_fsm_status_str[status]);
-      emm_ctx->_emm_fsm_status = status;
-    }
-
-    LOG_FUNC_RETURN (RETURNok);
-  }
-
-#else
-
-  if ( (status < EMM_STATE_MAX) && (ueid < EMM_FSM_NB_UE_MAX) ) {
-    if (status != _emm_fsm_status[ueid]) {
-      LOG_TRACE(INFO, "EMM-FSM   - Status changed: %s ===> %s",
-                  _emm_fsm_status_str[_emm_fsm_status[ueid]],
-                  _emm_fsm_status_str[status]);
-
-      _emm_fsm_status[ueid] = status;
-    }
-
-    LOG_FUNC_RETURN (RETURNok);
-  }
-
-#endif
-
-  LOG_FUNC_RETURN (RETURNerror);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_fsm_get_status()                                      **
- **                                                                        **
- ** Description: Get the current value of the EPS Mobility Management      **
- **      status                                                    **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      Others:    _emm_fsm_status                            **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    The current value of the EMM status        **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-emm_fsm_state_t emm_fsm_get_status(unsigned int ueid, void *ctx)
-{
-# if defined(NAS_BUILT_IN_EPC)
-  emm_data_context_t *emm_ctx = (emm_data_context_t *)ctx;
-  if (emm_ctx == NULL) {
-	LOG_TRACE(INFO, "EMM-FSM   - try again get context ueid "NAS_UE_ID_FMT" ",
-				ueid);
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-  if (emm_ctx != NULL) {
-    return emm_ctx->_emm_fsm_status;
-  }
-
-# else
-
-  if (ueid < EMM_FSM_NB_UE_MAX) {
-    return (_emm_fsm_status[ueid]);
-  }
-#endif
-  return EMM_STATE_MAX;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_fsm_process()                                         **
- **                                                                        **
- ** Description: Executes the EMM state machine                            **
- **                                                                        **
- ** Inputs:  evt:       The EMMREG-SAP event to process            **
- **      Others:    _emm_fsm_status                            **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_fsm_process(const emm_reg_t *evt)
-{
-  int rc;
-  emm_fsm_state_t status;
-  emm_reg_primitive_t primitive;
-
-  LOG_FUNC_IN;
-
-  primitive = evt->primitive;
-
-# if defined(NAS_BUILT_IN_EPC)
-  emm_data_context_t *emm_ctx = (emm_data_context_t *)evt->ctx;
-  DevAssert(emm_ctx != NULL);
-
-  status = emm_fsm_get_status(0, emm_ctx);
-# else
-
-  if (evt->ueid >= EMM_FSM_NB_UE_MAX) {
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  status = _emm_fsm_status[evt->ueid];
-# endif
-
-  LOG_TRACE(INFO, "EMM-FSM   - Received event %s (%d) in state %s",
-            _emm_fsm_event_str[primitive - _EMMREG_START - 1], primitive,
-            _emm_fsm_status_str[status]);
-
-#if defined(NAS_BUILT_IN_EPC)
-  DevAssert(status != EMM_INVALID);
-#endif
-
-  /* Execute the EMM state machine */
-  rc = (_emm_fsm_handlers[status])(evt);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_fsm.h b/openair-cn/NAS/MME/EMM/SAP/emm_fsm.h
deleted file mode 100644
index 15ca989cc5a060dcce3c347ebd61dfe3720ab568..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_fsm.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_fsm.h
-
-Version     0.1
-
-Date        2012/10/03
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EPS Mobility Management procedures executed at
-        the EMMREG Service Access Point.
-
-*****************************************************************************/
-#ifndef __EMM_FSM_H__
-#define __EMM_FSM_H__
-
-#include "emm_regDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/*
- * States of the EPS Mobility Management sublayer
- * ----------------------------------------------
- * The EMM protocol of the UE and the network is described by means of two
- * different state machines.
- */
-typedef enum {
-  EMM_INVALID,
-  EMM_DEREGISTERED,
-  EMM_REGISTERED,
-  EMM_DEREGISTERED_INITIATED,
-  EMM_COMMON_PROCEDURE_INITIATED,
-  EMM_STATE_MAX
-} emm_fsm_state_t;
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-void emm_fsm_initialize(void);
-
-//LG 2015-03-13 struct emm_data_context_t;
-int emm_fsm_set_status(unsigned int ueid, void *ctx, emm_fsm_state_t status);
-emm_fsm_state_t emm_fsm_get_status(unsigned int ueid, void *ctx);
-
-int emm_fsm_process(const emm_reg_t *evt);
-
-#endif /* __EMM_FSM_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_recv.c b/openair-cn/NAS/MME/EMM/SAP/emm_recv.c
deleted file mode 100644
index 2f0d944679b004da3a91fde0d1ae7c8e4eb17beb..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_recv.c
+++ /dev/null
@@ -1,748 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_recv.c
-
-Version     0.1
-
-Date        2013/01/30
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines functions executed at the EMMAS Service Access
-        Point upon receiving EPS Mobility Management messages
-        from the Access Stratum sublayer.
-
-*****************************************************************************/
-
-#include "emm_recv.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emm_msgDef.h"
-#include "emm_cause.h"
-#include "emm_proc.h"
-
-#include <string.h> // memcpy
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by both the UE and the MME upon receiving EMM messages
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_recv_status()                                         **
- **                                                                        **
- ** Description: Processes EMM status message                              **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **          msg:       The received EMM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_recv_status(unsigned int ueid, emm_status_msg *msg, int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received EMM Status message (cause=%d)",
-            msg->emmcause);
-
-  /*
-   * Message checking
-   */
-  *emm_cause = EMM_CAUSE_SUCCESS;
-  /*
-   * Message processing
-   */
-  rc = emm_proc_status_ind(ueid, msg->emmcause);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the MME upon receiving EMM message from the UE
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_recv_attach_request()                                 **
- **                                                                        **
- ** Description: Processes Attach Request message                          **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      msg:       The received EMM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_recv_attach_request(unsigned int ueid, const attach_request_msg *msg,
-                            int *emm_cause)
-{
-  int                    rc;
-  uint8_t                gea = 0;
-  emm_proc_attach_type_t type;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received Attach Request message");
-
-  /*
-   * Message checking
-   */
-#if !defined(UPDATE_RELEASE_9)
-
-  /* SR: In releases 9 and beyond the mandatory ie (old GUTI) has been removed */
-  if ( (msg->oldgutiorimsi.guti.typeofidentity == EPS_MOBILE_IDENTITY_GUTI) &&
-       !(msg->presencemask & ATTACH_REQUEST_OLD_GUTI_TYPE_PRESENT) ) {
-    /* The Old GUTI type IE shall be included if the type of identity
-     * in the EPS mobile identity IE is set to "GUTI" */
-    *emm_cause = EMM_CAUSE_INVALID_MANDATORY_INFO;
-    LOG_TRACE(WARNING, "EMMAS-SAP - [%08x] - Received GUTI identity without "
-              "old GUTI IEI", ueid);
-  } else
-#endif /* !defined(UPDATE_RELEASE_9) */
-    if (msg->uenetworkcapability.spare != 0b000) {
-      /* Spare bits shall be coded as zero */
-      *emm_cause = EMM_CAUSE_PROTOCOL_ERROR;
-      LOG_TRACE(WARNING, "EMMAS-SAP - [%08x] - Non zero spare bits is suspicious",
-                ueid);
-    }
-
-  /* Handle message checking error */
-  if (*emm_cause != EMM_CAUSE_SUCCESS) {
-    /* 3GPP TS 24.301, section 5.5.1.2.7, case b
-     * Perform protocol error abnormal case on the network side */
-    rc = emm_proc_attach_reject(ueid, *emm_cause);
-    *emm_cause = EMM_CAUSE_SUCCESS;
-    LOG_FUNC_RETURN (rc);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Get the EPS attach type */
-  if (msg->epsattachtype == EPS_ATTACH_TYPE_EPS) {
-    type = EMM_ATTACH_TYPE_EPS;
-  } else if (msg->epsattachtype == EPS_ATTACH_TYPE_IMSI) {
-    type = EMM_ATTACH_TYPE_IMSI;
-  } else if (msg->epsattachtype == EPS_ATTACH_TYPE_EMERGENCY) {
-    type = EMM_ATTACH_TYPE_EMERGENCY;
-  } else if (msg->epsattachtype == EPS_ATTACH_TYPE_RESERVED) {
-    type = EMM_ATTACH_TYPE_RESERVED;
-  } else {
-    /* All other values shall be interpreted as "EPS attach" */
-    type = EMM_ATTACH_TYPE_EPS;
-  }
-
-  /* Get the EPS mobile identity */
-  GUTI_t guti, *p_guti = NULL;
-  imsi_t imsi, *p_imsi = NULL;
-  imei_t imei, *p_imei = NULL;
-
-  if (msg->oldgutiorimsi.guti.typeofidentity == EPS_MOBILE_IDENTITY_GUTI) {
-    /* Get the GUTI */
-    p_guti = &guti;
-    guti.gummei.plmn.MCCdigit1 = msg->oldgutiorimsi.guti.mccdigit1;
-    guti.gummei.plmn.MCCdigit2 = msg->oldgutiorimsi.guti.mccdigit2;
-    guti.gummei.plmn.MCCdigit3 = msg->oldgutiorimsi.guti.mccdigit3;
-    guti.gummei.plmn.MNCdigit1 = msg->oldgutiorimsi.guti.mncdigit1;
-    guti.gummei.plmn.MNCdigit2 = msg->oldgutiorimsi.guti.mncdigit2;
-    guti.gummei.plmn.MNCdigit3 = msg->oldgutiorimsi.guti.mncdigit3;
-    guti.gummei.MMEgid = msg->oldgutiorimsi.guti.mmegroupid;
-    guti.gummei.MMEcode = msg->oldgutiorimsi.guti.mmecode;
-    guti.m_tmsi = msg->oldgutiorimsi.guti.mtmsi;
-  } else if (msg->oldgutiorimsi.imsi.typeofidentity == EPS_MOBILE_IDENTITY_IMSI) {
-    /* Get the IMSI */
-    p_imsi = &imsi;
-    imsi.u.num.digit1 = msg->oldgutiorimsi.imsi.digit1;
-    imsi.u.num.digit2 = msg->oldgutiorimsi.imsi.digit2;
-    imsi.u.num.digit3 = msg->oldgutiorimsi.imsi.digit3;
-    imsi.u.num.digit4 = msg->oldgutiorimsi.imsi.digit4;
-    imsi.u.num.digit5 = msg->oldgutiorimsi.imsi.digit5;
-    imsi.u.num.digit6 = msg->oldgutiorimsi.imsi.digit6;
-    imsi.u.num.digit7 = msg->oldgutiorimsi.imsi.digit7;
-    imsi.u.num.digit8 = msg->oldgutiorimsi.imsi.digit8;
-    imsi.u.num.digit9 = msg->oldgutiorimsi.imsi.digit9;
-    imsi.u.num.digit10 = msg->oldgutiorimsi.imsi.digit10;
-    imsi.u.num.digit11 = msg->oldgutiorimsi.imsi.digit11;
-    imsi.u.num.digit12 = msg->oldgutiorimsi.imsi.digit12;
-    imsi.u.num.digit13 = msg->oldgutiorimsi.imsi.digit13;
-    imsi.u.num.digit14 = msg->oldgutiorimsi.imsi.digit14;
-    imsi.u.num.digit15 = msg->oldgutiorimsi.imsi.digit15;
-    imsi.u.num.parity = msg->oldgutiorimsi.imsi.oddeven;
-  } else if (msg->oldgutiorimsi.imei.typeofidentity == EPS_MOBILE_IDENTITY_IMEI) {
-    /* Get the IMEI */
-    p_imei = &imei;
-    imei.u.num.digit1 = msg->oldgutiorimsi.imei.digit1;
-    imei.u.num.digit2 = msg->oldgutiorimsi.imei.digit2;
-    imei.u.num.digit3 = msg->oldgutiorimsi.imei.digit3;
-    imei.u.num.digit4 = msg->oldgutiorimsi.imei.digit4;
-    imei.u.num.digit5 = msg->oldgutiorimsi.imei.digit5;
-    imei.u.num.digit6 = msg->oldgutiorimsi.imei.digit6;
-    imei.u.num.digit7 = msg->oldgutiorimsi.imei.digit7;
-    imei.u.num.digit8 = msg->oldgutiorimsi.imei.digit8;
-    imei.u.num.digit9 = msg->oldgutiorimsi.imei.digit9;
-    imei.u.num.digit10 = msg->oldgutiorimsi.imei.digit10;
-    imei.u.num.digit11 = msg->oldgutiorimsi.imei.digit11;
-    imei.u.num.digit12 = msg->oldgutiorimsi.imei.digit12;
-    imei.u.num.digit13 = msg->oldgutiorimsi.imei.digit13;
-    imei.u.num.digit14 = msg->oldgutiorimsi.imei.digit14;
-    imei.u.num.digit15 = msg->oldgutiorimsi.imei.digit15;
-    imei.u.num.parity = msg->oldgutiorimsi.imei.oddeven;
-  }
-
-  /* TODO: Get the UE network capabilities */
-
-  /* Get the Last visited registered TAI */
-  tai_t tai, *p_tai  = NULL;
-
-  if (msg->presencemask & ATTACH_REQUEST_LAST_VISITED_REGISTERED_TAI_PRESENT) {
-    p_tai = &tai;
-    tai.plmn.MCCdigit1 = msg->lastvisitedregisteredtai.mccdigit1;
-    tai.plmn.MCCdigit2 = msg->lastvisitedregisteredtai.mccdigit2;
-    tai.plmn.MCCdigit3 = msg->lastvisitedregisteredtai.mccdigit3;
-    tai.plmn.MNCdigit1 = msg->lastvisitedregisteredtai.mncdigit1;
-    tai.plmn.MNCdigit2 = msg->lastvisitedregisteredtai.mncdigit2;
-    tai.plmn.MNCdigit3 = msg->lastvisitedregisteredtai.mncdigit3;
-    tai.tac = msg->lastvisitedregisteredtai.tac;
-  }
-
-  /* Execute the requested UE attach procedure */
-#warning " TODO gea to be review"
-
-  if (msg->msnetworkcapability.msnetworkcapabilityvalue.length > 0) {
-    gea = (msg->msnetworkcapability.msnetworkcapabilityvalue.value[0] & 0x80) >> 1;
-
-    if ((gea) && (msg->msnetworkcapability.msnetworkcapabilityvalue.length >= 2)) {
-      gea |= ((msg->msnetworkcapability.msnetworkcapabilityvalue.value[1] & 0x60) >> 1);
-    }
-  }
-
-  rc = emm_proc_attach_request(ueid, type,
-                               msg->naskeysetidentifier.tsc != NAS_KEY_SET_IDENTIFIER_MAPPED,
-                               msg->naskeysetidentifier.naskeysetidentifier,
-                               msg->oldgutitype != GUTI_MAPPED, p_guti, p_imsi, p_imei, p_tai,
-                               msg->uenetworkcapability.eea,
-                               msg->uenetworkcapability.eia,
-                               msg->uenetworkcapability.ucs2,
-                               msg->uenetworkcapability.uea,
-                               msg->uenetworkcapability.uia,
-                               gea,
-                               msg->uenetworkcapability.umts_present,
-                               msg->uenetworkcapability.gprs_present,
-                               &msg->esmmessagecontainer.esmmessagecontainercontents);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_recv_attach_complete()                                **
- **                                                                        **
- ** Description: Processes Attach Complete message                         **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      msg:       The received EMM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_recv_attach_complete(unsigned int ueid, const attach_complete_msg *msg,
-                             int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received Attach Complete message");
-
-  /* Execute the attach procedure completion */
-  rc = emm_proc_attach_complete(ueid,
-                                &msg->esmmessagecontainer.esmmessagecontainercontents);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_recv_detach_request()                                 **
- **                                                                        **
- ** Description: Processes Detach Request message                          **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      msg:       The received EMM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_recv_detach_request(unsigned int ueid, const detach_request_msg *msg,
-                            int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received Detach Request message");
-
-  /*
-   * Message processing
-   */
-  /* Get the detach type */
-  emm_proc_detach_type_t type;
-
-  if (msg->detachtype.typeofdetach == DETACH_TYPE_EPS) {
-    type = EMM_DETACH_TYPE_EPS;
-  } else if (msg->detachtype.typeofdetach == DETACH_TYPE_IMSI) {
-    type = EMM_DETACH_TYPE_IMSI;
-  } else if (msg->detachtype.typeofdetach == DETACH_TYPE_EPS_IMSI) {
-    type = EMM_DETACH_TYPE_EPS_IMSI;
-  } else if (msg->detachtype.typeofdetach == DETACH_TYPE_RESERVED_1) {
-    type = EMM_DETACH_TYPE_RESERVED;
-  } else if (msg->detachtype.typeofdetach == DETACH_TYPE_RESERVED_2) {
-    type = EMM_DETACH_TYPE_RESERVED;
-  } else {
-    /* All other values are interpreted as "combined EPS/IMSI detach" */
-    type = DETACH_TYPE_EPS_IMSI;
-  }
-
-  /* Get the EPS mobile identity */
-  GUTI_t guti, *p_guti = NULL;
-  imsi_t imsi, *p_imsi = NULL;
-  imei_t imei, *p_imei = NULL;
-
-  if (msg->gutiorimsi.guti.typeofidentity == EPS_MOBILE_IDENTITY_GUTI) {
-    /* Get the GUTI */
-    p_guti = &guti;
-    guti.gummei.plmn.MCCdigit1 = msg->gutiorimsi.guti.mccdigit1;
-    guti.gummei.plmn.MCCdigit2 = msg->gutiorimsi.guti.mccdigit2;
-    guti.gummei.plmn.MCCdigit3 = msg->gutiorimsi.guti.mccdigit3;
-    guti.gummei.plmn.MNCdigit1 = msg->gutiorimsi.guti.mncdigit1;
-    guti.gummei.plmn.MNCdigit2 = msg->gutiorimsi.guti.mncdigit2;
-    guti.gummei.plmn.MNCdigit3 = msg->gutiorimsi.guti.mncdigit3;
-    guti.gummei.MMEgid = msg->gutiorimsi.guti.mmegroupid;
-    guti.gummei.MMEcode = msg->gutiorimsi.guti.mmecode;
-    guti.m_tmsi = msg->gutiorimsi.guti.mtmsi;
-  } else if (msg->gutiorimsi.imsi.typeofidentity == EPS_MOBILE_IDENTITY_IMSI) {
-    /* Get the IMSI */
-    p_imsi = &imsi;
-    imsi.u.num.digit1 = msg->gutiorimsi.imsi.digit1;
-    imsi.u.num.digit2 = msg->gutiorimsi.imsi.digit2;
-    imsi.u.num.digit3 = msg->gutiorimsi.imsi.digit3;
-    imsi.u.num.digit4 = msg->gutiorimsi.imsi.digit4;
-    imsi.u.num.digit5 = msg->gutiorimsi.imsi.digit5;
-    imsi.u.num.digit6 = msg->gutiorimsi.imsi.digit6;
-    imsi.u.num.digit7 = msg->gutiorimsi.imsi.digit7;
-    imsi.u.num.digit8 = msg->gutiorimsi.imsi.digit8;
-    imsi.u.num.digit9 = msg->gutiorimsi.imsi.digit9;
-    imsi.u.num.digit10 = msg->gutiorimsi.imsi.digit10;
-    imsi.u.num.digit11 = msg->gutiorimsi.imsi.digit11;
-    imsi.u.num.digit12 = msg->gutiorimsi.imsi.digit12;
-    imsi.u.num.digit13 = msg->gutiorimsi.imsi.digit13;
-    imsi.u.num.digit14 = msg->gutiorimsi.imsi.digit14;
-    imsi.u.num.digit15 = msg->gutiorimsi.imsi.digit15;
-    imsi.u.num.parity = msg->gutiorimsi.imsi.oddeven;
-  } else if (msg->gutiorimsi.imei.typeofidentity == EPS_MOBILE_IDENTITY_IMEI) {
-    /* Get the IMEI */
-    p_imei = &imei;
-    imei.u.num.digit1 = msg->gutiorimsi.imei.digit1;
-    imei.u.num.digit2 = msg->gutiorimsi.imei.digit2;
-    imei.u.num.digit3 = msg->gutiorimsi.imei.digit3;
-    imei.u.num.digit4 = msg->gutiorimsi.imei.digit4;
-    imei.u.num.digit5 = msg->gutiorimsi.imei.digit5;
-    imei.u.num.digit6 = msg->gutiorimsi.imei.digit6;
-    imei.u.num.digit7 = msg->gutiorimsi.imei.digit7;
-    imei.u.num.digit8 = msg->gutiorimsi.imei.digit8;
-    imei.u.num.digit9 = msg->gutiorimsi.imei.digit9;
-    imei.u.num.digit10 = msg->gutiorimsi.imei.digit10;
-    imei.u.num.digit11 = msg->gutiorimsi.imei.digit11;
-    imei.u.num.digit12 = msg->gutiorimsi.imei.digit12;
-    imei.u.num.digit13 = msg->gutiorimsi.imei.digit13;
-    imei.u.num.digit14 = msg->gutiorimsi.imei.digit14;
-    imei.u.num.digit15 = msg->gutiorimsi.imei.digit15;
-    imei.u.num.parity = msg->gutiorimsi.imei.oddeven;
-  }
-
-  /* Execute the UE initiated detach procedure completion by the network */
-  rc = emm_proc_detach_request(ueid, type,
-                               msg->detachtype.switchoff != DETACH_TYPE_NORMAL_DETACH,
-                               msg->naskeysetidentifier.tsc != NAS_KEY_SET_IDENTIFIER_MAPPED,
-                               msg->naskeysetidentifier.naskeysetidentifier,
-                               p_guti, p_imsi, p_imei);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:        emm_recv_tracking_area_update_request()                   **
- **                                                                        **
- ** Description: Processes Tracking Area Update Request message            **
- **                                                                        **
- ** Inputs:      ueid:          UE lower layer identifier                  **
- **              msg:           The received EMM message                   **
- **              Others:        None                                       **
- **                                                                        **
- ** Outputs:     emm_cause:     EMM cause code                             **
- **              Return:        RETURNok, RETURNerror                      **
- **              Others:        None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_recv_tracking_area_update_request(unsigned int  ueid,
-    const tracking_area_update_request_msg *msg,
-    int *emm_cause)
-{
-  int rc = RETURNok;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received Tracking Area Update Request message");
-
-  /* LW: Not completely implemented; send a Received Tracking Area Update Reject to induce a Attach Request from UE! */
-  rc = emm_proc_tracking_area_update_reject(ueid, EMM_CAUSE_IMPLICITLY_DETACHED);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_recv_identity_response()                              **
- **                                                                        **
- ** Description: Processes Identity Response message                       **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      msg:       The received EMM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_recv_identity_response(unsigned int ueid, identity_response_msg *msg,
-                               int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNok;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received Identity Response message");
-
-  /*
-   * Message processing
-   */
-  /* Get the mobile identity */
-  imsi_t imsi, *p_imsi = NULL;
-  imei_t imei, *p_imei = NULL;
-  struct tmsi_struct_t {
-    uint8_t  digit1:4;
-    uint8_t  digit2:4;
-    uint8_t  digit3:4;
-    uint8_t  digit4:4;
-    uint8_t  digit5:4;
-    uint8_t  digit6:4;
-    uint8_t  digit7:4;
-    uint8_t  digit8:4;
-  } tmsi, *p_tmsi = NULL;
-
-  if (msg->mobileidentity.imsi.typeofidentity == MOBILE_IDENTITY_IMSI) {
-    /* Get the IMSI */
-    p_imsi = &imsi;
-    imsi.u.num.digit1 = msg->mobileidentity.imsi.digit1;
-    imsi.u.num.digit2 = msg->mobileidentity.imsi.digit2;
-    imsi.u.num.digit3 = msg->mobileidentity.imsi.digit3;
-    imsi.u.num.digit4 = msg->mobileidentity.imsi.digit4;
-    imsi.u.num.digit5 = msg->mobileidentity.imsi.digit5;
-    imsi.u.num.digit6 = msg->mobileidentity.imsi.digit6;
-    imsi.u.num.digit7 = msg->mobileidentity.imsi.digit7;
-    imsi.u.num.digit8 = msg->mobileidentity.imsi.digit8;
-    imsi.u.num.digit9 = msg->mobileidentity.imsi.digit9;
-    imsi.u.num.digit10 = msg->mobileidentity.imsi.digit10;
-    imsi.u.num.digit11 = msg->mobileidentity.imsi.digit11;
-    imsi.u.num.digit12 = msg->mobileidentity.imsi.digit12;
-    imsi.u.num.digit13 = msg->mobileidentity.imsi.digit13;
-    imsi.u.num.digit14 = msg->mobileidentity.imsi.digit14;
-    imsi.u.num.digit15 = msg->mobileidentity.imsi.digit15;
-    imsi.u.num.parity = msg->mobileidentity.imsi.oddeven;
-  } else if ((msg->mobileidentity.imei.typeofidentity == MOBILE_IDENTITY_IMEI) ||
-             (msg->mobileidentity.imeisv.typeofidentity==MOBILE_IDENTITY_IMEISV)) {
-    /* Get the IMEI */
-    p_imei = &imei;
-    imei.u.num.digit1 = msg->mobileidentity.imei.digit1;
-    imei.u.num.digit2 = msg->mobileidentity.imei.digit2;
-    imei.u.num.digit3 = msg->mobileidentity.imei.digit3;
-    imei.u.num.digit4 = msg->mobileidentity.imei.digit4;
-    imei.u.num.digit5 = msg->mobileidentity.imei.digit5;
-    imei.u.num.digit6 = msg->mobileidentity.imei.digit6;
-    imei.u.num.digit7 = msg->mobileidentity.imei.digit7;
-    imei.u.num.digit8 = msg->mobileidentity.imei.digit8;
-    imei.u.num.digit9 = msg->mobileidentity.imei.digit9;
-    imei.u.num.digit10 = msg->mobileidentity.imei.digit10;
-    imei.u.num.digit11 = msg->mobileidentity.imei.digit11;
-    imei.u.num.digit12 = msg->mobileidentity.imei.digit12;
-    imei.u.num.digit13 = msg->mobileidentity.imei.digit13;
-    imei.u.num.digit14 = msg->mobileidentity.imei.digit14;
-    imei.u.num.digit15 = msg->mobileidentity.imei.digit15;
-    imei.u.num.parity = msg->mobileidentity.imei.oddeven;
-  } else if (msg->mobileidentity.tmsi.typeofidentity == MOBILE_IDENTITY_TMSI) {
-    /* Get the TMSI */
-    p_tmsi = &tmsi;
-    tmsi.digit1 = msg->mobileidentity.tmsi.digit2;
-    tmsi.digit2 = msg->mobileidentity.tmsi.digit3;
-    tmsi.digit3 = msg->mobileidentity.tmsi.digit4;
-    tmsi.digit4 = msg->mobileidentity.tmsi.digit5;
-    tmsi.digit5 = msg->mobileidentity.tmsi.digit6;
-    tmsi.digit6 = msg->mobileidentity.tmsi.digit7;
-    tmsi.digit7 = msg->mobileidentity.tmsi.digit8;
-    tmsi.digit8 = msg->mobileidentity.tmsi.digit9;
-  }
-
-  /* Execute the identification completion procedure */
-  rc = emm_proc_identification_complete(ueid, p_imsi, p_imei,
-                                        (uint32_t *)(p_tmsi));
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_recv_authentication_response()                        **
- **                                                                        **
- ** Description: Processes Authentication Response message                 **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      msg:       The received EMM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_recv_authentication_response(unsigned int ueid,
-                                     authentication_response_msg *msg,
-                                     int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNok;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received Authentication Response message");
-
-  /*
-   * Message checking
-   */
-  if (msg->authenticationresponseparameter.res.length == 0) {
-    /* RES parameter shall not be null */
-    *emm_cause = EMM_CAUSE_INVALID_MANDATORY_INFO;
-  }
-
-  /* Handle message checking error */
-  if (*emm_cause != EMM_CAUSE_SUCCESS) {
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Execute the authentication completion procedure */
-  rc = emm_proc_authentication_complete(ueid, EMM_CAUSE_SUCCESS,
-                                        &msg->authenticationresponseparameter.res);
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_recv_authentication_failure()                         **
- **                                                                        **
- ** Description: Processes Authentication Failure message                  **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      msg:       The received EMM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_recv_authentication_failure(unsigned int ueid,
-                                    authentication_failure_msg *msg,
-                                    int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNok;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received Authentication Failure message");
-
-  /*
-   * Message checking
-   */
-  if (msg->emmcause == EMM_CAUSE_SUCCESS) {
-    *emm_cause = EMM_CAUSE_INVALID_MANDATORY_INFO;
-  } else if ( (msg->emmcause == EMM_CAUSE_SYNCH_FAILURE) &&
-              !(msg->presencemask &
-                AUTHENTICATION_FAILURE_AUTHENTICATION_FAILURE_PARAMETER_PRESENT) ) {
-    /* AUTS parameter shall be present in case of "synch failure" */
-    *emm_cause = EMM_CAUSE_INVALID_MANDATORY_INFO;
-  }
-
-  /* Handle message checking error */
-  if (*emm_cause != EMM_CAUSE_SUCCESS) {
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Execute the authentication completion procedure */
-  rc = emm_proc_authentication_complete(ueid, msg->emmcause,
-                                        &msg->authenticationfailureparameter.auts);
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_recv_security_mode_complete()                         **
- **                                                                        **
- ** Description: Processes Security Mode Complete message                  **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      msg:       The received EMM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int
-emm_recv_security_mode_complete(
-  unsigned int                ueid,
-  security_mode_complete_msg *msg,
-  int                        *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNok;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received Security Mode Complete message");
-
-  /*
-   * Message processing
-   */
-  /* Execute the NAS security mode control completion procedure */
-  rc = emm_proc_security_mode_complete(ueid);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_recv_security_mode_reject()                           **
- **                                                                        **
- ** Description: Processes Security Mode Reject message                    **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      msg:       The received EMM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_cause: EMM cause code                             **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_recv_security_mode_reject(unsigned int ueid,
-                                  security_mode_reject_msg *msg,
-                                  int *emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNok;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Received Security Mode Reject message "
-            "(cause=%d)", msg->emmcause);
-
-  /*
-   * Message checking
-   */
-  if (msg->emmcause == EMM_CAUSE_SUCCESS) {
-    *emm_cause = EMM_CAUSE_INVALID_MANDATORY_INFO;
-  }
-
-  /* Handle message checking error */
-  if (*emm_cause != EMM_CAUSE_SUCCESS) {
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Execute the NAS security mode commend not accepted by the UE */
-  rc = emm_proc_security_mode_reject(ueid);
-
-  LOG_FUNC_RETURN (rc);
-}
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_recv.h b/openair-cn/NAS/MME/EMM/SAP/emm_recv.h
deleted file mode 100644
index 6b59722c547ad7f72d43b02ecb04f21fb1b2c5ae..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_recv.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_recv.h
-
-Version     0.1
-
-Date        2013/01/30
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines functions executed at the EMMAS Service Access
-        Point upon receiving EPS Mobility Management messages
-        from the Access Stratum sublayer.
-
-*****************************************************************************/
-#ifndef __EMM_RECV_H__
-#define __EMM_RECV_H__
-
-#include "EmmStatus.h"
-
-#include "DetachRequest.h"
-#include "DetachAccept.h"
-
-
-#include "AttachRequest.h"
-#include "AttachComplete.h"
-#include "TrackingAreaUpdateRequest.h"
-#include "TrackingAreaUpdateComplete.h"
-#include "ServiceRequest.h"
-#include "ExtendedServiceRequest.h"
-#include "GutiReallocationComplete.h"
-#include "AuthenticationResponse.h"
-#include "AuthenticationFailure.h"
-#include "IdentityResponse.h"
-#include "NASSecurityModeComplete.h"
-#include "SecurityModeReject.h"
-#include "UplinkNasTransport.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by both the UE and the MME upon receiving EMM messages
- * --------------------------------------------------------------------------
- */
-int emm_recv_status(unsigned int ueid, emm_status_msg *msg, int *emm_cause);
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the UE upon receiving EMM message from the network
- * --------------------------------------------------------------------------
- */
-
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the MME upon receiving EMM message from the UE
- * --------------------------------------------------------------------------
- */
-int emm_recv_attach_request(unsigned int ueid, const attach_request_msg *msg,
-                            int *emm_cause);
-int emm_recv_attach_complete(unsigned int ueid, const attach_complete_msg *msg,
-                             int *emm_cause);
-
-int emm_recv_detach_request(unsigned int ueid, const detach_request_msg *msg,
-                            int *emm_cause);
-
-int emm_recv_tracking_area_update_request(unsigned int  ueid,
-    const tracking_area_update_request_msg *msg,
-    int *emm_cause);
-
-int emm_recv_identity_response(unsigned int ueid, identity_response_msg *msg,
-                               int *emm_cause);
-int emm_recv_authentication_response(unsigned int ueid,
-                                     authentication_response_msg *msg, int *emm_cause);
-int emm_recv_authentication_failure(unsigned int ueid,
-                                    authentication_failure_msg *msg, int *emm_cause);
-int emm_recv_security_mode_complete(unsigned int ueid,
-                                    security_mode_complete_msg *msg, int *emm_cause);
-int emm_recv_security_mode_reject(unsigned int ueid,
-                                  security_mode_reject_msg *msg, int *emm_cause);
-
-#endif /* __EMM_RECV_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_reg.c b/openair-cn/NAS/MME/EMM/SAP/emm_reg.c
deleted file mode 100644
index ca19566cb9a15d5b141086c51c2f6f4bcc26a81f..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_reg.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_reg.c
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMMREG Service Access Point that provides
-        registration services for location updating and attach/detach
-        procedures.
-
-*****************************************************************************/
-
-#include "emm_reg.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emm_fsm.h"
-
-#include <assert.h>
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_reg_initialize()                                      **
- **                                                                        **
- ** Description: Initializes the EMMREG Service Access Point               **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    NONE                                       **
- **                                                                        **
- ***************************************************************************/
-void emm_reg_initialize(void)
-{
-  LOG_FUNC_IN;
-
-  /* Initialize the EMM state machine */
-  emm_fsm_initialize();
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_reg_send()                                            **
- **                                                                        **
- ** Description: Processes the EMMREG Service Access Point primitive       **
- **                                                                        **
- ** Inputs:  msg:       The EMMREG-SAP primitive to process        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_reg_send(const emm_reg_t *msg)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  /* Check the EMM-SAP primitive */
-  emm_reg_primitive_t primitive = msg->primitive;
-  assert( (primitive > _EMMREG_START) && (primitive < _EMMREG_END));
-
-  /* Execute the EMM procedure */
-  rc = emm_fsm_process(msg);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_reg.h b/openair-cn/NAS/MME/EMM/SAP/emm_reg.h
deleted file mode 100644
index 62d333395cec5ab5249e155eeedabe8fe22f6c86..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_reg.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_reg.h
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMMREG Service Access Point that provides
-        registration services for location updating and attach/detach
-        procedures.
-
-*****************************************************************************/
-#ifndef __EMM_REG_H__
-#define __EMM_REG_H__
-
-#include "emm_regDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-void emm_reg_initialize(void);
-
-int emm_reg_send(const emm_reg_t *msg);
-
-#endif /* __EMM_REG_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_regDef.h b/openair-cn/NAS/MME/EMM/SAP/emm_regDef.h
deleted file mode 100644
index 801e107fe1660114fbf28c73470cca7d90fe7d84..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_regDef.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_regDef.h
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMMREG Service Access Point that provides
-        registration services for location updating and attach/detach
-        procedures.
-
-*****************************************************************************/
-#ifndef __EMM_REGDEF_H__
-#define __EMM_REGDEF_H__
-
-#include "commonDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/*
- * EMMREG-SAP primitives
- */
-typedef enum {
-  _EMMREG_START = 0,
-  _EMMREG_COMMON_PROC_REQ,    /* EMM common procedure requested   */
-  _EMMREG_COMMON_PROC_CNF,    /* EMM common procedure successful  */
-  _EMMREG_COMMON_PROC_REJ,    /* EMM common procedure failed      */
-  _EMMREG_PROC_ABORT,     /* EMM procedure aborted        */
-  _EMMREG_ATTACH_CNF,     /* EPS network attach accepted      */
-  _EMMREG_ATTACH_REJ,     /* EPS network attach rejected      */
-  _EMMREG_DETACH_INIT,    /* Network detach initiated     */
-  _EMMREG_DETACH_REQ,     /* Network detach requested     */
-  _EMMREG_DETACH_FAILED,  /* Network detach attempt failed    */
-  _EMMREG_DETACH_CNF,     /* Network detach accepted      */
-  _EMMREG_TAU_REQ,
-  _EMMREG_TAU_CNF,
-  _EMMREG_TAU_REJ,
-  _EMMREG_SERVICE_REQ,
-  _EMMREG_SERVICE_CNF,
-  _EMMREG_SERVICE_REJ,
-  _EMMREG_LOWERLAYER_SUCCESS, /* Data successfully delivered      */
-  _EMMREG_LOWERLAYER_FAILURE, /* Lower layer failure indication   */
-  _EMMREG_LOWERLAYER_RELEASE, /* NAS signalling connection released   */
-  _EMMREG_END
-} emm_reg_primitive_t;
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-
-/*
- * EMMREG primitive for attach procedure
- * -------------------------------------
- */
-typedef struct {
-  int is_emergency;   /* TRUE if the UE was attempting to register to
-             * the network for emergency services only  */
-} emm_reg_attach_t;
-
-/*
- * EMMREG primitive for detach procedure
- * -------------------------------------
- */
-typedef struct {
-  int switch_off; /* TRUE if the UE is switched off       */
-  int type;       /* Network detach type              */
-} emm_reg_detach_t;
-
-/*
- * EMMREG primitive for EMM common procedures
- * ------------------------------------------
- */
-typedef struct {
-  int is_attached;    /* UE context attach indicator          */
-} emm_reg_common_t;
-
-/*
- * Structure of EMMREG-SAP primitive
- */
-typedef struct {
-  emm_reg_primitive_t primitive;
-  unsigned int        ueid;
-  void               *ctx;
-
-  union {
-    emm_reg_attach_t    attach;
-    emm_reg_detach_t    detach;
-    emm_reg_common_t    common;
-  } u;
-} emm_reg_t;
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-#endif /* __EMM_REGDEF_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_sap.c b/openair-cn/NAS/MME/EMM/SAP/emm_sap.c
deleted file mode 100644
index b1aa08686465be7f25c0d447365eefa294b3bd4f..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_sap.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      emm_sap.c
-
-Version     0.1
-
-Date        2012/10/01
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMM Service Access Points at which the EPS
-        Mobility Management sublayer provides procedures for the
-        control of security and mobility when the User Equipment
-        is using the Evolved UTRA Network.
-
-*****************************************************************************/
-
-#include "emm_sap.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emm_reg.h"
-#include "emm_esm.h"
-#include "emm_as.h"
-#include "emm_cn.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_sap_initialize()                                      **
- **                                                                        **
- ** Description: Initializes the EMM Service Access Points                 **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    NONE                                       **
- **                                                                        **
- ***************************************************************************/
-void emm_sap_initialize(void)
-{
-  LOG_FUNC_IN;
-
-  emm_reg_initialize();
-  emm_esm_initialize();
-  emm_as_initialize();
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_sap_send()                                            **
- **                                                                        **
- ** Description: Processes the EMM Service Access Point primitive          **
- **                                                                        **
- ** Inputs:  msg:       The EMM-SAP primitive to process           **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     msg:       The EMM-SAP primitive to process           **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_sap_send(emm_sap_t *msg)
-{
-  int rc = RETURNerror;
-
-  emm_primitive_t primitive = msg->primitive;
-
-  LOG_FUNC_IN;
-
-  /* Check the EMM-SAP primitive */
-  if ( (primitive > (emm_primitive_t)EMMREG_PRIMITIVE_MIN) &&
-       (primitive < (emm_primitive_t)EMMREG_PRIMITIVE_MAX) ) {
-    /* Forward to the EMMREG-SAP */
-    msg->u.emm_reg.primitive = primitive;
-    rc = emm_reg_send(&msg->u.emm_reg);
-  } else if ( (primitive > (emm_primitive_t)EMMESM_PRIMITIVE_MIN) &&
-              (primitive < (emm_primitive_t)EMMESM_PRIMITIVE_MAX) ) {
-    /* Forward to the EMMESM-SAP */
-    msg->u.emm_esm.primitive = primitive;
-    rc = emm_esm_send(&msg->u.emm_esm);
-  } else if ( (primitive > (emm_primitive_t)EMMAS_PRIMITIVE_MIN) &&
-              (primitive < (emm_primitive_t)EMMAS_PRIMITIVE_MAX) ) {
-    /* Forward to the EMMAS-SAP */
-    msg->u.emm_as.primitive = primitive;
-    rc = emm_as_send(&msg->u.emm_as);
-  }
-
-#if defined(NAS_BUILT_IN_EPC)
-  else if ( (primitive > (emm_primitive_t)EMMCN_PRIMITIVE_MIN) &&
-            (primitive < (emm_primitive_t)EMMCN_PRIMITIVE_MAX) ) {
-    /* Forward to the EMMCN-SAP */
-    msg->u.emm_cn.primitive = primitive;
-    rc = emm_cn_send(&msg->u.emm_cn);
-  }
-
-#endif
-  else {
-    LOG_TRACE(WARNING, "EMM-SAP -   Out of range primitive (%d)", primitive);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_sap.h b/openair-cn/NAS/MME/EMM/SAP/emm_sap.h
deleted file mode 100644
index 7cee702e60fb1b3a121fd971d5446f81a12f9e14..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_sap.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_sap.h
-
-Version     0.1
-
-Date        2012/10/01
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EMM Service Access Points at which the EPS
-        Mobility Management sublayer provides procedures for the
-        control of security and mobility when the User Equipment
-        is using the Evolved UTRA Network.
-
-*****************************************************************************/
-#ifndef __EMM_SAP_H__
-#define __EMM_SAP_H__
-
-#include "emmData.h"
-#include "emm_regDef.h"
-#include "emm_esmDef.h"
-#include "emm_asDef.h"
-#include "emm_cnDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/*
- * EPS Mobility Management primitives
- * ----------------------------------
- * EMMREG-SAP provides registration services for location updating and
- * attach/detach procedures;
- * EMMESM-SAP provides interlayer services to the EPS Session Management
- * sublayer for service registration and activate/deactivate PDP context;
- * EMMAS-SAP provides services to the Access Stratum sublayer for NAS message
- * transfer;
- */
-typedef enum {
-  /* EMMREG-SAP */
-  EMMREG_COMMON_PROC_REQ  = _EMMREG_COMMON_PROC_REQ,
-  EMMREG_COMMON_PROC_CNF  = _EMMREG_COMMON_PROC_CNF,
-  EMMREG_COMMON_PROC_REJ  = _EMMREG_COMMON_PROC_REJ,
-  EMMREG_PROC_ABORT       = _EMMREG_PROC_ABORT,
-  EMMREG_ATTACH_CNF       = _EMMREG_ATTACH_CNF,
-  EMMREG_ATTACH_REJ       = _EMMREG_ATTACH_REJ,
-  EMMREG_DETACH_INIT      = _EMMREG_DETACH_INIT,
-  EMMREG_DETACH_REQ       = _EMMREG_DETACH_REQ,
-  EMMREG_DETACH_FAILED    = _EMMREG_DETACH_FAILED,
-  EMMREG_DETACH_CNF       = _EMMREG_DETACH_CNF,
-  EMMREG_TAU_REQ          = _EMMREG_TAU_REQ,
-  EMMREG_TAU_CNF          = _EMMREG_TAU_CNF,
-  EMMREG_TAU_REJ          = _EMMREG_TAU_REJ,
-  EMMREG_SERVICE_REQ      = _EMMREG_SERVICE_REQ,
-  EMMREG_SERVICE_CNF      = _EMMREG_SERVICE_CNF,
-  EMMREG_SERVICE_REJ      = _EMMREG_SERVICE_REJ,
-  EMMREG_LOWERLAYER_SUCCESS   = _EMMREG_LOWERLAYER_SUCCESS,
-  EMMREG_LOWERLAYER_FAILURE   = _EMMREG_LOWERLAYER_FAILURE,
-  EMMREG_LOWERLAYER_RELEASE   = _EMMREG_LOWERLAYER_RELEASE,
-  /* EMMESM-SAP */
-  EMMESM_RELEASE_IND      = _EMMESM_RELEASE_IND,
-  EMMESM_UNITDATA_REQ     = _EMMESM_UNITDATA_REQ,
-  EMMESM_UNITDATA_IND     = _EMMESM_UNITDATA_IND,
-  /* EMMAS-SAP */
-  EMMAS_SECURITY_REQ      = _EMMAS_SECURITY_REQ,
-  EMMAS_SECURITY_IND      = _EMMAS_SECURITY_IND,
-  EMMAS_SECURITY_RES      = _EMMAS_SECURITY_RES,
-  EMMAS_SECURITY_REJ      = _EMMAS_SECURITY_REJ,
-  EMMAS_ESTABLISH_REQ     = _EMMAS_ESTABLISH_REQ,
-  EMMAS_ESTABLISH_CNF     = _EMMAS_ESTABLISH_CNF,
-  EMMAS_ESTABLISH_REJ     = _EMMAS_ESTABLISH_REJ,
-  EMMAS_RELEASE_REQ       = _EMMAS_RELEASE_REQ,
-  EMMAS_RELEASE_IND       = _EMMAS_RELEASE_IND,
-  EMMAS_DATA_REQ          = _EMMAS_DATA_REQ,
-  EMMAS_DATA_IND          = _EMMAS_DATA_IND,
-  EMMAS_PAGE_IND          = _EMMAS_PAGE_IND,
-  EMMAS_STATUS_IND        = _EMMAS_STATUS_IND,
-  EMMAS_CELL_INFO_REQ     = _EMMAS_CELL_INFO_REQ,
-  EMMAS_CELL_INFO_RES     = _EMMAS_CELL_INFO_RES,
-  EMMAS_CELL_INFO_IND     = _EMMAS_CELL_INFO_IND,
-
-#ifdef NAS_BUILT_IN_EPC
-  EMMCN_AUTHENTICATION_PARAM_RES      = _EMMCN_AUTHENTICATION_PARAM_RES,
-  EMMCN_AUTHENTICATION_PARAM_FAIL     = _EMMCN_AUTHENTICATION_PARAM_FAIL,
-  EMMCN_DEREGISTER_UE                 = _EMMCN_DEREGISTER_UE,
-  EMMCN_PDN_CONNECTIVITY_RES          = _EMMCN_PDN_CONNECTIVITY_RES,
-  EMMCN_PDN_CONNECTIVITY_FAIL         = _EMMCN_PDN_CONNECTIVITY_FAIL
-#endif
-} emm_primitive_t;
-
-/*
- * Minimal identifier for EMM-SAP primitives
- */
-#define EMMREG_PRIMITIVE_MIN    _EMMREG_START
-#define EMMESM_PRIMITIVE_MIN    _EMMESM_START
-#define EMMAS_PRIMITIVE_MIN     _EMMAS_START
-#define EMMCN_PRIMITIVE_MIN     _EMMCN_START
-
-/*
- * Maximal identifier for EMM-SAP primitives
- */
-#define EMMREG_PRIMITIVE_MAX    _EMMREG_END
-#define EMMESM_PRIMITIVE_MAX    _EMMESM_END
-#define EMMAS_PRIMITIVE_MAX     _EMMAS_END
-#define EMMCN_PRIMITIVE_MAX     _EMMCN_END
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/*
- * Structure of EPS Mobility Management primitive
- */
-typedef struct emm_sap_s {
-  emm_primitive_t primitive;
-  union {
-    emm_reg_t emm_reg;  /* EMMREG-SAP primitives    */
-    emm_esm_t emm_esm;  /* EMMESM-SAP primitives    */
-    emm_as_t  emm_as;   /* EMMAS-SAP primitives     */
-#if defined(NAS_BUILT_IN_EPC)
-    emm_cn_t  emm_cn;   /* EMMCN-SAP primitives     */
-#endif
-  } u;
-} emm_sap_t;
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-void emm_sap_initialize(void);
-
-int emm_sap_send(emm_sap_t *msg);
-
-#endif /* __EMM_SAP_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_send.c b/openair-cn/NAS/MME/EMM/SAP/emm_send.c
deleted file mode 100644
index 3dac6eb7e066c04913e94ca5093e98621de884fb..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_send.c
+++ /dev/null
@@ -1,509 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_send.c
-
-Version     0.1
-
-Date        2013/01/30
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines functions executed at the EMMAS Service Access
-        Point to send EPS Mobility Management messages to the
-        Access Stratum sublayer.
-
-*****************************************************************************/
-
-#include "emm_send.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emm_msgDef.h"
-#include "emm_proc.h"
-
-#include <string.h> // strlen
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by both the UE and the MME to send EMM messages
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_send_status()                                         **
- **                                                                        **
- ** Description: Builds EMM status message                                 **
- **                                                                        **
- **      The EMM status message is sent by the UE or the network   **
- **      at any time to report certain error conditions.           **
- **                                                                        **
- ** Inputs:  emm_cause: EMM cause code                             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_msg:   The EMM message to be sent                 **
- **      Return:    The size of the EMM message                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_send_status(const emm_as_status_t *msg, emm_status_msg *emm_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = EMM_HEADER_MAXIMUM_LENGTH;
-
-  LOG_TRACE(WARNING, "EMMAS-SAP - Send EMM Status message (cause=%d)",
-            msg->emm_cause);
-
-  /* Mandatory - Message type */
-  emm_msg->messagetype = EMM_STATUS;
-
-  /* Mandatory - EMM cause */
-  size += EMM_CAUSE_MAXIMUM_LENGTH;
-  emm_msg->emmcause = msg->emm_cause;
-
-  LOG_FUNC_RETURN (size);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_send_detach_accept()                                  **
- **                                                                        **
- ** Description: Builds Detach Accept message                              **
- **                                                                        **
- **      The Detach Accept message is sent by the UE or the net-   **
- **      work to indicate that the detach procedure has been com-  **
- **      pleted.                                                   **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_msg:   The EMM message to be sent                 **
- **      Return:    The size of the EMM message                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_send_detach_accept(const emm_as_data_t *msg,
-                           detach_accept_msg *emm_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = EMM_HEADER_MAXIMUM_LENGTH;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send Detach Accept message");
-
-  /* Mandatory - Message type */
-  emm_msg->messagetype = DETACH_ACCEPT;
-
-  LOG_FUNC_RETURN (size);
-}
-
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the MME to send EMM messages to the UE
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_send_attach_accept()                                  **
- **                                                                        **
- ** Description: Builds Attach Accept message                              **
- **                                                                        **
- **      The Attach Accept message is sent by the network to the   **
- **      UE to indicate that the corresponding attach request has  **
- **      been accepted.                                            **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_msg:   The EMM message to be sent                 **
- **      Return:    The size of the EMM message                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_send_attach_accept(const emm_as_establish_t *msg,
-                           attach_accept_msg *emm_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = EMM_HEADER_MAXIMUM_LENGTH;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send Attach Accept message");
-  LOG_TRACE(INFO, "EMMAS-SAP - size = EMM_HEADER_MAXIMUM_LENGTH(%d)",
-            size);
-
-  /* Mandatory - Message type */
-  emm_msg->messagetype = ATTACH_ACCEPT;
-
-  /* Mandatory - EPS attach result */
-  size += EPS_ATTACH_RESULT_MAXIMUM_LENGTH;
-  emm_msg->epsattachresult = EPS_ATTACH_RESULT_EPS;
-
-  /* Mandatory - T3412 value */
-  size += GPRS_TIMER_MAXIMUM_LENGTH;
-  emm_msg->t3412value.unit = GPRS_TIMER_UNIT_0S;
-  LOG_TRACE(INFO, "EMMAS-SAP - size += GPRS_TIMER_MAXIMUM_LENGTH(%d)  (%d)",
-            GPRS_TIMER_MAXIMUM_LENGTH, size);
-
-  /* Mandatory - Tracking area identity list */
-  size += TRACKING_AREA_IDENTITY_LIST_MINIMUM_LENGTH;
-  emm_msg->tailist.typeoflist =
-    TRACKING_AREA_IDENTITY_LIST_ONE_PLMN_CONSECUTIVE_TACS;
-  emm_msg->tailist.numberofelements = msg->n_tacs;
-  emm_msg->tailist.mccdigit1 = msg->UEid.guti->gummei.plmn.MCCdigit1;
-  emm_msg->tailist.mccdigit2 = msg->UEid.guti->gummei.plmn.MCCdigit2;
-  emm_msg->tailist.mccdigit3 = msg->UEid.guti->gummei.plmn.MCCdigit3;
-  emm_msg->tailist.mncdigit1 = msg->UEid.guti->gummei.plmn.MNCdigit1;
-  emm_msg->tailist.mncdigit2 = msg->UEid.guti->gummei.plmn.MNCdigit2;
-  emm_msg->tailist.mncdigit3 = msg->UEid.guti->gummei.plmn.MNCdigit3;
-  emm_msg->tailist.tac = msg->tac;
-  LOG_TRACE(INFO,
-            "EMMAS-SAP - size += "\
-            "TRACKING_AREA_IDENTITY_LIST_MINIMUM_LENGTH(%d)  (%d)",
-            TRACKING_AREA_IDENTITY_LIST_MINIMUM_LENGTH,
-            size);
-
-  /* Mandatory - ESM message container */
-  size += ESM_MESSAGE_CONTAINER_MINIMUM_LENGTH + msg->NASmsg.length;
-  emm_msg->esmmessagecontainer.esmmessagecontainercontents = msg->NASmsg;
-  LOG_TRACE(INFO,
-            "EMMAS-SAP - size += "\
-            "ESM_MESSAGE_CONTAINER_MINIMUM_LENGTH(%d)  (%d)",
-            ESM_MESSAGE_CONTAINER_MINIMUM_LENGTH,
-            size);
-
-  /* Optional - GUTI */
-  if (msg->new_guti) {
-    size += EPS_MOBILE_IDENTITY_MAXIMUM_LENGTH;
-    emm_msg->presencemask |= ATTACH_ACCEPT_GUTI_PRESENT;
-    emm_msg->guti.guti.typeofidentity = EPS_MOBILE_IDENTITY_GUTI;
-    emm_msg->guti.guti.oddeven = EPS_MOBILE_IDENTITY_EVEN;
-    emm_msg->guti.guti.mmegroupid = msg->new_guti->gummei.MMEgid;
-    emm_msg->guti.guti.mmecode = msg->new_guti->gummei.MMEcode;
-    emm_msg->guti.guti.mtmsi = msg->new_guti->m_tmsi;
-    emm_msg->guti.guti.mccdigit1 = msg->new_guti->gummei.plmn.MCCdigit1;
-    emm_msg->guti.guti.mccdigit2 = msg->new_guti->gummei.plmn.MCCdigit2;
-    emm_msg->guti.guti.mccdigit3 = msg->new_guti->gummei.plmn.MCCdigit3;
-    emm_msg->guti.guti.mncdigit1 = msg->new_guti->gummei.plmn.MNCdigit1;
-    emm_msg->guti.guti.mncdigit2 = msg->new_guti->gummei.plmn.MNCdigit2;
-    emm_msg->guti.guti.mncdigit3 = msg->new_guti->gummei.plmn.MNCdigit3;
-    LOG_TRACE(INFO,
-              "EMMAS-SAP - size += "\
-              "EPS_MOBILE_IDENTITY_MAXIMUM_LENGTH(%d)  (%d)",
-              EPS_MOBILE_IDENTITY_MAXIMUM_LENGTH,
-              size);
-  }
-
-  LOG_FUNC_RETURN (size);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_send_attach_reject()                                  **
- **                                                                        **
- ** Description: Builds Attach Reject message                              **
- **                                                                        **
- **      The Attach Reject message is sent by the network to the   **
- **      UE to indicate that the corresponding attach request has  **
- **      been rejected.                                            **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_msg:   The EMM message to be sent                 **
- **      Return:    The size of the EMM message                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_send_attach_reject(const emm_as_establish_t *msg,
-                           attach_reject_msg *emm_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = EMM_HEADER_MAXIMUM_LENGTH;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send Attach Reject message (cause=%d)",
-            msg->emm_cause);
-
-  /* Mandatory - Message type */
-  emm_msg->messagetype = ATTACH_REJECT;
-
-  /* Mandatory - EMM cause */
-  size += EMM_CAUSE_MAXIMUM_LENGTH;
-  emm_msg->emmcause = msg->emm_cause;
-
-  /* Optional - ESM message container */
-  if (msg->NASmsg.length > 0) {
-    size += ESM_MESSAGE_CONTAINER_MINIMUM_LENGTH + msg->NASmsg.length;
-    emm_msg->presencemask |= ATTACH_REJECT_ESM_MESSAGE_CONTAINER_PRESENT;
-    emm_msg->esmmessagecontainer.esmmessagecontainercontents = msg->NASmsg;
-  }
-
-  LOG_FUNC_RETURN (size);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:        emm_send_tracking_area_update_reject()                    **
- **                                                                        **
- ** Description: Builds Tracking Area Update Reject message                **
- **                                                                        **
- **              The Tracking Area Update Reject message is sent by the    **
- **              network to the UE to indicate that the corresponding      **
- **              tracking area update has been rejected.                   **
- **                                                                        **
- ** Inputs:      msg:           The EMMAS-SAP primitive to process         **
- **              Others:        None                                       **
- **                                                                        **
- ** Outputs:     emm_msg:       The EMM message to be sent                 **
- **              Return:        The size of the EMM message                **
- **              Others:        None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_send_tracking_area_update_reject(const emm_as_establish_t *msg,
-    tracking_area_update_reject_msg *emm_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = EMM_HEADER_MAXIMUM_LENGTH;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send Tracking Area Update Reject message (cause=%d)",
-            msg->emm_cause);
-
-  /* Mandatory - Message type */
-  emm_msg->messagetype = TRACKING_AREA_UPDATE_REJECT;
-
-  /* Mandatory - EMM cause */
-  size += EMM_CAUSE_MAXIMUM_LENGTH;
-  emm_msg->emmcause = msg->emm_cause;
-
-  LOG_FUNC_RETURN (size);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_send_identity_request()                               **
- **                                                                        **
- ** Description: Builds Identity Request message                           **
- **                                                                        **
- **      The Identity Request message is sent by the network to    **
- **      the UE to request the UE to provide the specified identi- **
- **      ty.                                                       **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_msg:   The EMM message to be sent                 **
- **      Return:    The size of the EMM message                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_send_identity_request(const emm_as_security_t *msg,
-                              identity_request_msg *emm_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = EMM_HEADER_MAXIMUM_LENGTH;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send Identity Request message");
-
-  /* Mandatory - Message type */
-  emm_msg->messagetype = IDENTITY_REQUEST;
-
-  /* Mandatory - Identity type 2 */
-  size += IDENTITY_TYPE_2_MAXIMUM_LENGTH;
-
-  if (msg->identType == EMM_IDENT_TYPE_IMSI) {
-    emm_msg->identitytype = IDENTITY_TYPE_2_IMSI;
-  } else if (msg->identType == EMM_IDENT_TYPE_TMSI) {
-    emm_msg->identitytype = IDENTITY_TYPE_2_TMSI;
-  } else if (msg->identType == EMM_IDENT_TYPE_IMEI) {
-    emm_msg->identitytype = IDENTITY_TYPE_2_IMEI;
-  } else {
-    /* All other values are interpreted as "IMSI" */
-    emm_msg->identitytype = IDENTITY_TYPE_2_IMSI;
-  }
-
-  LOG_FUNC_RETURN (size);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_send_authentication_request()                         **
- **                                                                        **
- ** Description: Builds Authentication Request message                     **
- **                                                                        **
- **      The Authentication Request message is sent by the network **
- **      to the UE to initiate authentication of the UE identity.  **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_msg:   The EMM message to be sent                 **
- **      Return:    The size of the EMM message                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_send_authentication_request(const emm_as_security_t *msg,
-                                    authentication_request_msg *emm_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = EMM_HEADER_MAXIMUM_LENGTH;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send Authentication Request message");
-
-  /* Mandatory - Message type */
-  emm_msg->messagetype = AUTHENTICATION_REQUEST;
-
-  /* Mandatory - NAS key set identifier */
-  size += NAS_KEY_SET_IDENTIFIER_MAXIMUM_LENGTH;
-  emm_msg->naskeysetidentifierasme.tsc = NAS_KEY_SET_IDENTIFIER_NATIVE;
-  emm_msg->naskeysetidentifierasme.naskeysetidentifier = msg->ksi;
-
-  /* Mandatory - Authentication parameter RAND */
-  size += AUTHENTICATION_PARAMETER_RAND_MAXIMUM_LENGTH;
-  emm_msg->authenticationparameterrand.rand = *msg->rand;
-
-  /* Mandatory - Authentication parameter AUTN */
-  size += AUTHENTICATION_PARAMETER_AUTN_MAXIMUM_LENGTH;
-  emm_msg->authenticationparameterautn.autn = *msg->autn;
-
-  LOG_FUNC_RETURN (size);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_send_authentication_reject()                          **
- **                                                                        **
- ** Description: Builds Authentication Reject message                      **
- **                                                                        **
- **      The Authentication Reject message is sent by the network  **
- **      to the UE to indicate that the authentication procedure   **
- **      has failed and that the UE shall abort all activities.    **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_msg:   The EMM message to be sent                 **
- **      Return:    The size of the EMM message                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_send_authentication_reject(authentication_reject_msg *emm_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = EMM_HEADER_MAXIMUM_LENGTH;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send Authentication Reject message");
-
-  /* Mandatory - Message type */
-  emm_msg->messagetype = AUTHENTICATION_REJECT;
-
-  LOG_FUNC_RETURN (size);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_send_security_mode_command()                          **
- **                                                                        **
- ** Description: Builds Security Mode Command message                      **
- **                                                                        **
- **      The Security Mode Command message is sent by the network  **
- **      to the UE to establish NAS signalling security.           **
- **                                                                        **
- ** Inputs:  msg:       The EMMAS-SAP primitive to process         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     emm_msg:   The EMM message to be sent                 **
- **      Return:    The size of the EMM message                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_send_security_mode_command(const emm_as_security_t *msg,
-                                   security_mode_command_msg *emm_msg)
-{
-  LOG_FUNC_IN;
-
-  int size = EMM_HEADER_MAXIMUM_LENGTH;
-
-  LOG_TRACE(INFO, "EMMAS-SAP - Send Security Mode Command message");
-
-  /* Mandatory - Message type */
-  emm_msg->messagetype = SECURITY_MODE_COMMAND;
-
-  /* Selected NAS security algorithms */
-  size += NAS_SECURITY_ALGORITHMS_MAXIMUM_LENGTH;
-  emm_msg->selectednassecurityalgorithms.typeofcipheringalgorithm =
-    msg->selected_eea;
-  emm_msg->selectednassecurityalgorithms.typeofintegrityalgorithm =
-    msg->selected_eia;
-
-  /* NAS key set identifier */
-  size += NAS_KEY_SET_IDENTIFIER_MAXIMUM_LENGTH;
-  emm_msg->naskeysetidentifier.tsc = NAS_KEY_SET_IDENTIFIER_NATIVE;
-  emm_msg->naskeysetidentifier.naskeysetidentifier = msg->ksi;
-
-  /* Replayed UE security capabilities */
-  size += UE_SECURITY_CAPABILITY_MAXIMUM_LENGTH;
-  emm_msg->replayeduesecuritycapabilities.eea = msg->eea;
-  emm_msg->replayeduesecuritycapabilities.eia = msg->eia;
-  emm_msg->replayeduesecuritycapabilities.umts_present = msg->umts_present;
-  emm_msg->replayeduesecuritycapabilities.gprs_present = msg->gprs_present;
-
-  emm_msg->replayeduesecuritycapabilities.uea = msg->uea;
-  emm_msg->replayeduesecuritycapabilities.uia = msg->uia;
-  emm_msg->replayeduesecuritycapabilities.gea = msg->gea;
-
-  LOG_FUNC_RETURN (size);
-}
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_send.h b/openair-cn/NAS/MME/EMM/SAP/emm_send.h
deleted file mode 100644
index 16c9c5f9d544d418ea922c5ac30430b594396bde..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SAP/emm_send.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-
-Source      emm_send.h
-
-Version     0.1
-
-Date        2013/01/30
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines functions executed at the EMMAS Service Access
-        Point to send EPS Mobility Management messages to the
-        Access Stratum sublayer.
-
-*****************************************************************************/
-#ifndef __EMM_SEND_H__
-#define __EMM_SEND_H__
-
-#include "EmmStatus.h"
-
-#include "DetachRequest.h"
-#include "DetachAccept.h"
-
-#include "AttachAccept.h"
-#include "AttachReject.h"
-#include "TrackingAreaUpdateAccept.h"
-#include "TrackingAreaUpdateReject.h"
-#include "ServiceReject.h"
-#include "GutiReallocationCommand.h"
-#include "AuthenticationRequest.h"
-#include "AuthenticationReject.h"
-#include "IdentityRequest.h"
-#include "NASSecurityModeCommand.h"
-#include "EmmInformation.h"
-#include "DownlinkNasTransport.h"
-#include "CsServiceNotification.h"
-
-#include "emm_asDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by both the UE and the MME to send EMM messages
- * --------------------------------------------------------------------------
- */
-int emm_send_status(const emm_as_status_t *, emm_status_msg *);
-
-int emm_send_detach_accept(const emm_as_data_t *, detach_accept_msg *);
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the UE to send EMM messages to the network
- * --------------------------------------------------------------------------
- */
-
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the MME to send EMM messages to the UE
- * --------------------------------------------------------------------------
- */
-int emm_send_attach_accept(const emm_as_establish_t *, attach_accept_msg *);
-int emm_send_attach_reject(const emm_as_establish_t *, attach_reject_msg *);
-
-int emm_send_tracking_area_update_reject(const emm_as_establish_t *msg,
-    tracking_area_update_reject_msg *emm_msg);
-
-int emm_send_identity_request(const emm_as_security_t *, identity_request_msg *);
-int emm_send_authentication_request(const emm_as_security_t *,
-                                    authentication_request_msg *);
-int emm_send_authentication_reject(authentication_reject_msg *);
-int emm_send_security_mode_command(const emm_as_security_t *,
-                                   security_mode_command_msg *);
-
-#endif /* __EMM_SEND_H__*/
diff --git a/openair-cn/NAS/MME/EMM/SecurityModeControl.c b/openair-cn/NAS/MME/EMM/SecurityModeControl.c
deleted file mode 100644
index bd04316ee26b35d2745a4a7ffa5b6f51812e84ef..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/SecurityModeControl.c
+++ /dev/null
@@ -1,804 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      SecurityModeControl.c
-
-Version     0.1
-
-Date        2013/04/22
-
-Product     NAS stack
-
-Subsystem   Template body file
-
-Author      Frederic Maurel
-
-Description Defines the security mode control EMM procedure executed by the
-        Non-Access Stratum.
-
-        The purpose of the NAS security mode control procedure is to
-        take an EPS security context into use, and initialise and start
-        NAS signalling security between the UE and the MME with the
-        corresponding EPS NAS keys and EPS security algorithms.
-
-        Furthermore, the network may also initiate a SECURITY MODE COM-
-        MAND in order to change the NAS security algorithms for a cur-
-        rent EPS security context already in use.
-
-*****************************************************************************/
-
-#include <stdlib.h> // malloc, free
-#include <string.h> // memcpy
-#include <inttypes.h>
-
-#include "emm_proc.h"
-#include "nas_log.h"
-#include "nas_timer.h"
-
-#include "emmData.h"
-
-#include "emm_sap.h"
-#include "emm_cause.h"
-
-#include "UeSecurityCapability.h"
-
-#if defined(ENABLE_ITTI)
-# include "assertions.h"
-#endif
-#include "secu_defs.h"
-#include "msc.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *  Internal data handled by the security mode control procedure in the UE
- * --------------------------------------------------------------------------
- */
-
-/*
- * --------------------------------------------------------------------------
- *  Internal data handled by the security mode control procedure in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * Timer handlers
- */
-static void *_security_t3460_handler(void *);
-
-/*
- * Function executed whenever the ongoing EMM procedure that initiated
- * the security mode control procedure is aborted or the maximum value of the
- * retransmission timer counter is exceed
- */
-static int _security_abort(void *);
-static int _security_select_algorithms(
-  const int   ue_eiaP,
-  const int   ue_eeaP,
-  int * const mme_eiaP,
-  int * const mme_eeaP);
-/*
- * Internal data used for security mode control procedure
- */
-typedef struct {
-  unsigned int ueid;      /* UE identifier                         */
-#define SECURITY_COUNTER_MAX    5
-  unsigned int retransmission_count;  /* Retransmission counter    */
-  int ksi;                /* NAS key set identifier                */
-  int eea;                /* Replayed EPS encryption algorithms    */
-  int eia;                /* Replayed EPS integrity algorithms     */
-  int ucs2;               /* Replayed Alphabet                     */
-  int uea;                /* Replayed UMTS encryption algorithms   */
-  int uia;                /* Replayed UMTS integrity algorithms    */
-  int gea;                /* Replayed G encryption algorithms      */
-  int umts_present:1;
-  int gprs_present:1;
-  int selected_eea;       /* Selected EPS encryption algorithms    */
-  int selected_eia;       /* Selected EPS integrity algorithms     */
-  int notify_failure;     /* Indicates whether the security mode control
-                             * procedure failure shall be notified to the
-                             * ongoing EMM procedure        */
-} security_data_t;
-
-static int _security_request(security_data_t *data, int is_new);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-/*
- * --------------------------------------------------------------------------
- *      Security mode control procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_security_mode_control()                          **
- **                                                                        **
- ** Description: Initiates the security mode control procedure.            **
- **                                                                        **
- **              3GPP TS 24.301, section 5.4.3.2                           **
- **      The MME initiates the NAS security mode control procedure **
- **      by sending a SECURITY MODE COMMAND message to the UE and  **
- **      starting timer T3460. The message shall be sent unciphe-  **
- **      red but shall be integrity protected using the NAS inte-  **
- **      grity key based on KASME.                                 **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      ksi:       NAS key set identifier                     **
- **      eea:       Replayed EPS encryption algorithms         **
- **      eia:       Replayed EPS integrity algorithms          **
- **      success:   Callback function executed when the secu-  **
- **             rity mode control procedure successfully   **
- **             completes                                  **
- **      reject:    Callback function executed when the secu-  **
- **             rity mode control procedure fails or is    **
- **             rejected                                   **
- **      failure:   Callback function executed whener a lower  **
- **             layer failure occured before the security  **
- **             mode control procedure comnpletes          **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_security_mode_control(unsigned int ueid, int ksi,
-                                   int eea, int eia,int ucs2, int uea, int uia, int gea, int umts_present, int gprs_present,
-                                   emm_common_success_callback_t success,
-                                   emm_common_reject_callback_t reject,
-                                   emm_common_failure_callback_t failure)
-{
-  int rc = RETURNerror;
-  int security_context_is_new = FALSE;
-  int mme_eea                 = NAS_SECURITY_ALGORITHMS_EEA0;
-  int mme_eia                 = NAS_SECURITY_ALGORITHMS_EIA0;
-  /* Get the UE context */
-  emm_data_context_t *emm_ctx = NULL;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMM-PROC  - Initiate security mode control procedure "
-            "KSI = %d EEA = %d EIA = %d",
-            ksi, eea, eia);
-
-#if defined(NAS_BUILT_IN_EPC)
-
-  if (ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-
-#else
-
-  if (ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[ueid];
-  }
-
-#endif
-
-  if (emm_ctx && emm_ctx->security) {
-    if (emm_ctx->security->type == EMM_KSI_NOT_AVAILABLE) {
-      /* The security mode control procedure is initiated to take into use
-       * the EPS security context created after a successful execution of
-       * the EPS authentication procedure */
-      emm_ctx->security->type = EMM_KSI_NATIVE;
-      emm_ctx->security->eksi = ksi;
-      emm_ctx->security->dl_count.overflow = 0;
-      emm_ctx->security->dl_count.seq_num = 0;
-
-      /* TODO !!! Compute Kasme, and NAS cyphering and integrity keys */
-      // LG: Kasme should have been received from authentication
-      //     information request (S6A)
-      // Kasme is located in emm_ctx->vector.kasme
-      FREE_OCTET_STRING(emm_ctx->security->kasme);
-
-      emm_ctx->security->kasme.value = malloc(32);
-      memcpy(emm_ctx->security->kasme.value,
-             emm_ctx->vector.kasme,
-             32);
-      emm_ctx->security->kasme.length = 32;
-
-      rc = _security_select_algorithms(
-             eia,
-             eea,
-             &mme_eia,
-             &mme_eea);
-
-      emm_ctx->security->selected_algorithms.encryption = mme_eea;
-      emm_ctx->security->selected_algorithms.integrity  = mme_eia;
-
-      if (rc == RETURNerror) {
-        LOG_TRACE(WARNING,
-                  "EMM-PROC  - Failed to select security algorithms");
-        LOG_FUNC_RETURN (RETURNerror);
-      }
-
-      if ( ! emm_ctx->security->knas_int.value) {
-        emm_ctx->security->knas_int.value = malloc(AUTH_KNAS_INT_SIZE);
-      } else {
-        LOG_TRACE(ERROR,
-                  " TODO realloc emm_ctx->security->knas_int OctetString");
-        LOG_FUNC_RETURN (RETURNerror);
-      }
-
-      emm_ctx->security->knas_int.length = AUTH_KNAS_INT_SIZE;
-      derive_key_nas(
-        NAS_INT_ALG,
-        emm_ctx->security->selected_algorithms.integrity,
-        emm_ctx->vector.kasme,
-        emm_ctx->security->knas_int.value);
-
-      if ( ! emm_ctx->security->knas_enc.value) {
-        emm_ctx->security->knas_enc.value = malloc(AUTH_KNAS_ENC_SIZE);
-      } else {
-        LOG_TRACE(ERROR,
-                  " TODO realloc emm_ctx->security->knas_enc OctetString");
-        LOG_FUNC_RETURN (RETURNerror);
-      }
-
-      emm_ctx->security->knas_enc.length = AUTH_KNAS_ENC_SIZE;
-      derive_key_nas(
-        NAS_ENC_ALG,
-        emm_ctx->security->selected_algorithms.encryption,
-        emm_ctx->vector.kasme,
-        emm_ctx->security->knas_enc.value);
-
-      /* Set new security context indicator */
-      security_context_is_new = TRUE;
-    }
-  } else {
-    LOG_TRACE(WARNING, "EMM-PROC  - No EPS security context exists");
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /* Allocate parameters of the retransmission timer callback */
-  security_data_t *data =
-    (security_data_t *)malloc(sizeof(security_data_t));
-
-  if (data != NULL) {
-    /* Setup ongoing EMM procedure callback functions */
-    rc = emm_proc_common_initialize(ueid, success, reject, failure,
-                                    _security_abort, data);
-
-    if (rc != RETURNok) {
-      LOG_TRACE(WARNING, "Failed to initialize EMM callback functions");
-      free(data);
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-
-    /* Set the UE identifier */
-    data->ueid = ueid;
-    /* Reset the retransmission counter */
-    data->retransmission_count = 0;
-    /* Set the key set identifier */
-    data->ksi = ksi;
-    /* Set the EPS encryption algorithms to be replayed to the UE */
-    data->eea = eea;
-    /* Set the EPS integrity algorithms to be replayed to the UE */
-    data->eia = eia;
-    data->ucs2 = ucs2;
-    /* Set the UMTS encryption algorithms to be replayed to the UE */
-    data->uea = uea;
-    /* Set the UMTS integrity algorithms to be replayed to the UE */
-    data->uia = uia;
-    /* Set the GPRS integrity algorithms to be replayed to the UE */
-    data->gea = gea;
-    data->umts_present = umts_present;
-    data->gprs_present = gprs_present;
-    /* Set the EPS encryption algorithms selected to the UE */
-    data->selected_eea = emm_ctx->security->selected_algorithms.encryption;
-    /* Set the EPS integrity algorithms selected to the UE */
-    data->selected_eia = emm_ctx->security->selected_algorithms.integrity;
-    /* Set the failure notification indicator */
-    data->notify_failure = FALSE;
-    /* Send security mode command message to the UE */
-    rc = _security_request(data, security_context_is_new);
-
-    if (rc != RETURNerror) {
-      /*
-       * Notify EMM that common procedure has been initiated
-       */
-      MSC_LOG_TX_MESSAGE(
-      	  		MSC_NAS_EMM_MME,
-      	  	  	MSC_NAS_EMM_MME,
-      	  	  	NULL,0,
-      	  	  	"0 EMMREG_COMMON_PROC_REQ ue id "NAS_UE_ID_FMT" (security mode control)", ueid);
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMREG_COMMON_PROC_REQ;
-      emm_sap.u.emm_reg.ueid = ueid;
-      emm_sap.u.emm_reg.ctx  = emm_ctx;
-      rc = emm_sap_send(&emm_sap);
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_security_mode_complete()                         **
- **                                                                        **
- ** Description: Performs the security mode control completion procedure   **
- **      executed by the network.                                  **
- **                                                                        **
- **              3GPP TS 24.301, section 5.4.3.4                           **
- **      Upon receiving the SECURITY MODE COMPLETE message, the    **
- **      MME shall stop timer T3460.                               **
- **      From this time onward the MME shall integrity protect and **
- **      encipher all signalling messages with the selected NAS    **
- **      integrity and ciphering algorithms.                       **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_security_mode_complete(unsigned int ueid)
-{
-  emm_data_context_t *emm_ctx = NULL;
-
-  int rc = RETURNerror;
-  emm_sap_t emm_sap;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "EMM-PROC  - Security mode complete (ueid="NAS_UE_ID_FMT")", ueid);
-
-
-  /* Get the UE context */
-#if defined(NAS_BUILT_IN_EPC)
-  if (ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-  }
-#else
-  if (ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[ueid];
-  }
-#endif
-
-  if (emm_ctx) {
-	  /* Stop timer T3460 */
-	  LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
-	  emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
-	  MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", ueid);
-  }
-  /* Release retransmission timer paramaters */
-  security_data_t *data = (security_data_t *)(emm_proc_common_get_args(ueid));
-
-  if (data) {
-    free(data);
-  }
-
-  if (emm_ctx && emm_ctx->security) {
-    /*
-     * Notify EMM that the authentication procedure successfully completed
-     */
-    MSC_LOG_TX_MESSAGE(
-      	  		MSC_NAS_EMM_MME,
-      	  	  	MSC_NAS_EMM_MME,
-      	  	  	NULL,0,
-      	  	  	"0 EMMREG_COMMON_PROC_CNF ue id "NAS_UE_ID_FMT" (security mode complete)", ueid);
-    emm_sap.primitive = EMMREG_COMMON_PROC_CNF;
-    emm_sap.u.emm_reg.ueid = ueid;
-    emm_sap.u.emm_reg.ctx  = emm_ctx;
-    emm_sap.u.emm_reg.u.common.is_attached = emm_ctx->is_attached;
-  } else {
-    LOG_TRACE(ERROR, "EMM-PROC  - No EPS security context exists");
-    /*
-     * Notify EMM that the authentication procedure failed
-     */
-    MSC_LOG_TX_MESSAGE(
-      	  		MSC_NAS_EMM_MME,
-      	  	  	MSC_NAS_EMM_MME,
-      	  	  	NULL,0,
-      	  	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" (security mode complete)", ueid);
-    emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
-    emm_sap.u.emm_reg.ueid = ueid;
-    emm_sap.u.emm_reg.ctx  = emm_ctx;
-  }
-
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_proc_security_mode_reject()                           **
- **                                                                        **
- ** Description: Performs the security mode control not accepted by the UE **
- **                                                                        **
- **              3GPP TS 24.301, section 5.4.3.5                           **
- **      Upon receiving the SECURITY MODE REJECT message, the MME  **
- **      shall stop timer T3460 and abort the ongoing procedure    **
- **      that triggered the initiation of the NAS security mode    **
- **      control procedure.                                        **
- **      The MME shall apply the EPS security context in use befo- **
- **      re the initiation of the security mode control procedure, **
- **      if any, to protect any subsequent messages.               **
- **                                                                        **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_security_mode_reject(unsigned int ueid)
-{
-  emm_data_context_t *emm_ctx = NULL;
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(WARNING, "EMM-PROC  - Security mode command not accepted by the UE"
-            "(ueid="NAS_UE_ID_FMT")", ueid);
-
-
-
-  /* Get the UE context */
-#if defined(NAS_BUILT_IN_EPC)
-  if (ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, ueid);
-    DevAssert(emm_ctx != NULL);
-  }
-#else
-  if (ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[ueid];
-  }
-#endif
-  if (emm_ctx) {
-	  /* Stop timer T3460 */
-	  LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
-	  emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
-	  MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", ueid);
-  }
-  /* Release retransmission timer paramaters */
-  security_data_t *data = (security_data_t *)(emm_proc_common_get_args(ueid));
-  if (data) {
-    free(data);
-  }
-
-  /* Set the key set identifier to its previous value */
-  if (emm_ctx && emm_ctx->security) {
-    /* XXX - Usually, the MME should be able to maintain a current and
-     * a non-current EPS security context simultaneously as the UE do.
-     * This implementation choose to have only one security context by UE
-     * in the MME, thus security mode control procedure is only performed
-     * to take into use the first EPS security context created after a
-     * successful execution of the EPS authentication procedure */
-    emm_ctx->security->type = EMM_KSI_NOT_AVAILABLE;
-  }
-
-  /*
-   * Notify EMM that the authentication procedure failed
-   */
-  MSC_LOG_TX_MESSAGE(
-    	  		MSC_NAS_EMM_MME,
-    	  	  	MSC_NAS_EMM_MME,
-    	  	  	NULL,0,
-    	  	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" (security mode reject)", ueid);
-  emm_sap_t emm_sap;
-  emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
-  emm_sap.u.emm_reg.ueid = ueid;
-  emm_sap.u.emm_reg.ctx  = emm_ctx;
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-
-
-/*
- * --------------------------------------------------------------------------
- *              Timer handlers
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _security_t3460_handler()                                 **
- **                                                                        **
- ** Description: T3460 timeout handler                                     **
- **      Upon T3460 timer expiration, the security mode command    **
- **      message is retransmitted and the timer restarted. When    **
- **      retransmission counter is exceed, the MME shall abort the **
- **      security mode control procedure.                          **
- **                                                                        **
- **              3GPP TS 24.301, section 5.4.3.7, case b                   **
- **                                                                        **
- ** Inputs:  args:      handler parameters                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void *_security_t3460_handler(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  security_data_t *data = (security_data_t *)(args);
-
-  /* Increment the retransmission counter */
-  data->retransmission_count += 1;
-
-  LOG_TRACE(WARNING, "EMM-PROC  - T3460 timer expired, retransmission "
-            "counter = %d", data->retransmission_count);
-
-  if (data->retransmission_count < SECURITY_COUNTER_MAX) {
-    /* Send security mode command message to the UE */
-    rc = _security_request(data, FALSE);
-  } else {
-    /* Set the failure notification indicator */
-    data->notify_failure = TRUE;
-    /* Abort the security mode control procedure */
-    rc = _security_abort(data);
-  }
-
-  LOG_FUNC_RETURN (NULL);
-}
-
-/*
- * --------------------------------------------------------------------------
- *              MME specific local functions
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _security_request()                                       **
- **                                                                        **
- ** Description: Sends SECURITY MODE COMMAND message and start timer T3460 **
- **                                                                        **
- ** Inputs:  data:      Security mode control internal data        **
- **      is_new:    Indicates whether a new security context   **
- **             has just been taken into use               **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3460                                      **
- **                                                                        **
- ***************************************************************************/
-int _security_request(security_data_t *data, int is_new)
-{
-  struct emm_data_context_s *emm_ctx = NULL;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  LOG_FUNC_IN;
-
-  /*
-   * Notify EMM-AS SAP that Security Mode Command message has to be sent
-   * to the UE
-   */
-  emm_sap.primitive = EMMAS_SECURITY_REQ;
-  emm_sap.u.emm_as.u.security.guti         = NULL;
-  emm_sap.u.emm_as.u.security.ueid         = data->ueid;
-  emm_sap.u.emm_as.u.security.msgType      = EMM_AS_MSG_TYPE_SMC;
-  emm_sap.u.emm_as.u.security.ksi          = data->ksi;
-  emm_sap.u.emm_as.u.security.eea          = data->eea;
-  emm_sap.u.emm_as.u.security.eia          = data->eia;
-  emm_sap.u.emm_as.u.security.ucs2         = data->ucs2;
-  emm_sap.u.emm_as.u.security.uea          = data->uea;
-  emm_sap.u.emm_as.u.security.uia          = data->uia;
-  emm_sap.u.emm_as.u.security.gea          = data->gea;
-  emm_sap.u.emm_as.u.security.umts_present = data->umts_present;
-  emm_sap.u.emm_as.u.security.gprs_present = data->gprs_present;
-  emm_sap.u.emm_as.u.security.selected_eea = data->selected_eea;
-  emm_sap.u.emm_as.u.security.selected_eia = data->selected_eia;
-
-#if defined(NAS_BUILT_IN_EPC)
-  if (data->ueid > 0) {
-    emm_ctx = emm_data_context_get(&_emm_data, data->ueid);
-  }
-#else
-  if (data->ueid < EMM_DATA_NB_UE_MAX) {
-    emm_ctx = _emm_data.ctx[data->ueid];
-  }
-#endif
-
-  /* Setup EPS NAS security data */
-  emm_as_set_security_data(&emm_sap.u.emm_as.u.security.sctx,
-                           emm_ctx->security, is_new, FALSE);
-  MSC_LOG_TX_MESSAGE(
-    	  		MSC_NAS_EMM_MME,
-    	  	  	MSC_NAS_EMM_MME,
-    	  	  	NULL,0,
-    	  	  	"0 EMMAS_SECURITY_REQ ue id "NAS_UE_ID_FMT" ", data->ueid);
-  rc = emm_sap_send(&emm_sap);
-
-  if (rc != RETURNerror) {
-    if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
-      /* Re-start T3460 timer */
-    	emm_ctx->T3460.id = nas_timer_restart(emm_ctx->T3460.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 restarted UE "NAS_UE_ID_FMT" ", data->ueid);
-    } else {
-      /* Start T3460 timer */
-    	emm_ctx->T3460.id = nas_timer_start(emm_ctx->T3460.sec, _security_t3460_handler, data);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 started UE "NAS_UE_ID_FMT" ", data->ueid);
-    }
-    LOG_TRACE(INFO,"EMM-PROC  - Timer T3460 (%d) expires in %ld seconds",
-    		emm_ctx->T3460.id, emm_ctx->T3460.sec);
-  }
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _security_abort()                                         **
- **                                                                        **
- ** Description: Aborts the security mode control procedure currently in   **
- **      progress                                                  **
- **                                                                        **
- ** Inputs:  args:      Security mode control data to be released  **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3460                                      **
- **                                                                        **
- ***************************************************************************/
-static int _security_abort(void *args)
-{
-  LOG_FUNC_IN;
-
-  struct emm_data_context_s *emm_ctx = NULL;
-  int rc = RETURNerror;
-
-  security_data_t *data = (security_data_t *)(args);
-
-  if (data) {
-    unsigned int ueid = data->ueid;
-    int notify_failure = data->notify_failure;
-
-    LOG_TRACE(WARNING, "EMM-PROC  - Abort security mode control procedure "
-              "(ueid="NAS_UE_ID_FMT")", ueid);
-#if defined(NAS_BUILT_IN_EPC)
-    if (data->ueid > 0) {
-      emm_ctx = emm_data_context_get(&_emm_data, data->ueid);
-    }
-#else
-    if (data->ueid < EMM_DATA_NB_UE_MAX) {
-      emm_ctx = _emm_data.ctx[data->ueid];
-    }
-#endif
-    /* Stop timer T3460 */
-    if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
-      emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", ueid);
-    }
-
-    /* Release retransmission timer paramaters */
-    free(data);
-
-    /*
-     * Notify EMM that the security mode control procedure failed
-     */
-    if (notify_failure) {
-      MSC_LOG_TX_MESSAGE(
-    	    	  		MSC_NAS_EMM_MME,
-    	    	  	  	MSC_NAS_EMM_MME,
-    	    	  	  	NULL,0,
-    	    	  	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" (security abort)", data->ueid);
-      emm_sap_t emm_sap;
-      emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
-      emm_sap.u.emm_reg.ueid = ueid;
-      rc = emm_sap_send(&emm_sap);
-    } else {
-      rc = RETURNok;
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _security_select_algorithms()                                 **
- **                                                                        **
- ** Description: Select int and enc algorithms based on UE capabilities and**
- **      MME capabilities and MME preferences                              **
- **                                                                        **
- ** Inputs:  ue_eia:      integrity algorithms supported by UE             **
- **          ue_eea:      ciphering algorithms supported by UE             **
- **                                                                        **
- ** Outputs: mme_eia:     integrity algorithms supported by MME            **
- **          mme_eea:     ciphering algorithms supported by MME            **
- **                                                                        **
- **      Return:    RETURNok, RETURNerror                                  **
- **      Others:    None                                                   **
- **                                                                        **
- ***************************************************************************/
-static int _security_select_algorithms(
-  const int   ue_eiaP,
-  const int   ue_eeaP,
-  int * const mme_eiaP,
-  int * const mme_eeaP)
-{
-  LOG_FUNC_IN;
-
-  int rc                = RETURNerror;
-  int preference_index;
-
-  *mme_eiaP = NAS_SECURITY_ALGORITHMS_EIA0;
-  *mme_eeaP = NAS_SECURITY_ALGORITHMS_EEA0;
-
-  for (preference_index = 0; preference_index < 8; preference_index++) {
-    if (ue_eiaP & (0x80 >> _emm_data.conf.prefered_integrity_algorithm[preference_index])) {
-      LOG_TRACE(DEBUG,
-                "Selected  NAS_SECURITY_ALGORITHMS_EIA%d (choice num %d)",
-                _emm_data.conf.prefered_integrity_algorithm[preference_index],
-                preference_index);
-      *mme_eiaP = _emm_data.conf.prefered_integrity_algorithm[preference_index];
-      break;
-    }
-  }
-
-  for (preference_index = 0; preference_index < 8; preference_index++) {
-    if (ue_eeaP & (0x80 >> _emm_data.conf.prefered_ciphering_algorithm[preference_index])) {
-      LOG_TRACE(DEBUG,
-                "Selected  NAS_SECURITY_ALGORITHMS_EEA%d (choice num %d)",
-                _emm_data.conf.prefered_ciphering_algorithm[preference_index],
-                preference_index);
-      *mme_eeaP = _emm_data.conf.prefered_ciphering_algorithm[preference_index];
-      break;
-    }
-  }
-
-  LOG_FUNC_RETURN (RETURNok);
-}
-
-
diff --git a/openair-cn/NAS/MME/EMM/ServiceRequestHdl.c b/openair-cn/NAS/MME/EMM/ServiceRequestHdl.c
deleted file mode 100644
index 1655b22d71cee1c408d0c6a78e637a15be197acd..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/ServiceRequestHdl.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      ServiceRequest.c
-
-Version     0.1
-
-Date        2013/05/07
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the service request EMM procedure executed by the
-        Non-Access Stratum.
-
-        The purpose of the service request procedure is to transfer
-        the EMM mode from EMM-IDLE to EMM-CONNECTED mode and establish
-        the radio and S1 bearers when uplink user data or signalling
-        is to be sent.
-
-        This procedure is used when the network has downlink signalling
-        pending, the UE has uplink signalling pending, the UE or the
-        network has user data pending and the UE is in EMM-IDLE mode.
-
-*****************************************************************************/
-
-#include "emm_proc.h"
-#include "nas_log.h"
-#include "nas_timer.h"
-
-#include "emmData.h"
-
-#include "emm_sap.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *  Internal data handled by the service request procedure in the UE
- * --------------------------------------------------------------------------
- */
-
-/*
- * --------------------------------------------------------------------------
- *  Internal data handled by the service request procedure in the MME
- * --------------------------------------------------------------------------
- */
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-
diff --git a/openair-cn/NAS/MME/EMM/TrackingAreaUpdate.c b/openair-cn/NAS/MME/EMM/TrackingAreaUpdate.c
deleted file mode 100644
index 09ae70da85e541b226f30c7bebd75f5afde4aecb..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/TrackingAreaUpdate.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      TrackingAreaUpdate.c
-
-Version     0.1
-
-Date        2013/05/07
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the tracking area update EMM procedure executed by the
-        Non-Access Stratum.
-
-        The tracking area updating procedure is always initiated by the
-        UE and is used to update the registration of the actual tracking
-        area of a UE in the network, to periodically notify the availa-
-        bility of the UE to the network, for MME load balancing, to up-
-        date certain UE specific parameters in the network.
-
-*****************************************************************************/
-
-#include "emm_proc.h"
-#include "nas_log.h"
-#include "nas_timer.h"
-
-#include "emmData.h"
-
-#include "emm_sap.h"
-#include "emm_cause.h"
-
-#include <string.h> // memcmp, memcpy
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *   Internal data handled by the tracking area update procedure in the MME
- * --------------------------------------------------------------------------
- */
-static int _emm_tracking_area_update_reject(void *args);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:        emm_proc_tracking_area_update_reject()                    **
- **                                                                        **
- ** Description:                                                           **
- **                                                                        **
- ** Inputs:  ueid:              UE lower layer identifier                  **
- **                  emm_cause: EMM cause code to be reported              **
- **                  Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **                  Return:    RETURNok, RETURNerror                      **
- **                  Others:    _emm_data                                  **
- **                                                                        **
- ***************************************************************************/
-int emm_proc_tracking_area_update_reject(unsigned int ueid, int emm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  /* Create temporary UE context */
-  emm_data_context_t ue_ctx;
-  memset(&ue_ctx, 0 , sizeof(emm_data_context_t));
-  ue_ctx.is_dynamic = FALSE;
-  ue_ctx.ueid = ueid;
-
-  /* Update the EMM cause code */
-#if defined(NAS_BUILT_IN_EPC)
-
-  if (ueid > 0)
-#else
-  if (ueid < EMM_DATA_NB_UE_MAX)
-#endif
-  {
-    ue_ctx.emm_cause = emm_cause;
-  } else {
-    ue_ctx.emm_cause = EMM_CAUSE_ILLEGAL_UE;
-  }
-
-  /* Do not accept attach request with protocol error */
-  rc = _emm_tracking_area_update_reject(&ue_ctx);
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:        _emm_tracking_area_update_reject()                        **
- **                                                                        **
- ** Description: Performs the tracking area update procedure not accepted  **
- **               by the network.                                         **
- **                                                                        **
- ** Inputs:      args:          UE context data                            **
- **              Others:        None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **              Return:        RETURNok, RETURNerror                      **
- **              Others:        None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _emm_tracking_area_update_reject(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  emm_data_context_t *emm_ctx = (emm_data_context_t *)(args);
-
-  if (emm_ctx) {
-    emm_sap_t emm_sap;
-    LOG_TRACE(WARNING, "EMM-PROC  - EMM tracking area update procedure not accepted "
-              "by the network (ueid="NAS_UE_ID_FMT", cause=%d)",
-              emm_ctx->ueid, emm_ctx->emm_cause);
-    /*
-     * Notify EMM-AS SAP that Tracking Area Update Reject message has to be sent
-     * onto the network
-     */
-    emm_sap.primitive = EMMAS_ESTABLISH_REJ;
-    emm_sap.u.emm_as.u.establish.ueid = emm_ctx->ueid;
-    emm_sap.u.emm_as.u.establish.UEid.guti = NULL;
-
-    if (emm_ctx->emm_cause == EMM_CAUSE_SUCCESS) {
-      emm_ctx->emm_cause = EMM_CAUSE_ILLEGAL_UE;
-    }
-
-    emm_sap.u.emm_as.u.establish.emm_cause = emm_ctx->emm_cause;
-    emm_sap.u.emm_as.u.establish.NASinfo = EMM_AS_NAS_INFO_TAU;
-    emm_sap.u.emm_as.u.establish.NASmsg.length = 0;
-    emm_sap.u.emm_as.u.establish.NASmsg.value = NULL;
-
-    /* Setup EPS NAS security data */
-    emm_as_set_security_data(&emm_sap.u.emm_as.u.establish.sctx,
-                             emm_ctx->security, FALSE, TRUE);
-    rc = emm_sap_send(&emm_sap);
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
diff --git a/openair-cn/NAS/MME/EMM/emmData.h b/openair-cn/NAS/MME/EMM/emmData.h
deleted file mode 100644
index e17214badbd9e07e455aefb204ad2d120bd0a78a..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/emmData.h
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      emmData.h
-
-Version     0.1
-
-Date        2012/10/18
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines internal private data handled by EPS Mobility
-        Management sublayer.
-
-*****************************************************************************/
-#ifndef __EMMDATA_H__
-#define __EMMDATA_H__
-
-#include "commonDef.h"
-#include "networkDef.h"
-#include "securityDef.h"
-
-#include "OctetString.h"
-#include "nas_timer.h"
-
-#include "esmData.h"
-
-#include "emm_fsm.h"
-#include "mme_api.h"
-# if defined(NAS_BUILT_IN_EPC)
-#   include "tree.h"
-# endif
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-
-/* Checks Mobile Country Code equality */
-#define MCCS_ARE_EQUAL(n1, n2)  (((n1).MCCdigit1 == (n2).MCCdigit1) && \
-                                 ((n1).MCCdigit2 == (n2).MCCdigit2) && \
-                                 ((n1).MCCdigit3 == (n2).MCCdigit3))
-
-/* Checks Mobile Network Code equality */
-#define MNCS_ARE_EQUAL(n1, n2)  (((n1).MNCdigit1 == (n2).MNCdigit1) &&  \
-                                 ((n1).MNCdigit2 == (n2).MNCdigit2) &&  \
-                                 ((n1).MNCdigit3 == (n2).MNCdigit3))
-
-/* Checks PLMNs equality */
-#define PLMNS_ARE_EQUAL(p1, p2) ((MCCS_ARE_EQUAL((p1),(p2))) && \
-                                 (MNCS_ARE_EQUAL((p1),(p2))))
-
-/* Checks TAIs equality */
-#define TAIS_ARE_EQUAL(t1, t2)  ((PLMNS_ARE_EQUAL((t1).plmn,(t2).plmn)) && \
-                                 ((t1).tac == (t2).tac))
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * EPS NAS security context handled by EPS Mobility Management sublayer in
- * the UE and in the MME
- * --------------------------------------------------------------------------
- */
-/* Type of security context */
-typedef enum {
-  EMM_KSI_NOT_AVAILABLE = 0,
-  EMM_KSI_NATIVE,
-  EMM_KSI_MAPPED
-} emm_ksi_t;
-
-/* EPS NAS security context structure */
-typedef struct emm_security_context_s {
-  emm_ksi_t type;     /* Type of security context        */
-  int eksi;           /* NAS key set identifier for E-UTRAN      */
-  OctetString kasme;      /* ASME security key (native context)      */
-  //OctetString ksgsn;    /* SGSN security key (mapped context)      */
-  OctetString knas_enc;   /* NAS cyphering key               */
-  OctetString knas_int;   /* NAS integrity key               */
-  struct count_s{
-    uint32_t spare:8;
-    uint32_t overflow:16;
-    uint32_t seq_num:8;
-  } dl_count, ul_count;   /* Downlink and uplink count parameters    */
-  struct {
-    uint8_t eps_encryption;   /* algorithm used for ciphering            */
-    uint8_t eps_integrity;    /* algorithm used for integrity protection */
-    uint8_t umts_encryption;  /* algorithm used for ciphering            */
-    uint8_t umts_integrity;   /* algorithm used for integrity protection */
-    uint8_t gprs_encryption;  /* algorithm used for ciphering            */
-    uint8_t umts_present:1;
-    uint8_t gprs_present:1;
-  } capability;       /* UE network capability           */
-  struct {
-    uint8_t encryption:4;   /* algorithm used for ciphering           */
-    uint8_t integrity:4;    /* algorithm used for integrity protection */
-  } selected_algorithms;       /* MME selected algorithms                */
-} emm_security_context_t;
-
-/*
- * --------------------------------------------------------------------------
- *  EMM internal data handled by EPS Mobility Management sublayer in the UE
- * --------------------------------------------------------------------------
- */
-
-/*
- * --------------------------------------------------------------------------
- *  EMM internal data handled by EPS Mobility Management sublayer in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * Structure of the EMM context established by the network for a particular UE
- * ---------------------------------------------------------------------------
- */
-typedef struct emm_data_context_s {
-#if defined(NAS_BUILT_IN_EPC)
-  RB_ENTRY(emm_data_context_s) entries;
-#endif
-
-  unsigned int ueid;        /* UE identifier                                   */
-  int          is_dynamic;  /* Dynamically allocated context indicator         */
-  int          is_attached; /* Attachment indicator                            */
-  int          is_emergency;/* Emergency bearer services indicator             */
-
-  imsi_t      *imsi;        /* The IMSI provided by the UE or the MME          */
-  imei_t      *imei;        /* The IMEI provided by the UE                     */
-  int          guti_is_new; /* New GUTI indicator                              */
-  GUTI_t      *guti;        /* The GUTI assigned to the UE                     */
-  GUTI_t      *old_guti;    /* The old GUTI                                    */
-  int          n_tacs;      /* Number of consecutive tracking areas the UE is
-                               * registered to                                   */
-  tac_t       tac;          /* Code of the first tracking area the UE is
-                               * registered to                                   */
-
-  int         ksi;          /* Security key set identifier provided by the UE  */
-  int         eea;          /* EPS encryption algorithms supported by the UE   */
-  int         eia;          /* EPS integrity algorithms supported by the UE    */
-  int         ucs2;         /* UCS2 Alphabet*/
-  int         uea;          /* UMTS encryption algorithms supported by the UE  */
-  int         uia;          /* UMTS integrity algorithms supported by the UE   */
-  int         gea;          /* GPRS encryption algorithms supported by the UE  */
-  int         umts_present; /* For encoding ue network capabilities (variable size)*/
-  int         gprs_present; /* For encoding ue network capabilities (variable size)*/
-
-  auth_vector_t vector;/* EPS authentication vector                            */
-  emm_security_context_t *security;    /* Current EPS NAS security context     */
-  OctetString esm_msg;      /* ESM message contained within the initial request*/
-  int         emm_cause;    /* EMM failure cause code                          */
-
-  emm_fsm_state_t    _emm_fsm_status;
-
-  struct nas_timer_t T3450;   /* EMM message retransmission timer */
-  struct nas_timer_t T3460;   /* Authentication timer         */
-  struct nas_timer_t T3470;   /* Identification timer         */
-
-  esm_data_context_t esm_data_ctx;
-} emm_data_context_t;
-
-/*
- * Structure of the EMM data
- * -------------------------
- */
-typedef struct emm_data_s {
-  /*
-   * MME configuration
-   * -----------------
-   */
-  mme_api_emm_config_t conf;
-  /*
-   * EMM contexts
-   * ------------
-   */
-# if defined(NAS_BUILT_IN_EPC)
-  /* Use a tree for ue data context within MME */
-  RB_HEAD(emm_data_context_map, emm_data_context_s) ctx_map;
-# else
-#   define EMM_DATA_NB_UE_MAX   (MME_API_NB_UE_MAX + 1)
-  emm_data_context_t *ctx [EMM_DATA_NB_UE_MAX];
-# endif
-} emm_data_t;
-
-struct emm_data_context_s *emm_data_context_get(
-  emm_data_t *_emm_data, unsigned int _ueid);
-
-struct emm_data_context_s *emm_data_context_remove(
-  emm_data_t *_emm_data, struct emm_data_context_s *elm);
-
-void emm_data_context_add(emm_data_t *emm_data, struct emm_data_context_s *elm);
-void emm_data_context_dump(struct emm_data_context_s *elm_pP);
-
-void emm_data_context_dump_all(void);
-
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *      EPS mobility management data (used within EMM only)
- * --------------------------------------------------------------------------
- */
-emm_data_t _emm_data;
-
-
-/*
- * --------------------------------------------------------------------------
- *      EPS mobility management timers – Network side
- * --------------------------------------------------------------------------
- */
-#define T3450_DEFAULT_VALUE 6   /* 6 seconds    */
-#define T3460_DEFAULT_VALUE 6   /* 6 seconds    */
-#define T3470_DEFAULT_VALUE 6   /* 6 seconds    */
-
-/*
- * mobile reachable timer
- * ----------------------
- * The network supervises the periodic tracking area updating procedure
- * of the UE by means of the mobile reachable timer.
- * If the UE is not attached for emergency bearer services, the mobile
- * reachable timer is 4 minutes greater than T3412.
- * If the UE is attached for emergency bearer services, the MME shall
- * set the mobile reachable timer with a value equal to T3412. When
- * the mobile reachable timer expires, the MME shall locally detach the UE.
- *
- * The mobile reachable timer shall be reset and started, when the MME
- * releases the NAS signalling connection for the UE. The mobile reachable
- * timer shall be stopped when a NAS signalling connection is established
- * for the UE.
- */
-
-/*
- * implicit detach timer
- * ---------------------
- * If ISR is activated, the default value of the implicit detach timer is
- * 4 minutes greater than T3423.
- * If the implicit detach timer expires before the UE contacts the network,
- * the network shall implicitly detach the UE.
- * If the MME includes timer T3346 in the TRACKING AREA UPDATE REJECT message
- * or the SERVICE REJECT message and T3346 is greater than T3412, the MME
- * sets the mobile reachable timer and the implicit detach timer such that
- * the sum of the timer values is greater than T3346.
- *
- * Upon expiry of the mobile reachable timer the network shall start the
- * implicit detach timer. The implicit detach timer shall be stopped when
- * a NAS signalling connection is established for the UE.
- */
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-#endif /* __EMMDATA_H__*/
diff --git a/openair-cn/NAS/MME/EMM/emm_data_ctx.c b/openair-cn/NAS/MME/EMM/emm_data_ctx.c
deleted file mode 100644
index 4030e08e95d43acf83943ab8fd3c4d811ee18da8..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/emm_data_ctx.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdlib.h>
-#include <string.h>
-
-#if defined(NAS_BUILT_IN_EPC)
-#include "assertions.h"
-#include "tree.h"
-#include "emmData.h"
-#include "nas_log.h"
-#include "security_types.h"
-
-static inline
-int emm_data_ctxt_compare_ueid(struct emm_data_context_s *p1,
-                               struct emm_data_context_s *p2);
-
-RB_PROTOTYPE(emm_data_context_map, emm_data_context_s, entries,
-             emm_data_ctxt_compare_ueid);
-
-/* Generate functions used for the MAP */
-RB_GENERATE(emm_data_context_map, emm_data_context_s, entries,
-            emm_data_ctxt_compare_ueid);
-
-static inline
-int emm_data_ctxt_compare_ueid(struct emm_data_context_s *p1,
-                               struct emm_data_context_s *p2)
-{
-  if (p1->ueid > p2->ueid) {
-    return 1;
-  }
-
-  if (p1->ueid < p2->ueid) {
-    return -1;
-  }
-
-  /* Matching reference -> return 0 */
-  return 0;
-}
-
-struct emm_data_context_s *emm_data_context_get(
-  emm_data_t *emm_data, unsigned int _ueid)
-{
-  struct emm_data_context_s reference;
-
-  DevAssert(emm_data != NULL);
-  DevCheck(_ueid > 0, _ueid, 0, 0);
-
-  memset(&reference, 0, sizeof(struct emm_data_context_s));
-  reference.ueid = _ueid;
-  return RB_FIND(emm_data_context_map, &emm_data->ctx_map, &reference);
-}
-
-struct emm_data_context_s *emm_data_context_remove(
-  emm_data_t *emm_data, struct emm_data_context_s *elm)
-{
-  LOG_TRACE(INFO, "EMM-CTX - Remove in context %p UE id "NAS_UE_ID_FMT" ", elm, elm->ueid);
-  return RB_REMOVE(emm_data_context_map, &emm_data->ctx_map, elm);
-}
-
-void emm_data_context_add(emm_data_t *emm_data, struct emm_data_context_s *elm)
-{
-  LOG_TRACE(INFO, "EMM-CTX - Add in context %p UE id "NAS_UE_ID_FMT" ", elm, elm->ueid);
-  RB_INSERT(emm_data_context_map, &emm_data->ctx_map, elm);
-}
-
-void emm_data_context_dump(struct emm_data_context_s *elm_pP)
-{
-  if (elm_pP != NULL) {
-	    char imsi_str[16];
-	    char guti_str[22];
-	    int k, size, remaining_size;
-        char key_string[KASME_LENGTH_OCTETS*2];
-	    LOG_TRACE(INFO, "EMM-CTX: ue id:           "NAS_UE_ID_FMT" (UE identifier)",                     elm_pP->ueid);
-	    LOG_TRACE(INFO, "         is_dynamic:       %u      (Dynamically allocated context indicator)", elm_pP->is_dynamic);
-	    LOG_TRACE(INFO, "         is_attached:      %u      (Attachment indicator)",                    elm_pP->is_attached);
-	    LOG_TRACE(INFO, "         is_emergency:     %u      (Emergency bearer services indicator)",     elm_pP->is_emergency);
-	    NAS_IMSI2STR(elm_pP->imsi, imsi_str, 16);
-	    LOG_TRACE(INFO, "         imsi:             %s      (The IMSI provided by the UE or the MME)",  imsi_str);
-	    LOG_TRACE(INFO, "         imei:             TODO    (The IMEI provided by the UE)");
-	    LOG_TRACE(INFO, "         guti_is_new:      %u      (New GUTI indicator)",                      elm_pP->guti_is_new);
-	    GUTI2STR(elm_pP->guti, guti_str, 22);
-	    LOG_TRACE(INFO, "         guti:             %s      (The GUTI assigned to the UE)",             guti_str);
-	    GUTI2STR(elm_pP->old_guti, guti_str, 22);
-	    LOG_TRACE(INFO, "         old_guti:         %s      (The old GUTI)",                            guti_str);
-	    LOG_TRACE(INFO, "         n_tacs:           %u      (Number of consecutive tracking areas the UE is registered to)", elm_pP->n_tacs);
-	    LOG_TRACE(INFO, "         tac:              0x%04x  (Code of the first tracking area the UE is registered to)",      elm_pP->n_tacs);
-	    LOG_TRACE(INFO, "         ksi:              %u      (Security key set identifier provided by the UE)",               elm_pP->ksi);
-
-	    LOG_TRACE(INFO, "         auth_vector:              (EPS authentication vector)");
-	    LOG_TRACE(INFO, "             kasme: "KASME_FORMAT""KASME_FORMAT, KASME_DISPLAY_1(elm_pP->vector.kasme), KASME_DISPLAY_2(elm_pP->vector.kasme));
-	    LOG_TRACE(INFO, "             rand:  "RAND_FORMAT, RAND_DISPLAY(elm_pP->vector.rand));
-	    LOG_TRACE(INFO, "             autn:  "AUTN_FORMAT, AUTN_DISPLAY(elm_pP->vector.autn));
-        for (k = 0; k < XRES_LENGTH_MAX; k++) {sprintf(&key_string[k * 3], "%02x,", elm_pP->vector.xres[k]);}
-        key_string[k * 3 - 1] = '\0';
-	    LOG_TRACE(INFO, "             xres:  %s\n", key_string);
-
-	    if (elm_pP->security != NULL) {
-		  LOG_TRACE(INFO, "         security context:          (Current EPS NAS security context)");
-	      LOG_TRACE(INFO, "             type:  %s              (Type of security context)",
-	    		(elm_pP->security->type == EMM_KSI_NOT_AVAILABLE)?"KSI_NOT_AVAILABLE":(elm_pP->security->type == EMM_KSI_NATIVE)?"KSI_NATIVE":"KSI_MAPPED");
-	      LOG_TRACE(INFO, "             eksi:  %u              (NAS key set identifier for E-UTRAN)", elm_pP->security->eksi);
-
-	      if (elm_pP->security->kasme.length > 0) {
-	    	size = 0;
-		    size = 0;remaining_size=KASME_LENGTH_OCTETS*2;
-	        for (k = 0; k < elm_pP->security->kasme.length; k++) {
-	          size +=snprintf(&key_string[size], remaining_size, "0x%x ", elm_pP->security->kasme.value[k]);
-	          remaining_size -= size;
-	        }
-	      } else {
-	          size +=snprintf(&key_string[0], remaining_size, "None");
-	      }
-		  LOG_TRACE(INFO, "             kasme: %s     (ASME security key (native context))", key_string);
-	      if (elm_pP->security->knas_enc.length > 0) {
-		    size = 0;
-		    size = 0;remaining_size=KASME_LENGTH_OCTETS*2;
-	        for (k = 0; k < elm_pP->security->knas_enc.length; k++) {
-	          size +=snprintf(&key_string[size], remaining_size, "0x%x ", elm_pP->security->knas_enc.value[k]);
-	          remaining_size -= size;
-	        }
-	      } else {
-	          size +=snprintf(&key_string[0], remaining_size, "None");
-	      }
-		  LOG_TRACE(INFO, "             knas_enc: %s     (NAS cyphering key)", key_string);
-	      if (elm_pP->security->knas_int.length > 0) {
-		    size = 0;remaining_size=KASME_LENGTH_OCTETS*2;
-	        for (k = 0; k < elm_pP->security->knas_int.length; k++) {
-	          size +=snprintf(&key_string[size], remaining_size, "0x%x ", elm_pP->security->knas_int.value[k]);
-	          remaining_size -= size;
-	        }
-	      } else {
-	          size +=snprintf(&key_string[0], remaining_size, "None");
-	      }
-		  LOG_TRACE(INFO, "             knas_int: %s     (NAS integrity key)", key_string);
-	      LOG_TRACE(INFO, "             dl_count.overflow: %u     ", elm_pP->security->dl_count.overflow);
-	      LOG_TRACE(INFO, "             dl_count.seq_num:  %u     ", elm_pP->security->dl_count.seq_num);
-	      LOG_TRACE(INFO, "             ul_count.overflow: %u     ", elm_pP->security->ul_count.overflow);
-	      LOG_TRACE(INFO, "             ul_count.seq_num:  %u     ", elm_pP->security->ul_count.seq_num);
-	      LOG_TRACE(INFO, "             TODO  capability");
-	      LOG_TRACE(INFO, "             selected_algorithms.encryption:  %x     ", elm_pP->security->selected_algorithms.encryption);
-	      LOG_TRACE(INFO, "             selected_algorithms.integrity:   %x     ", elm_pP->security->selected_algorithms.integrity);
-	    } else {
-		  LOG_TRACE(INFO, "         No security context");
-	    }
-	    LOG_TRACE(INFO, "         _emm_fsm_status     %u   ", elm_pP->_emm_fsm_status);
-	    LOG_TRACE(INFO, "         TODO  esm_data_ctx");
-  }
-}
-
-void emm_data_context_dump_all(void)
-{
-  struct emm_data_context_s *elm_p = NULL;
-  LOG_TRACE(INFO, "EMM-CTX - Dump all contexts:");
-  RB_FOREACH(elm_p, emm_data_context_map,&_emm_data.ctx_map) {
-	  emm_data_context_dump(elm_p);
-  }
-}
-#endif
diff --git a/openair-cn/NAS/MME/EMM/emm_main.c b/openair-cn/NAS/MME/EMM/emm_main.c
deleted file mode 100644
index c90a7836f51ccb9481e920474da3d02d0aedbbbc..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/emm_main.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      emm_main.c
-
-Version     0.1
-
-Date        2012/10/10
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EPS Mobility Management procedure call manager,
-        the main entry point for elementary EMM processing.
-
-*****************************************************************************/
-
-#include "emm_main.h"
-#include "nas_log.h"
-#include "emmData.h"
-
-
-#if defined(NAS_BUILT_IN_EPC)
-# include "mme_config.h"
-#endif
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_main_initialize()                                     **
- **                                                                        **
- ** Description: Initializes EMM internal data                             **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    _emm_data                                  **
- **                                                                        **
- ***************************************************************************/
-#if defined(NAS_BUILT_IN_EPC)
-void emm_main_initialize(mme_config_t *mme_config_p)
-#else
-void emm_main_initialize(void)
-#endif
-{
-  LOG_FUNC_IN;
-
-  /* Retreive MME supported configuration data */
-#if defined(NAS_BUILT_IN_EPC)
-
-  if (mme_api_get_emm_config(&_emm_data.conf, mme_config_p) != RETURNok)
-#else
-  if (mme_api_get_emm_config(&_emm_data.conf) != RETURNok)
-#endif
-  {
-    LOG_TRACE(ERROR, "EMM-MAIN  - Failed to get MME configuration data");
-  }
-
-#if defined(NAS_BUILT_IN_EPC)
-  RB_INIT(&_emm_data.ctx_map);
-#endif
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    emm_main_cleanup()                                        **
- **                                                                        **
- ** Description: Performs the EPS Mobility Management clean up procedure   **
- **                                                                        **
- ** Inputs:  None                                                      **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **          Return:    None                                       **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-void emm_main_cleanup(void)
-{
-  LOG_FUNC_IN;
-
-
-  LOG_FUNC_OUT;
-}
-
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-
diff --git a/openair-cn/NAS/MME/EMM/emm_main.h b/openair-cn/NAS/MME/EMM/emm_main.h
deleted file mode 100644
index ac3772a24f10da7b0baeb8d6785f9ab30da6fd57..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/emm_main.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      emm_main.h
-
-Version     0.1
-
-Date        2012/10/10
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EPS Mobility Management procedure call manager,
-        the main entry point for elementary EMM processing.
-
-*****************************************************************************/
-#ifndef __EMM_MAIN_H__
-#define __EMM_MAIN_H__
-
-#if defined(NAS_BUILT_IN_EPC)
-# include "mme_config.h"
-#endif
-
-#include "commonDef.h"
-#include "networkDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-# if defined(NAS_BUILT_IN_EPC)
-void emm_main_initialize(mme_config_t *mme_config_p);
-# else
-void emm_main_initialize(void);
-# endif
-void emm_main_cleanup(void);
-
-
-
-#endif /* __EMM_MAIN_H__*/
diff --git a/openair-cn/NAS/MME/EMM/emm_proc.h b/openair-cn/NAS/MME/EMM/emm_proc.h
deleted file mode 100644
index d7892a03b1bef4abedd6c995e14588137ba065f4..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/EMM/emm_proc.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      emm_proc.h
-
-Version     0.1
-
-Date        2012/10/16
-
-Product     NAS stack
-
-Subsystem   EPS Mobility Management
-
-Author      Frederic Maurel
-
-Description Defines the EPS Mobility Management procedures executed at
-        the EMM Service Access Points.
-
-*****************************************************************************/
-#ifndef __EMM_PROC_H__
-#define __EMM_PROC_H__
-
-#include "commonDef.h"
-#include "OctetString.h"
-
-#include "EmmCommon.h"
-#include "emmData.h"
-
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/* Type of network attachment */
-typedef enum {
-  EMM_ATTACH_TYPE_EPS = 0,
-  EMM_ATTACH_TYPE_IMSI,
-  EMM_ATTACH_TYPE_EMERGENCY,
-  EMM_ATTACH_TYPE_RESERVED,
-} emm_proc_attach_type_t;
-
-/* Type of network detach */
-typedef enum {
-  EMM_DETACH_TYPE_EPS = 0,
-  EMM_DETACH_TYPE_IMSI,
-  EMM_DETACH_TYPE_EPS_IMSI,
-  EMM_DETACH_TYPE_REATTACH,
-  EMM_DETACH_TYPE_NOT_REATTACH,
-  EMM_DETACH_TYPE_RESERVED,
-} emm_proc_detach_type_t;
-
-/* Type of requested identity */
-typedef enum {
-  EMM_IDENT_TYPE_NOT_AVAILABLE = 0,
-  EMM_IDENT_TYPE_IMSI,
-  EMM_IDENT_TYPE_IMEI,
-  EMM_IDENT_TYPE_IMEISV,
-  EMM_IDENT_TYPE_TMSI
-} emm_proc_identity_type_t;
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- *---------------------------------------------------------------------------
- *              EMM status procedure
- *---------------------------------------------------------------------------
- */
-int emm_proc_status_ind(unsigned int ueid, int emm_cause);
-int emm_proc_status(unsigned int ueid, int emm_cause);
-
-/*
- *---------------------------------------------------------------------------
- *              Lower layer procedure
- *---------------------------------------------------------------------------
- */
-
-
-/*
- *---------------------------------------------------------------------------
- *              UE's Idle mode procedure
- *---------------------------------------------------------------------------
- */
-
-
-/*
- * --------------------------------------------------------------------------
- *              Attach procedure
- * --------------------------------------------------------------------------
- */
-
-
-int emm_proc_attach_request(unsigned int ueid, emm_proc_attach_type_t type,
-                            int native_ksi, int ksi, int native_guti, GUTI_t *guti, imsi_t *imsi,
-                            imei_t *imei, tai_t *tai, int eea, int eia, int ucs2, int uea, int uia, int gea,
-                            int umts_present, int gprs_present, const OctetString *esm_msg);
-int emm_proc_attach_reject(unsigned int ueid, int emm_cause);
-int emm_proc_attach_complete(unsigned int ueid, const OctetString *esm_msg);
-int emm_proc_tracking_area_update_reject(unsigned int ueid, int emm_cause);
-
-/*
- * --------------------------------------------------------------------------
- *              Detach procedure
- * --------------------------------------------------------------------------
- */
-
-int emm_proc_detach(unsigned int ueid, emm_proc_detach_type_t type);
-int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type,
-                            int switch_off, int native_ksi, int ksi, GUTI_t *guti, imsi_t *imsi,
-                            imei_t *imei);
-
-/*
- * --------------------------------------------------------------------------
- *              Identification procedure
- * --------------------------------------------------------------------------
- */
-int emm_proc_identification(unsigned int                   ueid,
-                            emm_data_context_t            *emm_ctx,
-                            emm_proc_identity_type_t       type,
-                            emm_common_success_callback_t  success,
-                            emm_common_reject_callback_t   reject,
-                            emm_common_failure_callback_t  failure);
-int emm_proc_identification_complete(unsigned int ueid, const imsi_t *imsi,
-                                     const imei_t *imei, uint32_t *tmsi);
-
-/*
- * --------------------------------------------------------------------------
- *              Authentication procedure
- * --------------------------------------------------------------------------
- */
-
-int emm_proc_authentication(void *ctx, unsigned int ueid, int ksi,
-                            const OctetString *_rand, const OctetString *autn,
-                            emm_common_success_callback_t success,
-                            emm_common_reject_callback_t reject,
-                            emm_common_failure_callback_t failure);
-int emm_proc_authentication_complete(unsigned int ueid, int emm_cause,
-                                     const OctetString *res);
-
-int emm_attach_security(void *args);
-
-/*
- * --------------------------------------------------------------------------
- *          Security mode control procedure
- * --------------------------------------------------------------------------
- */
-
-int emm_proc_security_mode_control(unsigned int ueid, int ksi,
-                                   int eea, int eia,int ucs2, int uea, int uia, int gea,
-                                   int umts_present, int gprs_present,
-                                   emm_common_success_callback_t success,
-                                   emm_common_reject_callback_t reject,
-                                   emm_common_failure_callback_t failure);
-int emm_proc_security_mode_complete(unsigned int ueid);
-int emm_proc_security_mode_reject(unsigned int ueid);
-
-/*
- *---------------------------------------------------------------------------
- *             Network indication handlers
- *---------------------------------------------------------------------------
- */
-
-
-#endif /* __EMM_PROC_H__*/
diff --git a/openair-cn/NAS/MME/ESM/COPYING b/openair-cn/NAS/MME/ESM/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/NAS/MME/ESM/DedicatedEpsBearerContextActivation.c b/openair-cn/NAS/MME/ESM/DedicatedEpsBearerContextActivation.c
deleted file mode 100644
index 813b29770d663b6ff976ffe0cb31c7bb421c6dc3..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/DedicatedEpsBearerContextActivation.c
+++ /dev/null
@@ -1,442 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      DedicatedEpsBearerContextActivation.c
-
-Version     0.1
-
-Date        2013/07/16
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the dedicated EPS bearer context activation ESM
-        procedure executed by the Non-Access Stratum.
-
-        The purpose of the dedicated EPS bearer context activation
-        procedure is to establish an EPS bearer context with specific
-        QoS and TFT between the UE and the EPC.
-
-        The procedure is initiated by the network, but may be requested
-        by the UE by means of the UE requested bearer resource alloca-
-        tion procedure or the UE requested bearer resource modification
-        procedure.
-        It can be part of the attach procedure or be initiated together
-        with the default EPS bearer context activation procedure when
-        the UE initiated stand-alone PDN connectivity procedure.
-
-*****************************************************************************/
-
-#include "esm_proc.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "esm_cause.h"
-#include "esm_ebr.h"
-#include "esm_ebr_context.h"
-
-#include "emm_sap.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Internal data handled by the dedicated EPS bearer context activation
- * procedure in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * Timer handlers
- */
-static void *_dedicated_eps_bearer_activate_t3485_handler(void *);
-
-/* Maximum value of the activate dedicated EPS bearer context request
- * retransmission counter */
-#define DEDICATED_EPS_BEARER_ACTIVATE_COUNTER_MAX   5
-
-static int _dedicated_eps_bearer_activate(emm_data_context_t *ctx, int ebi,
-    const OctetString *msg);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *    Dedicated EPS bearer context activation procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_dedicated_eps_bearer_context()                   **
- **                                                                        **
- ** Description: Allocates resources required for activation of a dedica-  **
- **      ted EPS bearer context.                                   **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **          pid:       PDN connection identifier                  **
- **      esm_qos:   EPS bearer level QoS parameters            **
- **      tft:       Traffic flow template parameters           **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     ebi:       EPS bearer identity assigned to the new    **
- **             dedicated bearer context                   **
- **      default_ebi:   EPS bearer identity of the associated de-  **
- **             fault EPS bearer context                   **
- **      esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_dedicated_eps_bearer_context(emm_data_context_t *ctx, int pid,
-    unsigned int *ebi,
-    unsigned int *default_ebi,
-    const esm_proc_qos_t *qos,
-    const esm_proc_tft_t *tft,
-    int *esm_cause)
-{
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "ESM-PROC  - Dedicated EPS bearer context activation "
-            "(ueid="NAS_UE_ID_FMT", pid=%d)", ctx->ueid, pid);
-
-  /* Assign new EPS bearer context */
-  *ebi = esm_ebr_assign(ctx, ESM_EBI_UNASSIGNED);
-
-  if (*ebi != ESM_EBI_UNASSIGNED) {
-    /* Create dedicated EPS bearer context */
-    *default_ebi = esm_ebr_context_create(ctx, pid, *ebi, FALSE, qos, tft);
-
-    if (*default_ebi == ESM_EBI_UNASSIGNED) {
-      /* No resource available */
-      LOG_TRACE(WARNING, "ESM-PROC  - Failed to create dedicated EPS "
-                "bearer context (ebi=%d)", *ebi);
-      *esm_cause = ESM_CAUSE_INSUFFICIENT_RESOURCES;
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-
-    LOG_FUNC_RETURN (RETURNok);
-  }
-
-  LOG_TRACE(WARNING, "ESM-PROC  - Failed to assign new EPS bearer context");
-  *esm_cause = ESM_CAUSE_INSUFFICIENT_RESOURCES;
-  LOG_FUNC_RETURN (RETURNerror);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_dedicated_eps_bearer_context_request()           **
- **                                                                        **
- ** Description: Initiates the dedicated EPS bearer context activation pro-**
- **      cedure                                                    **
- **                                                                        **
- **      3GPP TS 24.301, section 6.4.2.2                           **
- **      The MME initiates the dedicated EPS bearer context activa-**
- **      tion procedure by sending an ACTIVATE DEDICATED EPS BEA-  **
- **      RER CONTEXT REQUEST message, starting timer T3485 and en- **
- **      tering state BEARER CONTEXT ACTIVE PENDING.               **
- **                                                                        **
- ** Inputs:  is_standalone: Not used (always TRUE)                     **
- **      ueid:      UE lower layer identifier                  **
- **      ebi:       EPS bearer identity                        **
- **      msg:       Encoded ESM message to be sent             **
- **      ue_triggered:  TRUE if the EPS bearer context procedure   **
- **             was triggered by the UE                    **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_dedicated_eps_bearer_context_request(int is_standalone,
-    emm_data_context_t *ctx, int ebi,
-    OctetString *msg, int ue_triggered)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNok;
-
-  LOG_TRACE(INFO,"ESM-PROC  - Initiate dedicated EPS bearer context "
-            "activation (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-
-  /* Send activate dedicated EPS bearer context request message and
-   * start timer T3485 */
-  rc = _dedicated_eps_bearer_activate(ctx, ebi, msg);
-
-  if (rc != RETURNerror) {
-    /* Set the EPS bearer context state to ACTIVE PENDING */
-    rc = esm_ebr_set_status(ctx, ebi, ESM_EBR_ACTIVE_PENDING, ue_triggered);
-
-    if (rc != RETURNok) {
-      /* The EPS bearer context was already in ACTIVE PENDING state */
-      LOG_TRACE(WARNING, "ESM-PROC  - EBI %d was already ACTIVE PENDING",
-                ebi);
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_dedicated_eps_bearer_context_accept()            **
- **                                                                        **
- ** Description: Performs dedicated EPS bearer context activation procedu- **
- **      re accepted by the UE.                                    **
- **                                                                        **
- **      3GPP TS 24.301, section 6.4.2.3                           **
- **      Upon receipt of the ACTIVATE DEDICATED EPS BEARER CONTEXT **
- **      ACCEPT message, the MME shall stop the timer T3485 and    **
- **      enter the state BEARER CONTEXT ACTIVE.                    **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      ebi:       EPS bearer identity                        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_dedicated_eps_bearer_context_accept(emm_data_context_t *ctx, int ebi,
-    int *esm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  LOG_TRACE(INFO, "ESM-PROC  - Dedicated EPS bearer context activation "
-            "accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-
-  /* Stop T3485 timer */
-  rc = esm_ebr_stop_timer(ctx, ebi);
-
-  if (rc != RETURNerror) {
-    /* Set the EPS bearer context state to ACTIVE */
-    rc = esm_ebr_set_status(ctx, ebi, ESM_EBR_ACTIVE, FALSE);
-
-    if (rc != RETURNok) {
-      /* The EPS bearer context was already in ACTIVE state */
-      LOG_TRACE(WARNING, "ESM-PROC  - EBI %d was already ACTIVE", ebi);
-      *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_dedicated_eps_bearer_context_reject()            **
- **                                                                        **
- ** Description: Performs dedicated EPS bearer context activation procedu- **
- **      re not accepted by the UE.                                **
- **                                                                        **
- **      3GPP TS 24.301, section 6.4.2.4                           **
- **      Upon receipt of the ACTIVATE DEDICATED EPS BEARER CONTEXT **
- **      REJECT message, the MME shall stop the timer T3485, enter **
- **      the state BEARER CONTEXT INACTIVE and abort the dedicated **
- **      EPS bearer context activation procedure.                  **
- **      The MME also requests the lower layer to release the ra-  **
- **      dio resources that were established during the dedicated  **
- **      EPS bearer context activation.                            **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      ebi:       EPS bearer identity                        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_dedicated_eps_bearer_context_reject(emm_data_context_t *ctx, int ebi,
-    int *esm_cause)
-{
-  int rc;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(WARNING, "ESM-PROC  - Dedicated EPS bearer context activation "
-            "not accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-
-  /* Stop T3485 timer if running */
-  rc = esm_ebr_stop_timer(ctx, ebi);
-
-  if (rc != RETURNerror) {
-    int pid, bid;
-    /* Release the dedicated EPS bearer context and enter state INACTIVE */
-    rc = esm_proc_eps_bearer_context_deactivate(ctx, TRUE, ebi,
-         &pid, &bid, NULL);
-
-    if (rc != RETURNok) {
-      /* Failed to release the dedicated EPS bearer context */
-      *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *              Timer handlers
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    _dedicated_eps_bearer_activate_t3485_handler()            **
- **                                                                        **
- ** Description: T3485 timeout handler                                     **
- **                                                                        **
- **              3GPP TS 24.301, section 6.4.2.6, case a                   **
- **      On the first expiry of the timer T3485, the MME shall re- **
- **      send the ACTIVATE DEDICATED EPS BEARER CONTEXT REQUEST    **
- **      and shall reset and restart timer T3485. This retransmis- **
- **      sion is repeated four times, i.e. on the fifth expiry of  **
- **      timer T3485, the MME shall abort the procedure, release   **
- **      any resources allocated for this activation and enter the **
- **      state BEARER CONTEXT INACTIVE.                            **
- **                                                                        **
- ** Inputs:  args:      handler parameters                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void *_dedicated_eps_bearer_activate_t3485_handler(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  /* Get retransmission timer parameters data */
-  esm_ebr_timer_data_t *data = (esm_ebr_timer_data_t *)(args);
-
-  /* Increment the retransmission counter */
-  data->count += 1;
-
-  LOG_TRACE(WARNING, "ESM-PROC  - T3485 timer expired (ueid="NAS_UE_ID_FMT", ebi=%d), "
-            "retransmission counter = %d",
-            data->ueid, data->ebi, data->count);
-
-  if (data->count < DEDICATED_EPS_BEARER_ACTIVATE_COUNTER_MAX) {
-    /* Re-send activate dedicated EPS bearer context request message
-     * to the UE */
-    rc = _dedicated_eps_bearer_activate(data->ctx, data->ebi, &data->msg);
-  } else {
-    /*
-     * The maximum number of activate dedicated EPS bearer context request
-     * message retransmission has exceed
-     */
-    int pid, bid;
-    /* Release the dedicated EPS bearer context and enter state INACTIVE */
-    rc = esm_proc_eps_bearer_context_deactivate(data->ctx, TRUE,
-         data->ebi, &pid, &bid,
-         NULL);
-
-    if (rc != RETURNerror) {
-      /* Stop timer T3485 */
-      rc = esm_ebr_stop_timer(data->ctx, data->ebi);
-    }
-  }
-
-  LOG_FUNC_RETURN (NULL);
-}
-
-/*
- * --------------------------------------------------------------------------
- *              MME specific local functions
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _dedicated_eps_bearer_activate()                          **
- **                                                                        **
- ** Description: Sends ACTIVATE DEDICATED EPS BEREAR CONTEXT REQUEST mes-  **
- **      sage and starts timer T3485                               **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      ebi:       EPS bearer identity                        **
- **      msg:       Encoded ESM message to be sent             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3485                                      **
- **                                                                        **
- ***************************************************************************/
-static int _dedicated_eps_bearer_activate(emm_data_context_t *ctx, int ebi,
-    const OctetString *msg)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  /*
-   * Notify EMM that an activate dedicated EPS bearer context request
-   * message has to be sent to the UE
-   */
-  emm_esm_data_t *emm_esm = &emm_sap.u.emm_esm.u.data;
-  emm_sap.primitive = EMMESM_UNITDATA_REQ;
-  emm_sap.u.emm_esm.ueid = ctx->ueid;
-  emm_sap.u.emm_esm.ctx  = ctx;
-  emm_esm->msg = *msg;
-  rc = emm_sap_send(&emm_sap);
-
-  if (rc != RETURNerror) {
-    /* Start T3485 retransmission timer */
-    rc = esm_ebr_start_timer(ctx, ebi, msg, T3485_DEFAULT_VALUE,
-                             _dedicated_eps_bearer_activate_t3485_handler);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
diff --git a/openair-cn/NAS/MME/ESM/DefaultEpsBearerContextActivation.c b/openair-cn/NAS/MME/ESM/DefaultEpsBearerContextActivation.c
deleted file mode 100644
index 831fc3327d257d4f5f6761eb3042b1b144ad0805..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/DefaultEpsBearerContextActivation.c
+++ /dev/null
@@ -1,497 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      DefaultEpsBearerContextActivation.c
-
-Version     0.1
-
-Date        2013/01/28
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the default EPS bearer context activation ESM
-        procedure executed by the Non-Access Stratum.
-
-        The purpose of the default bearer context activation procedure
-        is to establish a default EPS bearer context between the UE
-        and the EPC.
-
-        The procedure is initiated by the network as a response to
-        the PDN CONNECTIVITY REQUEST message received from the UE.
-        It can be part of the attach procedure.
-
-*****************************************************************************/
-
-#include "esm_proc.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "esm_cause.h"
-#include "esm_ebr.h"
-#include "esm_ebr_context.h"
-
-#include "emm_sap.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-/*
- * --------------------------------------------------------------------------
- * Internal data handled by the default EPS bearer context activation
- * procedure in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * Timer handlers
- */
-static void *_default_eps_bearer_activate_t3485_handler(void *);
-
-/* Maximum value of the activate default EPS bearer context request
- * retransmission counter */
-#define DEFAULT_EPS_BEARER_ACTIVATE_COUNTER_MAX 5
-
-static int _default_eps_bearer_activate(emm_data_context_t *ctx, int ebi,
-                                        const OctetString *msg);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *    Default EPS bearer context activation procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_default_eps_bearer_context()                     **
- **                                                                        **
- ** Description: Allocates resources required for activation of a default  **
- **      EPS bearer context.                                       **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **          pid:       PDN connection identifier                  **
- **      qos:       EPS bearer level QoS parameters            **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     ebi:       EPS bearer identity assigned to the de-    **
- **             fault EPS bearer context                   **
- **      esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_default_eps_bearer_context(emm_data_context_t *ctx, int pid,
-                                        unsigned int *ebi,
-                                        const esm_proc_qos_t *qos,
-                                        int *esm_cause)
-{
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "ESM-PROC  - Default EPS bearer context activation "
-            "(ueid="NAS_UE_ID_FMT", pid=%d, GBR UL %u GBR DL %u, MBR UL %u MBR DL %u QCI %u)",
-            ctx->ueid,
-            pid,
-            qos->gbrUL,
-            qos->gbrDL,
-            qos->mbrUL,
-            qos->mbrDL,
-            qos->qci);
-
-  /* Assign new EPS bearer context */
-  *ebi = esm_ebr_assign(ctx, ESM_EBI_UNASSIGNED);
-
-  if (*ebi != ESM_EBI_UNASSIGNED) {
-    /* Create default EPS bearer context */
-    *ebi = esm_ebr_context_create(ctx, pid, *ebi, TRUE, qos, NULL);
-
-    if (*ebi == ESM_EBI_UNASSIGNED) {
-      /* No resource available */
-      LOG_TRACE(WARNING, "ESM-PROC  - Failed to create new default EPS "
-                "bearer context (ebi=%d)", *ebi);
-      *esm_cause = ESM_CAUSE_INSUFFICIENT_RESOURCES;
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-
-    LOG_FUNC_RETURN (RETURNok);
-  }
-
-  LOG_TRACE(WARNING, "ESM-PROC  - Failed to assign new EPS bearer context");
-  *esm_cause = ESM_CAUSE_INSUFFICIENT_RESOURCES;
-  LOG_FUNC_RETURN (RETURNerror);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_default_eps_bearer_context_request()             **
- **                                                                        **
- ** Description: Initiates the default EPS bearer context activation pro-  **
- **      cedure                                                    **
- **                                                                        **
- **      3GPP TS 24.301, section 6.4.1.2                           **
- **      The MME initiates the default EPS bearer context activa-  **
- **      tion procedure by sending an ACTIVATE DEFAULT EPS BEARER  **
- **      CONTEXT REQUEST message, starting timer T3485 and ente-   **
- **      ring state BEARER CONTEXT ACTIVE PENDING.                 **
- **                                                                        **
- ** Inputs:  is_standalone: Indicate whether the default bearer is     **
- **             activated as part of the attach procedure  **
- **             or as the response to a stand-alone PDN    **
- **             CONNECTIVITY REQUEST message               **
- **      ueid:      UE lower layer identifier                  **
- **      ebi:       EPS bearer identity                        **
- **      msg:       Encoded ESM message to be sent             **
- **      ue_triggered:  TRUE if the EPS bearer context procedure   **
- **             was triggered by the UE                    **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_default_eps_bearer_context_request(int is_standalone,
-    emm_data_context_t *ctx, int ebi,
-    OctetString *msg, int ue_triggered)
-{
-  int rc = RETURNok;
-
-  LOG_FUNC_IN;
-
-
-  if (is_standalone) {
-    /* Send activate default EPS bearer context request message and
-     * start timer T3485 */
-    LOG_TRACE(INFO,"ESM-PROC  - Initiate standalone default EPS bearer context activation "
-              "(ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-    rc = _default_eps_bearer_activate(ctx, ebi, msg);
-  } else {
-    LOG_TRACE(INFO,"ESM-PROC  - Initiate non standalone default EPS bearer context activation "
-              "(ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-  }
-
-  if (rc != RETURNerror) {
-    /* Set the EPS bearer context state to ACTIVE PENDING */
-    rc = esm_ebr_set_status(ctx, ebi, ESM_EBR_ACTIVE_PENDING, ue_triggered);
-
-    if (rc != RETURNok) {
-      /* The EPS bearer context was already in ACTIVE PENDING state */
-      LOG_TRACE(WARNING, "ESM-PROC  - EBI %d was already ACTIVE PENDING",
-                ebi);
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_default_eps_bearer_context_accept()              **
- **                                                                        **
- ** Description: Performs default EPS bearer context activation procedure  **
- **      accepted by the UE.                                       **
- **                                                                        **
- **      3GPP TS 24.301, section 6.4.1.3                           **
- **      Upon receipt of the ACTIVATE DEFAULT EPS BEARER CONTEXT   **
- **      ACCEPT message, the MME shall enter the state BEARER CON- **
- **      TEXT ACTIVE and stop the timer T3485, if it is running.   **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      ebi:       EPS bearer identity                        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_default_eps_bearer_context_accept(emm_data_context_t *ctx, int ebi,
-    int *esm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  LOG_TRACE(INFO, "ESM-PROC  - Default EPS bearer context activation "
-            "accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-
-  /* Stop T3485 timer if running */
-  rc = esm_ebr_stop_timer(ctx, ebi);
-
-  if (rc != RETURNerror) {
-    /* Set the EPS bearer context state to ACTIVE */
-    rc = esm_ebr_set_status(ctx, ebi, ESM_EBR_ACTIVE, FALSE);
-
-    if (rc != RETURNok) {
-      /* The EPS bearer context was already in ACTIVE state */
-      LOG_TRACE(WARNING, "ESM-PROC  - EBI %d was already ACTIVE", ebi);
-      *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_default_eps_bearer_context_reject()              **
- **                                                                        **
- ** Description: Performs default EPS bearer context activation procedure  **
- **      not accepted by the UE.                                   **
- **                                                                        **
- **      3GPP TS 24.301, section 6.4.1.4                           **
- **      Upon receipt of the ACTIVATE DEFAULT EPS BEARER CONTEXT   **
- **      REJECT message, the MME shall enter the state BEARER CON- **
- **      TEXT INACTIVE and stop the timer T3485, if it is running. **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      ebi:       EPS bearer identity                        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_default_eps_bearer_context_reject(emm_data_context_t *ctx, int ebi,
-    int *esm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  LOG_TRACE(WARNING, "ESM-PROC  - Default EPS bearer context activation "
-            "not accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-
-  /* Stop T3485 timer if running */
-  rc = esm_ebr_stop_timer(ctx, ebi);
-
-  if (rc != RETURNerror) {
-    int pid, bid;
-    /* Release the default EPS bearer context and enter state INACTIVE */
-    rc = esm_proc_eps_bearer_context_deactivate(ctx, TRUE, ebi,
-         &pid, &bid, NULL);
-
-    if (rc != RETURNok) {
-      /* Failed to release the default EPS bearer context */
-      *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_default_eps_bearer_context_failure()             **
- **                                                                        **
- ** Description: Performs default EPS bearer context activation procedure  **
- **      upon receiving notification from the EPS Mobility Manage- **
- **      ment sublayer that EMM procedure that initiated EPS de-   **
- **      fault bearer context activation locally failed.           **
- **                                                                        **
- **      The MME releases the default EPS bearer context previous- **
- **      ly allocated when ACTIVATE DEFAULT EPS BEARER CONTEXT RE- **
- **      QUEST message was received.                               **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    The identifier of the PDN connection the   **
- **             default EPS bearer context belongs to if   **
- **             successfully released;                     **
- **             RETURNerror  otherwise.                    **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_default_eps_bearer_context_failure(emm_data_context_t *ctx)
-{
-  int rc = RETURNerror;
-  int pid;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(WARNING, "ESM-PROC  - Default EPS bearer context activation "
-            "failure (ueid="NAS_UE_ID_FMT")", ctx->ueid);
-
-  /* Get the EPS bearer identity of the EPS bearer context which is still
-   * pending in the active pending state */
-  int ebi = esm_ebr_get_pending_ebi(ctx, ESM_EBR_ACTIVE_PENDING);
-
-  if (ebi != ESM_EBI_UNASSIGNED) {
-    int bid;
-    /* Release the default EPS bearer context and enter state INACTIVE */
-    rc = esm_proc_eps_bearer_context_deactivate(ctx, TRUE, ebi,
-         &pid, &bid, NULL);
-  }
-
-  if (rc != RETURNerror) {
-    LOG_FUNC_RETURN (pid);
-  }
-
-  LOG_FUNC_RETURN (RETURNerror);
-}
-
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *              Timer handlers
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    _default_eps_bearer_activate_t3485_handler()              **
- **                                                                        **
- ** Description: T3485 timeout handler                                     **
- **                                                                        **
- **              3GPP TS 24.301, section 6.4.1.6, case a                   **
- **      On the first expiry of the timer T3485, the MME shall re- **
- **      send the ACTIVATE DEFAULT EPS BEARER CONTEXT REQUEST and  **
- **      shall reset and restart timer T3485. This retransmission  **
- **      is repeated four times, i.e. on the fifth expiry of timer **
- **      T3485, the MME shall release possibly allocated resources **
- **      for this activation and shall abort the procedure.        **
- **                                                                        **
- ** Inputs:  args:      handler parameters                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void *_default_eps_bearer_activate_t3485_handler(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  /* Get retransmission timer parameters data */
-  esm_ebr_timer_data_t *data = (esm_ebr_timer_data_t *)(args);
-
-  /* Increment the retransmission counter */
-  data->count += 1;
-
-  LOG_TRACE(WARNING, "ESM-PROC  - T3485 timer expired (ueid="NAS_UE_ID_FMT", ebi=%d), "
-            "retransmission counter = %d",
-            data->ueid, data->ebi, data->count);
-
-  if (data->count < DEFAULT_EPS_BEARER_ACTIVATE_COUNTER_MAX) {
-    /* Re-send activate default EPS bearer context request message
-     * to the UE */
-    rc = _default_eps_bearer_activate(data->ctx, data->ebi, &data->msg);
-  } else {
-    /*
-     * The maximum number of activate default EPS bearer context request
-     * message retransmission has exceed
-     */
-    int pid, bid;
-    /* Release the default EPS bearer context and enter state INACTIVE */
-    rc = esm_proc_eps_bearer_context_deactivate(data->ctx, TRUE,
-         data->ebi, &pid, &bid,
-         NULL);
-
-    if (rc != RETURNerror) {
-      /* Stop timer T3485 */
-      rc = esm_ebr_stop_timer(data->ctx, data->ebi);
-    }
-  }
-
-  LOG_FUNC_RETURN (NULL);
-}
-
-/*
- * --------------------------------------------------------------------------
- *              MME specific local functions
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _default_eps_bearer_activate()                            **
- **                                                                        **
- ** Description: Sends ACTIVATE DEFAULT EPS BEREAR CONTEXT REQUEST message **
- **      and starts timer T3485                                    **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      ebi:       EPS bearer identity                        **
- **      msg:       Encoded ESM message to be sent             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3485                                      **
- **                                                                        **
- ***************************************************************************/
-static int _default_eps_bearer_activate(emm_data_context_t *ctx, int ebi,
-                                        const OctetString *msg)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  /*
-   * Notify EMM that an activate default EPS bearer context request message
-   * has to be sent to the UE
-   */
-  emm_esm_data_t *emm_esm = &emm_sap.u.emm_esm.u.data;
-  emm_sap.primitive = EMMESM_UNITDATA_REQ;
-  emm_sap.u.emm_esm.ueid = ctx->ueid;
-  emm_sap.u.emm_esm.ctx  = ctx;
-  emm_esm->msg = *msg;
-  rc = emm_sap_send(&emm_sap);
-
-  if (rc != RETURNerror) {
-    /* Start T3485 retransmission timer */
-    rc = esm_ebr_start_timer(ctx, ebi, msg, T3485_DEFAULT_VALUE,
-                             _default_eps_bearer_activate_t3485_handler);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
diff --git a/openair-cn/NAS/MME/ESM/EpsBearerContextDeactivation.c b/openair-cn/NAS/MME/ESM/EpsBearerContextDeactivation.c
deleted file mode 100644
index b26240a848d96aaadc97e4d54a3059fc3301bc2d..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/EpsBearerContextDeactivation.c
+++ /dev/null
@@ -1,483 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      EpsBearerContextDeactivation.c
-
-Version     0.1
-
-Date        2013/05/22
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the EPS bearer context deactivation ESM procedure
-        executed by the Non-Access Stratum.
-
-        The purpose of the EPS bearer context deactivation procedure
-        is to deactivate an EPS bearer context or disconnect from a
-        PDN by deactivating all EPS bearer contexts to the PDN.
-        The EPS bearer context deactivation procedure is initiated
-        by the network, and it may be triggered by the UE by means
-        of the UE requested bearer resource modification procedure
-        or UE requested PDN disconnect procedure.
-
-*****************************************************************************/
-
-#include "esm_proc.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emmData.h"
-#include "esmData.h"
-#include "esm_cause.h"
-#include "esm_ebr.h"
-#include "esm_ebr_context.h"
-
-#include "emm_sap.h"
-#include "esm_sap.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-
-/*
- * --------------------------------------------------------------------------
- * Internal data handled by the EPS bearer context deactivation procedure
- * in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * Timer handlers
- */
-static void *_eps_bearer_deactivate_t3495_handler(void *);
-
-/* Maximum value of the deactivate EPS bearer context request
- * retransmission counter */
-#define EPS_BEARER_DEACTIVATE_COUNTER_MAX   5
-
-static int _eps_bearer_deactivate(emm_data_context_t *ctx, int ebi,
-                                  const OctetString *msg);
-static int _eps_bearer_release(emm_data_context_t *ctx, int ebi, int *pid, int *bid);
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *  EPS bearer context deactivation procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_eps_bearer_context_deactivate()                  **
- **                                                                        **
- ** Description: Locally releases the EPS bearer context identified by the **
- **      given EPS bearer identity, without peer-to-peer signal-   **
- **      ling between the UE and the MME, or checks whether an EPS **
- **      bearer context with specified EPS bearer identity has     **
- **      been activated for the given UE.                          **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      is local:  TRUE if the EPS bearer context has to be   **
- **             locally released without peer-to-peer si-  **
- **             gnalling between the UE and the MME        **
- **      ebi:       EPS bearer identity of the EPS bearer con- **
- **             text to be deactivated                     **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ** Outputs:     pid:       Identifier of the PDN connection the EPS   **
- **             bearer belongs to                          **
- **      bid:       Identifier of the released EPS bearer con- **
- **             text entry                                 **
- **      esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_eps_bearer_context_deactivate(emm_data_context_t *ctx, int is_local,
-    int ebi, int *pid, int *bid,
-    int *esm_cause)
-{
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-  if (is_local) {
-    if (ebi != ESM_SAP_ALL_EBI) {
-      /* Locally release the specified EPS bearer context */
-      rc = _eps_bearer_release(ctx, ebi, pid, bid);
-    } else if (ctx != NULL) {
-      /* Locally release all the EPS bearer contexts */
-      *bid = 0;
-
-      for (*pid = 0; *pid < ESM_DATA_PDN_MAX; (*pid)++) {
-        if (ctx->esm_data_ctx.pdn[*pid].data) {
-          rc = _eps_bearer_release(ctx, ESM_EBI_UNASSIGNED,
-                                   pid, bid);
-
-          if (rc != RETURNok) {
-            break;
-          }
-        }
-      }
-    }
-
-    LOG_FUNC_RETURN (rc);
-  }
-
-  LOG_TRACE(INFO, "ESM-PROC  - EPS bearer context deactivation "
-            "(ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-
-  if ((ctx != NULL) &&
-      (*pid < ESM_DATA_PDN_MAX) ) {
-    if (ctx->esm_data_ctx.pdn[*pid].pid != *pid) {
-      LOG_TRACE(ERROR, "ESM-PROC  - PDN connection identifier %d "
-                "is not valid", *pid);
-      *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-    } else if (ctx->esm_data_ctx.pdn[*pid].data == NULL) {
-      LOG_TRACE(ERROR, "ESM-PROC  - PDN connection %d has not been "
-                "allocated", *pid);
-      *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-    } else if (!ctx->esm_data_ctx.pdn[*pid].is_active) {
-      LOG_TRACE(WARNING, "ESM-PROC  - PDN connection %d is not active",
-                *pid);
-      *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-    } else {
-      int i;
-      esm_pdn_t *pdn = ctx->esm_data_ctx.pdn[*pid].data;
-
-      *esm_cause = ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY;
-
-      for (i = 0; i < pdn->n_bearers; i++) {
-        if (pdn->bearer[i]->ebi != ebi) {
-          continue;
-        }
-
-        /* The EPS bearer context to be released is valid */
-        rc = RETURNok;
-      }
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_eps_bearer_context_deactivate_request()          **
- **                                                                        **
- ** Description: Initiates the EPS bearer context deactivation procedure   **
- **                                                                        **
- **      3GPP TS 24.301, section 6.4.4.2                           **
- **      If a NAS signalling connection exists, the MME initiates  **
- **      the EPS bearer context deactivation procedure by sending  **
- **      a DEACTIVATE EPS BEARER CONTEXT REQUEST message to the    **
- **      UE, starting timer T3495 and entering state BEARER CON-   **
- **      TEXT INACTIVE PENDING.                                    **
- **                                                                        **
- ** Inputs:  is_standalone: Not used - Always TRUE                     **
- **      ueid:      UE lower layer identifier                  **
- **      ebi:       EPS bearer identity                        **
- **      msg:       Encoded ESM message to be sent             **
- **      ue_triggered:  TRUE if the EPS bearer context procedure   **
- **             was triggered by the UE (not used)         **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_eps_bearer_context_deactivate_request(int is_standalone,
-    emm_data_context_t *ctx, int ebi,
-    OctetString *msg, int ue_triggered)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  LOG_TRACE(INFO,"ESM-PROC  - Initiate EPS bearer context deactivation "
-            "(ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-
-  /* Send deactivate EPS bearer context request message and
-   * start timer T3495 */
-  rc = _eps_bearer_deactivate(ctx, ebi, msg);
-
-  if (rc != RETURNerror) {
-    /* Set the EPS bearer context state to ACTIVE PENDING */
-    rc = esm_ebr_set_status(ctx, ebi, ESM_EBR_INACTIVE_PENDING,
-                            ue_triggered);
-
-    if (rc != RETURNok) {
-      /* The EPS bearer context was already in ACTIVE state */
-      LOG_TRACE(WARNING, "ESM-PROC  - EBI %d was already INACTIVE PENDING",
-                ebi);
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_eps_bearer_context_deactivate_accept()           **
- **                                                                        **
- ** Description: Performs EPS bearer context deactivation procedure accep- **
- **      ted by the UE.                                            **
- **                                                                        **
- **      3GPP TS 24.301, section 6.4.4.3                           **
- **      Upon receipt of the DEACTIVATE EPS BEARER CONTEXT ACCEPT  **
- **      message, the MME shall enter the state BEARER CONTEXT     **
- **      INACTIVE and stop the timer T3495.                        **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      ebi:       EPS bearer identity                        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    The identifier of the PDN connection to be **
- **             released, if it exists;                    **
- **             RETURNerror otherwise.                     **
- **      Others:    T3495                                      **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_eps_bearer_context_deactivate_accept(emm_data_context_t *ctx, int ebi,
-    int *esm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-  int pid = RETURNerror;
-
-  LOG_TRACE(INFO, "ESM-PROC  - EPS bearer context deactivation "
-            "accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
-
-  /* Stop T3495 timer if running */
-  rc = esm_ebr_stop_timer(ctx, ebi);
-
-  if (rc != RETURNerror) {
-    int bid;
-    /* Release the EPS bearer context */
-    rc = _eps_bearer_release(ctx, ebi, &pid, &bid);
-
-    if (rc != RETURNok) {
-      /* Failed to release the EPS bearer context */
-      *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-      pid = RETURNerror;
-    }
-  }
-
-  LOG_FUNC_RETURN (pid);
-}
-
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *              Timer handlers
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    _eps_bearer_deactivate_t3495_handler()                    **
- **                                                                        **
- ** Description: T3495 timeout handler                                     **
- **                                                                        **
- **              3GPP TS 24.301, section 6.4.4.5, case a                   **
- **      On the first expiry of the timer T3495, the MME shall re- **
- **      send the DEACTIVATE EPS BEARER CONTEXT REQUEST and shall  **
- **      reset and restart timer T3495. This retransmission is     **
- **      repeated four times, i.e. on the fifth expiry of timer    **
- **      T3495, the MME shall abort the procedure and deactivate   **
- **      the EPS bearer context locally.                           **
- **                                                                        **
- ** Inputs:  args:      handler parameters                         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void *_eps_bearer_deactivate_t3495_handler(void *args)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  /* Get retransmission timer parameters data */
-  esm_ebr_timer_data_t *data = (esm_ebr_timer_data_t *)(args);
-
-  /* Increment the retransmission counter */
-  data->count += 1;
-
-  LOG_TRACE(WARNING, "ESM-PROC  - T3495 timer expired (ueid="NAS_UE_ID_FMT", ebi=%d), "
-            "retransmission counter = %d",
-            data->ueid, data->ebi, data->count);
-
-  if (data->count < EPS_BEARER_DEACTIVATE_COUNTER_MAX) {
-    /* Re-send deactivate EPS bearer context request message to the UE */
-    rc = _eps_bearer_deactivate(data->ctx, data->ebi, &data->msg);
-  } else {
-    /*
-     * The maximum number of deactivate EPS bearer context request
-     * message retransmission has exceed
-     */
-    int pid, bid;
-    /* Deactivate the EPS bearer context locally without peer-to-peer
-     * signalling between the UE and the MME */
-    rc = _eps_bearer_release(data->ctx, data->ebi, &pid, &bid);
-
-    if (rc != RETURNerror) {
-      /* Stop timer T3495 */
-      rc = esm_ebr_stop_timer(data->ctx, data->ebi);
-    }
-  }
-
-  LOG_FUNC_RETURN (NULL);
-}
-
-/*
- * --------------------------------------------------------------------------
- *              MME specific local functions
- * --------------------------------------------------------------------------
- */
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _eps_bearer_deactivate()                                  **
- **                                                                        **
- ** Description: Sends DEACTIVATE EPS BEREAR CONTEXT REQUEST message and   **
- **      starts timer T3495                                        **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      ebi:       EPS bearer identity                        **
- **      msg:       Encoded ESM message to be sent             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    T3495                                      **
- **                                                                        **
- ***************************************************************************/
-static int _eps_bearer_deactivate(emm_data_context_t *ctx, int ebi,
-                                  const OctetString *msg)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  /*
-   * Notify EMM that a deactivate EPS bearer context request message
-   * has to be sent to the UE
-   */
-  emm_esm_data_t *emm_esm = &emm_sap.u.emm_esm.u.data;
-  emm_sap.primitive = EMMESM_UNITDATA_REQ;
-  emm_sap.u.emm_esm.ueid = ctx->ueid;
-  emm_sap.u.emm_esm.ctx  = ctx;
-  emm_esm->msg = *msg;
-  rc = emm_sap_send(&emm_sap);
-
-  if (rc != RETURNerror) {
-    /* Start T3495 retransmission timer */
-    rc = esm_ebr_start_timer(ctx, ebi, msg, T3495_DEFAULT_VALUE,
-                             _eps_bearer_deactivate_t3495_handler);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _eps_bearer_release()                                     **
- **                                                                        **
- ** Description: Releases the EPS bearer context identified by the given   **
- **      EPS bearer identity and enters state INACTIVE.            **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      ebi:       EPS bearer identity                        **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     pid:       Identifier of the PDN connection the EPS   **
- **             bearer belongs to                          **
- **      bid:       Identifier of the released EPS bearer con- **
- **             text entry                                 **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _eps_bearer_release(emm_data_context_t *ctx, int ebi, int *pid, int *bid)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  /* Release the EPS bearer context entry */
-  ebi = esm_ebr_context_release(ctx, ebi, pid, bid);
-
-  if (ebi == ESM_EBI_UNASSIGNED) {
-    LOG_TRACE(WARNING, "ESM-PROC  - Failed to release EPS bearer context");
-  } else {
-    /* Set the EPS bearer context state to INACTIVE */
-    rc = esm_ebr_set_status(ctx, ebi, ESM_EBR_INACTIVE, FALSE);
-
-    if (rc != RETURNok) {
-      /* The EPS bearer context was already in INACTIVE state */
-      LOG_TRACE(WARNING, "ESM-PROC  - EBI %d was already INACTIVE", ebi);
-    } else {
-      /* Release EPS bearer data */
-      rc = esm_ebr_release(ctx, ebi);
-
-      if (rc != RETURNok) {
-        LOG_TRACE(WARNING,
-                  "ESM-PROC  - Failed to release EPS bearer data");
-      }
-    }
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
diff --git a/openair-cn/NAS/MME/ESM/EsmStatusHdl.c b/openair-cn/NAS/MME/ESM/EsmStatusHdl.c
deleted file mode 100644
index 6edada9f0c88f2b6763b3add200b342c822cc08c..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/EsmStatusHdl.c
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      EsmStatus.c
-
-Version     0.1
-
-Date        2013/06/17
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the ESM status procedure executed by the Non-Access
-        Stratum.
-
-        ESM status procedure can be related to an EPS bearer context
-        or to a procedure transaction.
-
-        The purpose of the sending of the ESM STATUS message is to
-        report at any time certain error conditions detected upon
-        receipt of ESM protocol data. The ESM STATUS message can be
-        sent by both the MME and the UE.
-
-*****************************************************************************/
-
-#include "esm_proc.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "esm_cause.h"
-
-#include "emm_sap.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_status_ind()                                     **
- **                                                                        **
- ** Description: Processes received ESM status message.                    **
- **                                                                        **
- **      3GPP TS 24.301, section 6.7                               **
- **      Upon receiving ESM Status message the UE/MME shall take   **
- **      different actions depending on the received ESM cause     **
- **      value.                                                    **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      esm_cause: Received ESM cause code                    **
- **             failure                                    **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_status_ind(
-  emm_data_context_t *ctx,
-  int pti, int ebi, int *esm_cause)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-
-  LOG_TRACE(INFO,"ESM-PROC  - ESM status procedure requested (cause=%d)",
-            *esm_cause);
-
-  LOG_TRACE(DEBUG, "ESM-PROC  - To be implemented");
-
-  switch (*esm_cause) {
-  case ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY:
-    /*
-     * Abort any ongoing ESM procedure related to the received EPS
-     * bearer identity, stop any related timer, and deactivate the
-     * corresponding EPS bearer context locally
-     */
-    /* TODO */
-    rc = RETURNok;
-    break;
-
-  case ESM_CAUSE_INVALID_PTI_VALUE:
-    /*
-     * Abort any ongoing ESM procedure related to the received PTI
-     * value and stop any related timer
-     */
-    /* TODO */
-    rc = RETURNok;
-    break;
-
-  case ESM_CAUSE_MESSAGE_TYPE_NOT_IMPLEMENTED:
-    /*
-     * Abort any ongoing ESM procedure related to the PTI or
-     * EPS bearer identity and stop any related timer
-     */
-    /* TODO */
-    rc = RETURNok;
-    break;
-
-  default:
-    /*
-     * No state transition and no specific action shall be taken;
-     * local actions are possible
-     */
-    /* TODO */
-    rc = RETURNok;
-    break;
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_status()                                         **
- **                                                                        **
- ** Description: Initiates ESM status procedure.                           **
- **                                                                        **
- ** Inputs:  is_standalone: Not used - Always TRUE                     **
- **      ueid:      UE lower layer identifier                  **
- **      ebi:       Not used                                   **
- **      msg:       Encoded ESM status message to be sent      **
- **      ue_triggered:  Not used                                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_status(int is_standalone,
-                    emm_data_context_t *ctx,
-                    int ebi, OctetString *msg,
-                    int ue_triggered)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-  emm_sap_t emm_sap;
-
-  LOG_TRACE(INFO,"ESM-PROC  - ESM status procedure requested");
-
-  /*
-   * Notity EMM that ESM PDU has to be forwarded to lower layers
-   */
-  emm_sap.primitive = EMMESM_UNITDATA_REQ;
-  emm_sap.u.emm_esm.ueid = ctx->ueid;
-  emm_sap.u.emm_esm.ctx  = ctx;
-  emm_sap.u.emm_esm.u.data.msg.length = msg->length;
-  emm_sap.u.emm_esm.u.data.msg.value = msg->value;
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
diff --git a/openair-cn/NAS/MME/ESM/Makefile b/openair-cn/NAS/MME/ESM/Makefile
deleted file mode 100644
index eda83656ac0471058b4cc1a20641d7af89d65aae..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-ifndef PROJDIR
-PROJDIR = $(PWD)/../..
-endif
-
-include $(PROJDIR)/Makerules
-include $(PROJDIR)/Makefile.inc
-
-INCLUDES = -I. -I$(INCDIR) -I$(UTILDIR) -I$(IESDIR) -I$(MMEAPIDIR) \
-	-I$(EMMSAPDIR) -I$(ESMSAPDIR) -I$(ESMMSGDIR) -I$(EMMDIR)
-
-all: $(OBJS)
-	@$(CD) $(ESMMSGDIR) && $(MAKE)
-	@$(CD) $(ESMSAPDIR) && $(MAKE)
-
-clean:
-	$(RM) $(OBJS) *.bak *~
-	@$(CD) $(ESMSAPDIR) && $(MAKE) $@
-
-veryclean: clean
-	@$(CD) $(ESMSAPDIR) && $(MAKE) $@
-	@$(CD) $(ESMMSGDIR) && $(MAKE) $@
-	$(RM) $(TARGET)
-
-%.o: %.c Makefile $(PROJDIR)/Makerules $(PROJDIR)/Makefile.inc
-	@echo Compiling $<
-	@$(CC) $(CFLAGS) -c $< -o $@
-
-depend:
-	makedepend -- ${CFLAGS} -- ${SRCS}
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/openair-cn/NAS/MME/ESM/PdnConnectivity.c b/openair-cn/NAS/MME/ESM/PdnConnectivity.c
deleted file mode 100644
index e2eda77bed43a5d7aa554a2d4d1f84f7a63ca65e..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/PdnConnectivity.c
+++ /dev/null
@@ -1,556 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      PdnConnectivity.c
-
-Version     0.1
-
-Date        2013/01/02
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the PDN connectivity ESM procedure executed by the
-        Non-Access Stratum.
-
-        The PDN connectivity procedure is used by the UE to request
-        the setup of a default EPS bearer to a PDN.
-
-        The procedure is used either to establish the 1st default
-        bearer by including the PDN CONNECTIVITY REQUEST message
-        into the initial attach message, or to establish subsequent
-        default bearers to additional PDNs in order to allow the UE
-        simultaneous access to multiple PDNs by sending the message
-        stand-alone.
-
-*****************************************************************************/
-
-#include <stdlib.h> // malloc, free
-#include <string.h> // memset, memcpy, memcmp
-#include <ctype.h>  // isprint
-
-#include "esm_proc.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "esmData.h"
-#include "esm_cause.h"
-#include "esm_pt.h"
-
-# include "mme_api.h"
-
-#include "emm_sap.h"
-
-#if defined(ENABLE_ITTI)
-# include "assertions.h"
-#endif
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-
-/*
- * --------------------------------------------------------------------------
- *  Internal data handled by the PDN connectivity procedure in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * PDN connection handlers
- */
-static int _pdn_connectivity_create(emm_data_context_t *ctx,
-                                    int pti,
-                                    const OctetString *apn,
-                                    esm_proc_pdn_type_t pdn_type,
-                                    const OctetString *pdn_addr,
-                                    int is_emergency);
-int _pdn_connectivity_delete(emm_data_context_t *ctx, int pid);
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-/*
- * --------------------------------------------------------------------------
- *      PDN connectivity procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_pdn_connectivity_request()                       **
- **                                                                        **
- ** Description: Performs PDN connectivity procedure requested by the UE.  **
- **                                                                        **
- **              3GPP TS 24.301, section 6.5.1.3                           **
- **      Upon receipt of the PDN CONNECTIVITY REQUEST message, the **
- **      MME checks if connectivity with the requested PDN can be  **
- **      established. If no requested  APN  is provided  the  MME  **
- **      shall use the default APN as the  requested  APN if the   **
- **      request type is different from "emergency", or the APN    **
- **      configured for emergency bearer services if the request   **
- **      type is "emergency".                                      **
- **      If connectivity with the requested PDN is accepted by the **
- **      network, the MME shall initiate the default EPS bearer    **
- **      context activation procedure.                             **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      pti:       Identifies the PDN connectivity procedure  **
- **             requested by the UE                        **
- **      request_type:  Type of the PDN request                    **
- **      pdn_type:  PDN type value (IPv4, IPv6, IPv4v6)        **
- **      apn:       Requested Access Point Name                **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ** Outputs:     apn:       Default Access Point Name                  **
- **      pdn_addr:  Assigned IPv4 address and/or IPv6 suffix   **
- **      esm_qos:   EPS bearer level QoS parameters            **
- **      esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    The identifier of the PDN connection if    **
- **             successfully created;                      **
- **             RETURNerror otherwise.                     **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_pdn_connectivity_request(emm_data_context_t *ctx, int pti,
-                                      esm_proc_pdn_request_t request_type,
-                                      OctetString *apn,
-                                      esm_proc_pdn_type_t pdn_type,
-                                      OctetString *pdn_addr,
-                                      esm_proc_qos_t *esm_qos,
-                                      int *esm_cause)
-{
-  int rc = RETURNerror;
-  int pid = RETURNerror;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "ESM-PROC  - PDN connectivity requested by the UE "
-            "(ueid="NAS_UE_ID_FMT", pti=%d) PDN type = %s, APN = %s pdn addr = %s", ctx->ueid, pti,
-            (pdn_type == ESM_PDN_TYPE_IPV4)? "IPv4" :
-            (pdn_type == ESM_PDN_TYPE_IPV6)? "IPv6" : "IPv4v6",
-            (apn) ? (char *)(apn->value) : "null",
-            (pdn_addr) ? (char *)(pdn_addr->value) : "null");
-
-#if !defined(NAS_BUILT_IN_EPC)
-
-  /* UE identifier sanity check */
-  if (ctx->ueid >= ESM_DATA_NB_UE_MAX) {
-    LOG_TRACE(WARNING, "ESM-PROC  - Number of connected UEs exceeded");
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-#endif
-
-  /*
-   * Check network IP capabilities
-   */
-  *esm_cause = ESM_CAUSE_SUCCESS;
-  LOG_TRACE(INFO, "ESM-PROC  - _esm_data.conf.features %08x", _esm_data.conf.features);
-#warning "Uncomment code about _esm_data.conf.features & (MME_API_IPV4 | MME_API_IPV6) later"
-#if defined(ORIGINAL_CODE)
-
-  switch (_esm_data.conf.features & (MME_API_IPV4 | MME_API_IPV6)) {
-  case (MME_API_IPV4 | MME_API_IPV6):
-
-    /* The network supports both IPv4 and IPv6 connection */
-    if ( (pdn_type == ESM_PDN_TYPE_IPV4V6) &&
-         (_esm_data.conf.features & MME_API_SINGLE_ADDR_BEARERS) ) {
-      /* The network supports single IP version bearers only */
-      *esm_cause = ESM_CAUSE_SINGLE_ADDRESS_BEARERS_ONLY_ALLOWED;
-    }
-
-    rc = RETURNok;
-    break;
-
-  case MME_API_IPV6:
-    /* The network supports connection to IPv6 only */
-    *esm_cause = ESM_CAUSE_PDN_TYPE_IPV6_ONLY_ALLOWED;
-
-    if (pdn_type != ESM_PDN_TYPE_IPV4) {
-      rc = RETURNok;
-    }
-
-    break;
-
-  case MME_API_IPV4:
-    /* The network supports connection to IPv4 only */
-    *esm_cause = ESM_CAUSE_PDN_TYPE_IPV4_ONLY_ALLOWED;
-
-    if (pdn_type != ESM_PDN_TYPE_IPV6) {
-      rc = RETURNok;
-    }
-
-    break;
-
-  default:
-    LOG_TRACE(ERROR,
-              "ESM-PROC  - _esm_data.conf.features incorrect value (no IPV4 or IPV6 ) %X",
-              _esm_data.conf.features);
-  }
-
-#else
-  rc = RETURNok;
-#endif
-
-  if (rc != RETURNerror) {
-    int is_emergency = (request_type == ESM_PDN_REQUEST_EMERGENCY);
-#if defined(ORIGINAL_CODE)
-    mme_api_ip_version_t mme_pdn_index;
-    mme_api_qos_t qos;
-
-    switch (pdn_type) {
-    case ESM_PDN_TYPE_IPV4:
-      mme_pdn_index = MME_API_IPV4_ADDR;
-      break;
-
-    case ESM_PDN_TYPE_IPV6:
-      mme_pdn_index = MME_API_IPV6_ADDR;
-      break;
-
-    case ESM_PDN_TYPE_IPV4V6:
-    default:
-      mme_pdn_index = MME_API_IPV4V6_ADDR;
-      break;
-    }
-
-    /* Check if connectivity with the requested PDN can be established */
-    rc = mme_api_subscribe(apn, mme_pdn_index, pdn_addr, is_emergency, &qos);
-
-    if (rc != RETURNok) {
-      LOG_TRACE(WARNING, "ESM-PROC  - Connectivity to the requested PDN "
-                "cannot be established");
-      *esm_cause = ESM_CAUSE_REQUEST_REJECTED_UNSPECIFIED;
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-
-#endif
-
-    /* Create new PDN connection */
-    pid = _pdn_connectivity_create(ctx, pti, apn, pdn_type,
-                                   pdn_addr, is_emergency);
-#if defined(ORIGINAL_CODE)
-
-    /* Setup ESM QoS parameters */
-    if (esm_qos) {
-      esm_qos->gbrUL = qos.gbr[MME_API_UPLINK];
-      esm_qos->gbrDL = qos.gbr[MME_API_DOWNLINK];
-      esm_qos->mbrUL = qos.mbr[MME_API_UPLINK];
-      esm_qos->mbrDL = qos.mbr[MME_API_DOWNLINK];
-      esm_qos->qci   = qos.qci;
-    }
-
-#endif
-
-    if (pid < 0) {
-      LOG_TRACE(WARNING, "ESM-PROC  - Failed to create PDN connection");
-      *esm_cause = ESM_CAUSE_INSUFFICIENT_RESOURCES;
-      LOG_FUNC_RETURN(RETURNerror);
-    }
-  }
-
-  LOG_FUNC_RETURN(pid);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_pdn_connectivity_reject()                        **
- **                                                                        **
- ** Description: Performs PDN connectivity procedure not accepted by the   **
- **      network.                                                  **
- **                                                                        **
- **              3GPP TS 24.301, section 6.5.1.4                           **
- **      If connectivity with the requested PDN cannot be accepted **
- **      by the network, the MME shall send a PDN CONNECTIVITY RE- **
- **      JECT message to the UE.                                   **
- **                                                                        **
- ** Inputs:  is_standalone: Indicates whether the PDN connectivity     **
- **             procedure was initiated as part of the at- **
- **             tach procedure                             **
- **      ueid:      UE lower layer identifier                  **
- **      ebi:       Not used                                   **
- **      msg:       Encoded PDN connectivity reject message to **
- **             be sent                                    **
- **      ue_triggered:  Not used                                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_pdn_connectivity_reject(int is_standalone, emm_data_context_t *ctx,
-                                     int ebi, OctetString *msg, int ue_triggered)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  LOG_TRACE(WARNING, "ESM-PROC  - PDN connectivity not accepted by the "
-            "network (ueid="NAS_UE_ID_FMT")", ctx->ueid);
-
-  if (is_standalone) {
-    emm_sap_t emm_sap;
-    /*
-     * Notity EMM that ESM PDU has to be forwarded to lower layers
-     */
-    emm_sap.primitive = EMMESM_UNITDATA_REQ;
-    emm_sap.u.emm_esm.ctx = ctx;
-    emm_sap.u.emm_esm.u.data.msg.length = msg->length;
-    emm_sap.u.emm_esm.u.data.msg.value = msg->value;
-    rc = emm_sap_send(&emm_sap);
-  }
-
-  /* If the PDN connectivity procedure initiated as part of the initial
-   * attach procedure has failed, an error is returned to notify EMM that
-   * the ESM sublayer did not accept UE requested PDN connectivity */
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:        esm_proc_pdn_connectivity_failure()                       **
- **                                                                        **
- ** Description: Performs PDN connectivity procedure upon receiving noti-  **
- **              fication from the EPS Mobility Management sublayer that   **
- **              EMM procedure that initiated PDN connectivity activation  **
- **              locally failed.                                           **
- **                                                                        **
- **              The MME releases the PDN connection entry allocated when  **
- **              the PDN connectivity procedure was requested by the UE.   **
- **                                                                        **
- **         Inputs:  ueid:      UE local identifier                        **
- **                  pid:       Identifier of the PDN connection to be     **
- **                             released                                   **
- **                  Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **                  Return:    RETURNok, RETURNerror                      **
- **                  Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_pdn_connectivity_failure(emm_data_context_t *ctx, int pid)
-{
-  int pti;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(WARNING, "ESM-PROC  - PDN connectivity failure (ueid="NAS_UE_ID_FMT", pid=%d)",
-            ctx->ueid, pid);
-
-  /* Delete the PDN connection entry */
-  pti = _pdn_connectivity_delete(ctx, pid);
-
-  if (pti != ESM_PT_UNASSIGNED) {
-    LOG_FUNC_RETURN (RETURNok);
-  }
-
-  LOG_FUNC_RETURN (RETURNerror);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-
-/*
- *---------------------------------------------------------------------------
- *              PDN connection handlers
- *---------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:        _pdn_connectivity_create()                                **
- **                                                                        **
- ** Description: Creates a new PDN connection entry for the specified UE   **
- **                                                                        **
- ** Inputs:          ueid:      UE local identifier                        **
- **                  ctx:       UE context                                 **
- **                  pti:       Procedure transaction identity             **
- **                  apn:       Access Point Name of the PDN connection    **
- **                  pdn_type:  PDN type (IPv4, IPv6, IPv4v6)              **
- **                  pdn_addr:  Network allocated PDN IPv4 or IPv6 address **
- **              is_emergency:  TRUE if the PDN connection has to be esta- **
- **                             blished for emergency bearer services      **
- **                  Others:    _esm_data                                  **
- **                                                                        **
- ** Outputs:     None                                                      **
- **                  Return:    The identifier of the PDN connection if    **
- **                             successfully created; -1 otherwise.        **
- **                  Others:    _esm_data                                  **
- **                                                                        **
- ***************************************************************************/
-static int _pdn_connectivity_create(emm_data_context_t *ctx,
-                                    int pti,
-                                    const OctetString *apn,
-                                    esm_proc_pdn_type_t pdn_type,
-                                    const OctetString *pdn_addr,
-                                    int is_emergency)
-{
-  int pid = ESM_DATA_PDN_MAX;
-
-  LOG_TRACE(INFO, "ESM-PROC  - Create new PDN connection "
-            "(pti=%d) APN = %s, IP address = %s (ueid="NAS_UE_ID_FMT")", pti, apn->value,
-            (pdn_type == ESM_PDN_TYPE_IPV4)? esm_data_get_ipv4_addr(pdn_addr) :
-            (pdn_type == ESM_PDN_TYPE_IPV6)? esm_data_get_ipv6_addr(pdn_addr) :
-            esm_data_get_ipv4v6_addr(pdn_addr), ctx->ueid);
-
-  /* Search for an available PDN connection entry */
-  for (pid = 0; pid < ESM_DATA_PDN_MAX; pid++) {
-    if (ctx->esm_data_ctx.pdn[pid].data != NULL) {
-      continue;
-    }
-
-    break;
-  }
-
-  if (pid < ESM_DATA_PDN_MAX) {
-    /* Create new PDN connection */
-    esm_pdn_t *pdn = (esm_pdn_t *)malloc(sizeof(esm_pdn_t));
-
-    if (pdn != NULL) {
-      memset(pdn, 0, sizeof(esm_pdn_t));
-      /* Increment the number of PDN connections */
-      ctx->esm_data_ctx.n_pdns += 1;
-      /* Set the PDN connection identifier */
-      ctx->esm_data_ctx.pdn[pid].pid = pid;
-      /* Reset the PDN connection active indicator */
-      ctx->esm_data_ctx.pdn[pid].is_active = FALSE;
-      /* Setup the PDN connection data */
-      ctx->esm_data_ctx.pdn[pid].data = pdn;
-
-      /* Set the procedure transaction identity */
-      pdn->pti = pti;
-      /* Set the emergency bearer services indicator */
-      pdn->is_emergency = is_emergency;
-
-      /* Setup the Access Point Name */
-      if ( apn && (apn->length > 0) ) {
-        pdn->apn.value = (uint8_t *)malloc(apn->length + 1);
-
-        if (pdn->apn.value) {
-          pdn->apn.length = apn->length;
-          memcpy(pdn->apn.value, apn->value, apn->length);
-          pdn->apn.value[pdn->apn.length] = '\0';
-        }
-      }
-
-      /* Setup the IP address allocated by the network */
-      if ( pdn_addr && (pdn_addr->length > 0) ) {
-        int length =
-          ((pdn_addr->length < ESM_DATA_IP_ADDRESS_SIZE) ?
-           pdn_addr->length : ESM_DATA_IP_ADDRESS_SIZE);
-        memcpy(pdn->ip_addr, pdn_addr->value, length);
-        pdn->type = pdn_type;
-      }
-
-      /* Return the identifier of the new PDN connection */
-      return (ctx->esm_data_ctx.pdn[pid].pid);
-    }
-
-    LOG_TRACE(WARNING, "ESM-PROC  - Failed to create new PDN connection "
-              "(pid=%d)", pid);
-  }
-
-  return (-1);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:        _pdn_connectivity_delete()                                **
- **                                                                        **
- ** Description: Deletes PDN connection to the specified UE associated to  **
- **              PDN connection entry with given identifier                **
- **                                                                        **
- ** Inputs:          ueid:      UE local identifier                        **
- **                  pid:       Identifier of the PDN connection to be     **
- **                             released                                   **
- **                  Others:    _esm_data                                  **
- **                                                                        **
- ** Outputs:     None                                                      **
- **                  Return:    The identity of the procedure transaction  **
- **                             assigned to the PDN connection when suc-   **
- **                             cessfully released;                        **
- **                             UNASSIGNED value otherwise.                **
- **                  Others:    _esm_data                                  **
- **                                                                        **
- ***************************************************************************/
-int _pdn_connectivity_delete(emm_data_context_t *ctx, int pid)
-{
-  int pti = ESM_PT_UNASSIGNED;
-
-  if (ctx == NULL) {
-    return pti;
-  }
-
-  if (pid < ESM_DATA_PDN_MAX) {
-    if (pid != ctx->esm_data_ctx.pdn[pid].pid) {
-      LOG_TRACE(ERROR,
-                "ESM-PROC  - PDN connection identifier is not valid");
-    } else if (ctx->esm_data_ctx.pdn[pid].data == NULL) {
-      LOG_TRACE(ERROR,
-                "ESM-PROC  - PDN connection has not been allocated");
-    } else if (ctx->esm_data_ctx.pdn[pid].is_active) {
-      LOG_TRACE(ERROR, "ESM-PROC  - PDN connection is active");
-    } else {
-      /* Get the identity of the procedure transaction that created
-       * the PDN connection */
-      pti = ctx->esm_data_ctx.pdn[pid].data->pti;
-    }
-  }
-
-  if (pti != ESM_PT_UNASSIGNED) {
-    /* Decrement the number of PDN connections */
-    ctx->esm_data_ctx.n_pdns -= 1;
-    /* Set the PDN connection as available */
-    ctx->esm_data_ctx.pdn[pid].pid = -1;
-
-    /* Release allocated PDN connection data */
-    if (ctx->esm_data_ctx.pdn[pid].data->apn.length > 0) {
-      free(ctx->esm_data_ctx.pdn[pid].data->apn.value);
-    }
-
-    free(ctx->esm_data_ctx.pdn[pid].data);
-    ctx->esm_data_ctx.pdn[pid].data = NULL;
-    LOG_TRACE(WARNING, "ESM-PROC  - PDN connection %d released", pid);
-  }
-
-  /* Return the procedure transaction identity */
-  return (pti);
-}
diff --git a/openair-cn/NAS/MME/ESM/PdnDisconnect.c b/openair-cn/NAS/MME/ESM/PdnDisconnect.c
deleted file mode 100644
index 9dfcbd66fb3120c676b501bea03be3b9f841bf6a..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/PdnDisconnect.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      PdnDisconnect.c
-
-Version     0.1
-
-Date        2013/05/15
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the PDN disconnect ESM procedure executed by the
-        Non-Access Stratum.
-
-        The PDN disconnect procedure is used by the UE to request
-        disconnection from one PDN.
-
-        All EPS bearer contexts established towards this PDN, inclu-
-        ding the default EPS bearer context, are released.
-
-*****************************************************************************/
-
-#include "esm_proc.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "esmData.h"
-#include "esm_cause.h"
-#include "esm_pt.h"
-#include "emm_sap.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-extern int _pdn_connectivity_delete(emm_data_context_t *ctx, int pid);
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-/*
- * --------------------------------------------------------------------------
- *  Internal data handled by the PDN disconnect procedure in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * PDN disconnection handlers
- */
-static int _pdn_disconnect_get_pid(esm_data_context_t *ctx, int pti);
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-
-/*
- * --------------------------------------------------------------------------
- *        PDN disconnect procedure executed by the MME
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_pdn_disconnect_request()                         **
- **                                                                        **
- ** Description: Performs PDN disconnect procedure requested by the UE.    **
- **                                                                        **
- **              3GPP TS 24.301, section 6.5.2.3                           **
- **      Upon receipt of the PDN DISCONNECT REQUEST message, if it **
- **      is accepted by the network, the MME shall initiate the    **
- **      bearer context deactivation procedure.                    **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      pti:       Identifies the PDN disconnect procedure    **
- **             requested by the UE                        **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ** Outputs:     esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    The identifier of the PDN connection to be **
- **             released, if it exists;                    **
- **             RETURNerror otherwise.                     **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_pdn_disconnect_request(emm_data_context_t *ctx, int pti, int *esm_cause)
-{
-  int pid = RETURNerror;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "ESM-PROC  - PDN disconnect requested by the UE "
-            "(ueid="NAS_UE_ID_FMT", pti=%d)", ctx->ueid, pti);
-
-  /* Get UE's ESM context */
-  if (ctx->esm_data_ctx.n_pdns > 1) {
-    /* Get the identifier of the PDN connection entry assigned to the
-     * procedure transaction identity */
-    pid = _pdn_disconnect_get_pid(&ctx->esm_data_ctx, pti);
-
-    if (pid < 0) {
-      LOG_TRACE(ERROR, "ESM-PROC  - No PDN connection found (pti=%d)",
-                pti);
-      *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-      LOG_FUNC_RETURN (RETURNerror);
-    }
-  } else {
-    /* Attempt to disconnect from the last PDN disconnection
-     * is not allowed */
-    *esm_cause = ESM_CAUSE_LAST_PDN_DISCONNECTION_NOT_ALLOWED;
-  }
-
-  LOG_FUNC_RETURN(pid);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_pdn_disconnect_accept()                          **
- **                                                                        **
- ** Description: Performs PDN disconnect procedure accepted by the UE.     **
- **                                                                        **
- **              3GPP TS 24.301, section 6.5.2.3                           **
- **      On reception of DEACTIVATE EPS BEARER CONTEXT ACCEPT mes- **
- **      sage from the UE, the MME releases all the resources re-  **
- **      served for the PDN in the network.                        **
- **                                                                        **
- ** Inputs:  ueid:      UE lower layer identifier                  **
- **      pid:       Identifier of the PDN connection to be     **
- **             released                                   **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ** Outputs:     esm_cause: Cause code returned upon ESM procedure     **
- **             failure                                    **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_pdn_disconnect_accept(emm_data_context_t *ctx, int pid, int *esm_cause)
-{
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "ESM-PROC  - PDN disconnect accepted by the UE "
-            "(ueid="NAS_UE_ID_FMT", pid=%d)", ctx->ueid, pid);
-
-  /* Release the connectivity with the requested PDN */
-  int rc = mme_api_unsubscribe(NULL);
-
-  if (rc != RETURNerror) {
-    /* Delete the PDN connection entry */
-    int pti = _pdn_connectivity_delete(ctx, pid);
-
-    if (pti != ESM_PT_UNASSIGNED) {
-      LOG_FUNC_RETURN (RETURNok);
-    }
-  }
-
-  *esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-  LOG_FUNC_RETURN (RETURNerror);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_proc_pdn_disconnect_reject()                          **
- **                                                                        **
- ** Description: Performs PDN disconnect procedure not accepted by the     **
- **      network.                                                  **
- **                                                                        **
- **              3GPP TS 24.301, section 6.5.2.4                           **
- **      Upon receipt of the PDN DISCONNECT REQUEST message, if it **
- **      is not accepted by the network, the MME shall send a PDN  **
- **      DISCONNECT REJECT message to the UE.                      **
- **                                                                        **
- ** Inputs:  is_standalone: Not used - Always TRUE                     **
- **      ueid:      UE lower layer identifier                  **
- **      ebi:       Not used                                   **
- **      msg:       Encoded PDN disconnect reject message to   **
- **             be sent                                    **
- **      ue_triggered:  Not used                                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_proc_pdn_disconnect_reject(int is_standalone, emm_data_context_t *ctx,
-                                   int ebi, OctetString *msg, int ue_triggered)
-{
-  LOG_FUNC_IN;
-
-  int rc;
-  emm_sap_t emm_sap;
-
-  LOG_TRACE(WARNING, "ESM-PROC  - PDN disconnect not accepted by the network "
-            "(ueid="NAS_UE_ID_FMT")", ctx->ueid);
-
-  /*
-   * Notity EMM that ESM PDU has to be forwarded to lower layers
-   */
-  emm_sap.primitive = EMMESM_UNITDATA_REQ;
-  emm_sap.u.emm_esm.ueid = ctx->ueid;
-  emm_sap.u.emm_esm.ctx  = ctx;
-  emm_sap.u.emm_esm.u.data.msg.length = msg->length;
-  emm_sap.u.emm_esm.u.data.msg.value = msg->value;
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *              Timer handlers
- * --------------------------------------------------------------------------
- */
-
-
-/*
- *---------------------------------------------------------------------------
- *              PDN disconnection handlers
- *---------------------------------------------------------------------------
- */
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _pdn_disconnect_get_pid()                                 **
- **                                                                        **
- ** Description: Returns the identifier of the PDN connection to which the **
- **      given procedure transaction identity has been assigned    **
- **      to establish connectivity to the specified UE             **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      pti:       The procedure transaction identity         **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    The identifier of the PDN connection if    **
- **             found in the list; -1 otherwise.           **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _pdn_disconnect_get_pid(esm_data_context_t *ctx, int pti)
-{
-  int i = ESM_DATA_PDN_MAX;
-
-  if (ctx != NULL) {
-    for (i = 0; i < ESM_DATA_PDN_MAX; i++) {
-      if ( (ctx->pdn[i].pid != -1) &&
-           (ctx->pdn[i].data != NULL) ) {
-        if (ctx->pdn[i].data->pti != pti) {
-          continue;
-        }
-
-        /* PDN entry found */
-        break;
-      }
-    }
-  }
-
-  /* Return the identifier of the PDN connection */
-  return (ctx->pdn[i].pid);
-}
diff --git a/openair-cn/NAS/MME/ESM/SAP/COPYING b/openair-cn/NAS/MME/ESM/SAP/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/SAP/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/NAS/MME/ESM/SAP/Makefile b/openair-cn/NAS/MME/ESM/SAP/Makefile
deleted file mode 100644
index 18bae2492767dad24c2f608da296f776e5d78c9b..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/SAP/Makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-ifndef PROJDIR
-PROJDIR = $(PWD)/../../..
-endif
-
-include $(PROJDIR)/Makerules
-include $(PROJDIR)/Makefile.inc
-
-INCLUDES = -I. -I$(INCDIR) -I$(UTILDIR) -I$(ESMDIR) \
-	-I$(IESDIR) -I$(ESMMSGDIR) -I$(EMMDIR) -I$(MMEAPIDIR) -I$(EMMSAPDIR)
-
-TARGET = $(LIBESMSAP)
-TARGETS = $(TARGET).a $(TARGET).so
-
-all: $(TARGETS)
-
-%.o: %.c Makefile $(PROJDIR)/Makerules $(PROJDIR)/Makefile.inc
-	@echo Compiling $<
-	@$(CC) $(CFLAGS) -c $< -o $@
-
-$(TARGET).a: $(OBJS)
-	@$(RM) $@
-	@$(AR) $(ARFLAGS) $@ $(OBJS)
-	@echo Replacing $@ to $(LIBPROCESS)
-	@$(RM) $(LIBPROCESS)/$@
-	@$(CP) $@ $(LIBPROCESS)
-
-$(TARGET).so: $(OBJS)
-	@$(LD) -G -o $@ $(OBJS)
-	@echo Replacing $@ to $(LIBPROCESS)
-	@$(RM) $(LIBPROCESS)/$@
-	@$(CP) $@ $(LIBPROCESS)
-
-clean:
-	$(RM) $(OBJS) *.bak *~
-
-veryclean: clean
-	$(RM) $(TARGETS)
-
-depend:
-	makedepend -- ${CFLAGS} -- ${SRCS}
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/openair-cn/NAS/MME/ESM/SAP/esm_recv.c b/openair-cn/NAS/MME/ESM/SAP/esm_recv.c
deleted file mode 100644
index 1114178154be42c41dd1bc1c853b2cdb6d8a985c..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/SAP/esm_recv.c
+++ /dev/null
@@ -1,713 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_recv.c
-
-Version     0.1
-
-Date        2013/02/06
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions executed at the ESM Service Access
-        Point upon receiving EPS Session Management messages
-        from the EPS Mobility Management sublayer.
-
-*****************************************************************************/
-
-#include "esm_recv.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "esm_pt.h"
-#include "esm_ebr.h"
-#include "esm_proc.h"
-
-#include "esm_cause.h"
-#include "nas_itti_messaging.h"
-
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by both the UE and the MME upon receiving ESM messages
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_recv_status()                                         **
- **                                                                        **
- ** Description: Processes ESM status message                              **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      msg:       The received ESM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    ESM cause code whenever the processing of  **
- **             the ESM message fails                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-
-int esm_recv_status(emm_data_context_t *ctx, int pti, int ebi,
-                    const esm_status_msg *msg)
-{
-  int esm_cause;
-  int rc;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Received ESM status message (pti=%d, ebi=%d)",
-            pti, ebi);
-
-  /*
-   * Message processing
-   */
-  /* Get the ESM cause */
-  esm_cause = msg->esmcause;
-
-  /* Execute the ESM status procedure */
-  rc = esm_proc_status_ind(ctx, pti, ebi, &esm_cause);
-
-  if (rc != RETURNerror) {
-    esm_cause = ESM_CAUSE_SUCCESS;
-  }
-
-  /* Return the ESM cause value */
-  LOG_FUNC_RETURN (esm_cause);
-}
-
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the MME upon receiving ESM message from the UE
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_recv_pdn_connectivity_request()                       **
- **                                                                        **
- ** Description: Processes PDN connectivity request message                **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      msg:       The received ESM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     new_ebi:   New assigned EPS bearer identity           **
- **      data:      PDN connection and EPS bearer context data **
- **      Return:    ESM cause code whenever the processing of  **
- **             the ESM message fails                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_recv_pdn_connectivity_request(emm_data_context_t *ctx, int pti, int ebi,
-                                      const pdn_connectivity_request_msg *msg,
-                                      unsigned int *new_ebi, void *data)
-{
-  int esm_cause = ESM_CAUSE_SUCCESS;
-  uint8_t i;
-
-  LOG_FUNC_IN;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Received PDN Connectivity Request message "
-            "(ueid=%u, pti=%d, ebi=%d)", ctx->ueid, pti, ebi);
-
-  /*
-   * Procedure transaction identity checking
-   */
-  if ( (pti == ESM_PT_UNASSIGNED) || esm_pt_is_reserved(pti) ) {
-    /* 3GPP TS 24.301, section 7.3.1, case a
-     * Reserved or unassigned PTI value
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid PTI value (pti=%d)", pti);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_PTI_VALUE);
-  }
-  /*
-   * EPS bearer identity checking
-   */
-  else if ( ebi != ESM_EBI_UNASSIGNED ) {
-    /* 3GPP TS 24.301, section 7.3.2, case a
-     * Reserved or assigned EPS bearer identity value */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid EPS bearer identity (ebi=%d)",
-              ebi);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Get PDN connection and EPS bearer context data structure to setup */
-  esm_proc_data_t *esm_data = (esm_proc_data_t *)(data);
-
-  if (data == NULL) {
-    LOG_TRACE(ERROR, "ESM-SAP   - Invalid ESM data structure");
-    LOG_FUNC_RETURN (ESM_CAUSE_PROTOCOL_ERROR);
-  }
-
-  /* Get the PDN connectivity request type */
-  int request_type = -1;
-
-  if (msg->requesttype == REQUEST_TYPE_INITIAL_REQUEST) {
-    request_type = ESM_PDN_REQUEST_INITIAL;
-  } else if (msg->requesttype == REQUEST_TYPE_HANDOVER) {
-    request_type = ESM_PDN_REQUEST_HANDOVER;
-  } else if (msg->requesttype == REQUEST_TYPE_EMERGENCY) {
-    request_type = ESM_PDN_REQUEST_EMERGENCY;
-  } else {
-    /* Unkown PDN request type */
-    LOG_TRACE(ERROR, "ESM-SAP   - Invalid PDN request type");
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_MANDATORY_INFO);
-  }
-
-  /* Get the value of the PDN type indicator */
-  if (msg->pdntype == PDN_TYPE_IPV4) {
-    esm_data->pdn_type = ESM_PDN_TYPE_IPV4;
-  } else if (msg->pdntype == PDN_TYPE_IPV6) {
-    esm_data->pdn_type = ESM_PDN_TYPE_IPV6;
-  } else if (msg->pdntype == PDN_TYPE_IPV4V6) {
-    esm_data->pdn_type = ESM_PDN_TYPE_IPV4V6;
-  } else {
-    /* Unkown PDN type */
-    LOG_TRACE(ERROR, "ESM-SAP   - Invalid PDN type");
-    LOG_FUNC_RETURN (ESM_CAUSE_UNKNOWN_PDN_TYPE);
-  }
-
-  /* Get the Access Point Name, if provided */
-  if (msg->presencemask & PDN_CONNECTIVITY_REQUEST_ACCESS_POINT_NAME_PRESENT) {
-    esm_data->apn = msg->accesspointname.accesspointnamevalue;
-  }
-
-  /* Get the ESM information transfer flag */
-  if (msg->presencemask &
-      PDN_CONNECTIVITY_REQUEST_ESM_INFORMATION_TRANSFER_FLAG_PRESENT) {
-    /* 3GPP TS 24.301, sections 6.5.1.2, 6.5.1.3
-     * ESM information, i.e. protocol configuration options, APN, or both,
-     * has to be sent after the NAS signalling security has been activated
-     * between the UE and the MME.
-     *
-     * The MME then at a later stage in the PDN connectivity procedure
-     * initiates the ESM information request procedure in which the UE
-     * can provide the MME with protocol configuration options or APN
-     * or both.
-     * The MME waits for completion of the ESM information request
-     * procedure before proceeding with the PDN connectivity procedure.
-     */
-    //TODO: rc = esm_proc_information_request();
-  }
-  esm_data->pco = msg->protocolconfigurationoptions;
-  for (i = 0; i < msg->protocolconfigurationoptions.num_protocol_id_or_container_id; i++) {
-    DUP_OCTET_STRING(msg->protocolconfigurationoptions.protocolidcontents[i], esm_data->pco.protocolidcontents[i]);
-    esm_data->pco.protocolid[i]         = msg->protocolconfigurationoptions.protocolid[i];
-    esm_data->pco.lengthofprotocolid[i] = msg->protocolconfigurationoptions.lengthofprotocolid[i];
-  }
-
-
-#if defined(ORIGINAL_CODE)
-  /* Execute the PDN connectivity procedure requested by the UE */
-  int pid = esm_proc_pdn_connectivity_request(ctx, pti, request_type,
-            &esm_data->apn,
-            esm_data->pdn_type,
-            &esm_data->pdn_addr,
-            &esm_data->qos,
-            &esm_cause);
-
-  if (pid != RETURNerror) {
-    /* Create local default EPS bearer context */
-    int rc = esm_proc_default_eps_bearer_context(ctx, pid, new_ebi,
-             &esm_data->qos, &esm_cause);
-
-    if (rc != RETURNerror) {
-      esm_cause = ESM_CAUSE_SUCCESS;
-    }
-  }
-
-#else
-  int is_emergency = (request_type == ESM_PDN_REQUEST_EMERGENCY);
-
-  nas_itti_pdn_connectivity_req(
-    pti,
-    ctx->ueid,
-    ctx->imsi,
-    esm_data,
-    request_type);
-  esm_cause = ESM_CAUSE_SUCCESS;
-#endif
-  /* Return the ESM cause value */
-  LOG_FUNC_RETURN (esm_cause);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_recv_pdn_disconnect_request()                         **
- **                                                                        **
- ** Description: Processes PDN disconnect request message                  **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **      pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      msg:       The received ESM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     linked_ebi:    Linked EPS bearer identity of the default  **
- **             bearer associated with the PDN to discon-  **
- **             nect from                                  **
- **      Return:    ESM cause code whenever the processing of  **
- **             the ESM message fails                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_recv_pdn_disconnect_request(emm_data_context_t *ctx, int pti, int ebi,
-                                    const pdn_disconnect_request_msg *msg,
-                                    unsigned int *linked_ebi)
-{
-  LOG_FUNC_IN;
-
-  int esm_cause = ESM_CAUSE_SUCCESS;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Received PDN Disconnect Request message "
-            "(ueid=%d, pti=%d, ebi=%d)", ctx->ueid, pti, ebi);
-
-  /*
-   * Procedure transaction identity checking
-   */
-  if ( (pti == ESM_PT_UNASSIGNED) || esm_pt_is_reserved(pti) ) {
-    /* 3GPP TS 24.301, section 7.3.1, case b
-     * Reserved or unassigned PTI value
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid PTI value (pti=%d)", pti);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_PTI_VALUE);
-  }
-  /*
-   * EPS bearer identity checking
-   */
-  else if ( ebi != ESM_EBI_UNASSIGNED ) {
-    /* 3GPP TS 24.301, section 7.3.2, case b
-     * Reserved or assigned EPS bearer identity value */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid EPS bearer identity (ebi=%d)",
-              ebi);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Execute the PDN disconnect procedure requested by the UE */
-  int pid = esm_proc_pdn_disconnect_request(ctx, pti, &esm_cause);
-
-  if (pid != RETURNerror) {
-    /* Get the identity of the default EPS bearer context assigned to
-     * the PDN connection to disconnect from */
-    *linked_ebi = msg->linkedepsbeareridentity;
-    /* Release the associated default EPS bearer context */
-    int bid = 0;
-    int rc = esm_proc_eps_bearer_context_deactivate(ctx, FALSE,
-             *linked_ebi,
-             &pid, &bid, &esm_cause);
-
-    if (rc != RETURNerror) {
-      esm_cause = ESM_CAUSE_SUCCESS;
-    }
-  }
-
-  /* Return the ESM cause value */
-  LOG_FUNC_RETURN (esm_cause);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_recv_activate_default_eps_bearer_context_accept()     **
- **                                                                        **
- ** Description: Processes Activate Default EPS Bearer Context Accept      **
- **      message                                                   **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **          pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      msg:       The received ESM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    ESM cause code whenever the processing of  **
- **             the ESM message fails                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_recv_activate_default_eps_bearer_context_accept(emm_data_context_t *ctx,
-    int pti, int ebi,
-    const activate_default_eps_bearer_context_accept_msg *msg)
-{
-  LOG_FUNC_IN;
-
-  int esm_cause = ESM_CAUSE_SUCCESS;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Received Activate Default EPS Bearer Context "
-            "Accept message (ueid=%d, pti=%d, ebi=%d)", ctx->ueid, pti, ebi);
-
-  /*
-   * Procedure transaction identity checking
-   */
-  if (esm_pt_is_reserved(pti)) {
-    /* 3GPP TS 24.301, section 7.3.1, case f
-     * Reserved PTI value
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid PTI value (pti=%d)", pti);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_PTI_VALUE);
-  }
-  /*
-   * EPS bearer identity checking
-   */
-  else if ( esm_ebr_is_reserved(ebi) || esm_ebr_is_not_in_use(ctx, ebi) ) {
-    /* 3GPP TS 24.301, section 7.3.2, case f
-     * Reserved or assigned value that does not match an existing EPS
-     * bearer context
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid EPS bearer identity (ebi=%d)",
-              ebi);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Execute the default EPS bearer context activation procedure accepted
-   * by the UE */
-  int rc = esm_proc_default_eps_bearer_context_accept(ctx, ebi, &esm_cause);
-
-  if (rc != RETURNerror) {
-    esm_cause = ESM_CAUSE_SUCCESS;
-  }
-
-  /* Return the ESM cause value */
-  LOG_FUNC_RETURN (esm_cause);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_recv_activate_default_eps_bearer_context_reject()     **
- **                                                                        **
- ** Description: Processes Activate Default EPS Bearer Context Reject      **
- **      message                                                   **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **          pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      msg:       The received ESM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    ESM cause code whenever the processing of  **
- **             the ESM message fail                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_recv_activate_default_eps_bearer_context_reject(emm_data_context_t *ctx,
-    int pti, int ebi,
-    const activate_default_eps_bearer_context_reject_msg *msg)
-{
-  LOG_FUNC_IN;
-
-  int esm_cause = ESM_CAUSE_SUCCESS;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Received Activate Default EPS Bearer Context "
-            "Reject message (ueid=%d, pti=%d, ebi=%d)", ctx->ueid, pti, ebi);
-
-  /*
-   * Procedure transaction identity checking
-   */
-  if (esm_pt_is_reserved(pti)) {
-    /* 3GPP TS 24.301, section 7.3.1, case f
-     * Reserved PTI value
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid PTI value (pti=%d)", pti);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_PTI_VALUE);
-  }
-  /*
-   * EPS bearer identity checking
-   */
-  else if ( esm_ebr_is_reserved(ebi) || esm_ebr_is_not_in_use(ctx, ebi) ) {
-    /* 3GPP TS 24.301, section 7.3.2, case f
-     * Reserved or assigned value that does not match an existing EPS
-     * bearer context
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid EPS bearer identity (ebi=%d)",
-              ebi);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Execute the default EPS bearer context activation procedure not accepted
-   * by the UE */
-  int rc = esm_proc_default_eps_bearer_context_reject(ctx, ebi, &esm_cause);
-
-  if (rc != RETURNerror) {
-    esm_cause = ESM_CAUSE_SUCCESS;
-  }
-
-  /* Return the ESM cause value */
-  LOG_FUNC_RETURN (esm_cause);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_recv_activate_dedicated_eps_bearer_context_accept()   **
- **                                                                        **
- ** Description: Processes Activate Dedicated EPS Bearer Context Accept    **
- **      message                                                   **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **          pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      msg:       The received ESM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    ESM cause code whenever the processing of  **
- **             the ESM message fails                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_recv_activate_dedicated_eps_bearer_context_accept(emm_data_context_t *ctx,
-    int pti, int ebi,
-    const activate_dedicated_eps_bearer_context_accept_msg *msg)
-{
-  LOG_FUNC_IN;
-
-  int esm_cause = ESM_CAUSE_SUCCESS;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Received Activate Dedicated EPS Bearer "
-            "Context Accept message (ueid=%d, pti=%d, ebi=%d)",
-            ctx->ueid, pti, ebi);
-
-  /*
-   * Procedure transaction identity checking
-   */
-  if (esm_pt_is_reserved(pti)) {
-    /* 3GPP TS 24.301, section 7.3.1, case f
-     * Reserved PTI value
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid PTI value (pti=%d)", pti);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_PTI_VALUE);
-  }
-  /*
-   * EPS bearer identity checking
-   */
-  else if ( esm_ebr_is_reserved(ebi) || esm_ebr_is_not_in_use(ctx, ebi) ) {
-    /* 3GPP TS 24.301, section 7.3.2, case f
-     * Reserved or assigned value that does not match an existing EPS
-     * bearer context
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid EPS bearer identity (ebi=%d)",
-              ebi);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Execute the dedicated EPS bearer context activation procedure accepted
-   * by the UE */
-  int rc = esm_proc_dedicated_eps_bearer_context_accept(ctx, ebi,
-           &esm_cause);
-
-  if (rc != RETURNerror) {
-    esm_cause = ESM_CAUSE_SUCCESS;
-  }
-
-  /* Return the ESM cause value */
-  LOG_FUNC_RETURN (esm_cause);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_recv_activate_dedicated_eps_bearer_context_reject()   **
- **                                                                        **
- ** Description: Processes Activate Dedicated EPS Bearer Context Reject    **
- **      message                                                   **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **          pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      msg:       The received ESM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    ESM cause code whenever the processing of  **
- **             the ESM message fail                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_recv_activate_dedicated_eps_bearer_context_reject(emm_data_context_t *ctx,
-    int pti, int ebi,
-    const activate_dedicated_eps_bearer_context_reject_msg *msg)
-{
-  LOG_FUNC_IN;
-
-  int esm_cause = ESM_CAUSE_SUCCESS;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Received Activate Dedicated EPS Bearer "
-            "Context Reject message (ueid=%d, pti=%d, ebi=%d)",
-            ctx->ueid, pti, ebi);
-
-  /*
-   * Procedure transaction identity checking
-   */
-  if (esm_pt_is_reserved(pti)) {
-    /* 3GPP TS 24.301, section 7.3.1, case f
-     * Reserved PTI value
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid PTI value (pti=%d)", pti);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_PTI_VALUE);
-  }
-  /*
-   * EPS bearer identity checking
-   */
-  else if ( esm_ebr_is_reserved(ebi) || esm_ebr_is_not_in_use(ctx, ebi) ) {
-    /* 3GPP TS 24.301, section 7.3.2, case f
-     * Reserved or assigned value that does not match an existing EPS
-     * bearer context
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid EPS bearer identity (ebi=%d)",
-              ebi);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Execute the dedicated EPS bearer context activation procedure not
-   *  accepted by the UE */
-  int rc = esm_proc_dedicated_eps_bearer_context_reject(ctx, ebi,
-           &esm_cause);
-
-  if (rc != RETURNerror) {
-    esm_cause = ESM_CAUSE_SUCCESS;
-  }
-
-  /* Return the ESM cause value */
-  LOG_FUNC_RETURN (esm_cause);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_recv_deactivate_eps_bearer_context_accept()           **
- **                                                                        **
- ** Description: Processes Deactivate EPS Bearer Context Accept message    **
- **                                                                        **
- ** Inputs:  ueid:      UE local identifier                        **
- **          pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      msg:       The received ESM message                   **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    ESM cause code whenever the processing of  **
- **             the ESM message fails                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_recv_deactivate_eps_bearer_context_accept(emm_data_context_t *ctx,
-    int pti, int ebi,
-    const deactivate_eps_bearer_context_accept_msg *msg)
-{
-  LOG_FUNC_IN;
-
-  int esm_cause = ESM_CAUSE_SUCCESS;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Received Deactivate EPS Bearer Context "
-            "Accept message (ueid=%d, pti=%d, ebi=%d)", ctx->ueid, pti, ebi);
-
-  /*
-   * Procedure transaction identity checking
-   */
-  if (esm_pt_is_reserved(pti)) {
-    /* 3GPP TS 24.301, section 7.3.1, case f
-     * Reserved PTI value
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid PTI value (pti=%d)", pti);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_PTI_VALUE);
-  }
-  /*
-   * EPS bearer identity checking
-   */
-  else if ( esm_ebr_is_reserved(ebi) || esm_ebr_is_not_in_use(ctx, ebi) ) {
-    /* 3GPP TS 24.301, section 7.3.2, case f
-     * Reserved or assigned value that does not match an existing EPS
-     * bearer context
-     */
-    LOG_TRACE(WARNING, "ESM-SAP   - Invalid EPS bearer identity (ebi=%d)",
-              ebi);
-    LOG_FUNC_RETURN (ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY);
-  }
-
-  /*
-   * Message processing
-   */
-  /* Execute the default EPS bearer context activation procedure accepted
-   * by the UE */
-  int pid = esm_proc_eps_bearer_context_deactivate_accept(ctx, ebi,
-            &esm_cause);
-
-  if (pid != RETURNerror) {
-    /* Release all the resources reserved for the PDN */
-    int rc = esm_proc_pdn_disconnect_accept(ctx, pid, &esm_cause);
-
-    if (rc != RETURNerror) {
-      esm_cause = ESM_CAUSE_SUCCESS;
-    }
-  }
-
-  /* Return the ESM cause value */
-  LOG_FUNC_RETURN (esm_cause);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
diff --git a/openair-cn/NAS/MME/ESM/SAP/esm_recv.h b/openair-cn/NAS/MME/ESM/SAP/esm_recv.h
deleted file mode 100644
index 6883d6188519dc46dfc64a7c295cb9b04cd86542..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/SAP/esm_recv.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_recv.h
-
-Version     0.1
-
-Date        2013/02/06
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions executed at the ESM Service Access
-        Point upon receiving EPS Session Management messages
-        from the EPS Mobility Management sublayer.
-
-*****************************************************************************/
-#ifndef __ESM_RECV_H__
-#define __ESM_RECV_H__
-
-#include "EsmStatus.h"
-#include "emmData.h"
-
-
-#include "PdnConnectivityRequest.h"
-#include "PdnDisconnectRequest.h"
-#include "BearerResourceAllocationRequest.h"
-#include "BearerResourceModificationRequest.h"
-
-#include "ActivateDefaultEpsBearerContextAccept.h"
-#include "ActivateDefaultEpsBearerContextReject.h"
-#include "ActivateDedicatedEpsBearerContextAccept.h"
-#include "ActivateDedicatedEpsBearerContextReject.h"
-#include "ModifyEpsBearerContextAccept.h"
-#include "ModifyEpsBearerContextReject.h"
-#include "DeactivateEpsBearerContextAccept.h"
-
-#include "EsmInformationResponse.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by both the UE and the MME upon receiving ESM messages
- * --------------------------------------------------------------------------
- */
-
-int esm_recv_status(emm_data_context_t *ctx, int pti, int ebi,
-                    const esm_status_msg *msg);
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the MME upon receiving ESM message from the UE
- * --------------------------------------------------------------------------
- */
-/*
- * Transaction related messages
- * ----------------------------
- */
-int esm_recv_pdn_connectivity_request(emm_data_context_t *ctx, int pti, int ebi,
-                                      const pdn_connectivity_request_msg *msg, unsigned int *new_ebi, void *data);
-
-int esm_recv_pdn_disconnect_request(emm_data_context_t *ctx, int pti, int ebi,
-                                    const pdn_disconnect_request_msg *msg,
-                                    unsigned int *linked_ebi);
-
-/*
- * Messages related to EPS bearer contexts
- * ---------------------------------------
- */
-int esm_recv_activate_default_eps_bearer_context_accept(emm_data_context_t *ctx,
-    int pti, int ebi, const activate_default_eps_bearer_context_accept_msg *msg);
-
-int esm_recv_activate_default_eps_bearer_context_reject(emm_data_context_t *ctx,
-    int pti, int ebi, const activate_default_eps_bearer_context_reject_msg *msg);
-
-int esm_recv_activate_dedicated_eps_bearer_context_accept(emm_data_context_t *ctx,
-    int pti, int ebi, const activate_dedicated_eps_bearer_context_accept_msg *msg);
-
-int esm_recv_activate_dedicated_eps_bearer_context_reject(emm_data_context_t *ctx,
-    int pti, int ebi, const activate_dedicated_eps_bearer_context_reject_msg *msg);
-
-int esm_recv_deactivate_eps_bearer_context_accept(emm_data_context_t *ctx, int pti,
-    int ebi, const deactivate_eps_bearer_context_accept_msg *msg);
-
-#endif /* __ESM_RECV_H__*/
diff --git a/openair-cn/NAS/MME/ESM/SAP/esm_sap.c b/openair-cn/NAS/MME/ESM/SAP/esm_sap.c
deleted file mode 100644
index 9c2d07c2c5efcd8a9042420d0c97b4f4f734253b..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/SAP/esm_sap.c
+++ /dev/null
@@ -1,799 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_sap.c
-
-Version     0.1
-
-Date        2012/11/22
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the ESM Service Access Points at which the EPS
-        Session Management sublayer provides procedures for the
-        EPS bearer context handling and resources allocation.
-
-*****************************************************************************/
-
-#include "esm_sap.h"
-#include "esm_recv.h"
-#include "esm_send.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "OctetString.h"
-#include "TLVDecoder.h"
-#include "esm_msgDef.h"
-#include "esm_msg.h"
-
-#include "esm_cause.h"
-#include "esm_proc.h"
-
-#include <string.h> // memset, strlen
-#include <assert.h>
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-static int _esm_sap_recv(int msg_type, int is_standalone, emm_data_context_t *ctx,
-                         const OctetString *req, OctetString *rsp, esm_sap_error_t *err);
-static int _esm_sap_send(int msg_type, int is_standalone, emm_data_context_t *ctx,
-                         int pti, int ebi, const esm_sap_data_t *data, OctetString *rsp);
-
-/*
- * String representation of ESM-SAP primitives
- */
-static const char *_esm_sap_primitive_str[] = {
-  "ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_REQ",
-  "ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_CNF",
-  "ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_REJ",
-  "ESM_DEDICATED_EPS_BEARER_CONTEXT_ACTIVATE_REQ",
-  "ESM_DEDICATED_EPS_BEARER_CONTEXT_ACTIVATE_CNF",
-  "ESM_DEDICATED_EPS_BEARER_CONTEXT_ACTIVATE_REJ",
-  "ESM_EPS_BEARER_CONTEXT_MODIFY_REQ",
-  "ESM_EPS_BEARER_CONTEXT_MODIFY_CNF",
-  "ESM_EPS_BEARER_CONTEXT_MODIFY_REJ",
-  "ESM_EPS_BEARER_CONTEXT_DEACTIVATE_REQ",
-  "ESM_EPS_BEARER_CONTEXT_DEACTIVATE_CNF",
-  "ESM_PDN_CONNECTIVITY_REQ",
-  "ESM_PDN_CONNECTIVITY_REJ",
-  "ESM_PDN_DISCONNECT_REQ",
-  "ESM_PDN_DISCONNECT_REJ",
-  "ESM_BEARER_RESOURCE_ALLOCATE_REQ",
-  "ESM_BEARER_RESOURCE_ALLOCATE_REJ",
-  "ESM_BEARER_RESOURCE_MODIFY_REQ",
-  "ESM_BEARER_RESOURCE_MODIFY_REJ",
-  "ESM_UNITDATA_IND",
-};
-
-/*
- * Buffer used to encode ESM messages before being returned to the EPS
- * Mobility Management sublayer in order to be sent onto the network
- */
-#define ESM_SAP_BUFFER_SIZE 4096
-static char _esm_sap_buffer[ESM_SAP_BUFFER_SIZE];
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_sap_initialize()                                      **
- **                                                                        **
- ** Description: Initializes the ESM Service Access Point state machine    **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    NONE                                       **
- **                                                                        **
- ***************************************************************************/
-void esm_sap_initialize(void)
-{
-  LOG_FUNC_IN;
-
-  /* Initialize ESM state machine */
-  //esm_fsm_initialize();
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_sap_send()                                            **
- **                                                                        **
- ** Description: Processes the ESM Service Access Point primitive          **
- **                                                                        **
- ** Inputs:  msg:       The ESM-SAP primitive to process           **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_sap_send(esm_sap_t *msg)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-  int pid;
-
-  /* Check the ESM-SAP primitive */
-  esm_primitive_t primitive = msg->primitive;
-  assert( (primitive > ESM_START) && (primitive < ESM_END));
-
-  LOG_TRACE(INFO, "ESM-SAP   - Received primitive %s (%d)",
-            _esm_sap_primitive_str[primitive - ESM_START - 1], primitive);
-
-  switch (primitive) {
-  case ESM_PDN_CONNECTIVITY_REQ:
-
-  /* The MME received a PDN connectivity request message */
-  rc = _esm_sap_recv(PDN_CONNECTIVITY_REQUEST, msg->is_standalone,
-                     msg->ctx, msg->recv, &msg->send, &msg->err);
-  break;
-
-  case ESM_PDN_CONNECTIVITY_REJ:
-    /* PDN connectivity locally failed */
-    pid = esm_proc_default_eps_bearer_context_failure(msg->ctx);
-
-    if (pid != RETURNerror) {
-      rc = esm_proc_pdn_connectivity_failure(msg->ctx, pid);
-    }
-    break;
-
-  case ESM_PDN_DISCONNECT_REQ:
-  break;
-
-  case ESM_PDN_DISCONNECT_REJ:
-    break;
-
-  case ESM_BEARER_RESOURCE_ALLOCATE_REQ:
-    break;
-
-  case ESM_BEARER_RESOURCE_ALLOCATE_REJ:
-    break;
-
-  case ESM_BEARER_RESOURCE_MODIFY_REQ:
-    break;
-
-  case ESM_BEARER_RESOURCE_MODIFY_REJ:
-    break;
-
-  case ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_REQ:
-    break;
-
-  case ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_CNF:
-    /* The MME received activate default ESP bearer context accept */
-    rc = _esm_sap_recv(ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT,
-                       msg->is_standalone, msg->ctx,
-                       msg->recv, &msg->send, &msg->err);
-    break;
-
-  case ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_REJ:
-    /* The MME received activate default ESP bearer context reject */
-    rc = _esm_sap_recv(ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT,
-                       msg->is_standalone, msg->ctx,
-                       msg->recv, &msg->send, &msg->err);
-    break;
-
-  case ESM_DEDICATED_EPS_BEARER_CONTEXT_ACTIVATE_REQ:
-    break;
-
-  case ESM_DEDICATED_EPS_BEARER_CONTEXT_ACTIVATE_CNF:
-    break;
-
-  case ESM_DEDICATED_EPS_BEARER_CONTEXT_ACTIVATE_REJ:
-    break;
-
-  case ESM_EPS_BEARER_CONTEXT_MODIFY_REQ:
-    break;
-
-  case ESM_EPS_BEARER_CONTEXT_MODIFY_CNF:
-    break;
-
-  case ESM_EPS_BEARER_CONTEXT_MODIFY_REJ:
-    break;
-
-  case ESM_EPS_BEARER_CONTEXT_DEACTIVATE_REQ: {
-    int bid;
-    /*
-     * Locally deactivate EPS bearer context
-     */
-    rc = esm_proc_eps_bearer_context_deactivate(msg->ctx, TRUE,
-         msg->data.eps_bearer_context_deactivate.ebi,
-         &pid, &bid, NULL);
-  }
-  break;
-
-  case ESM_EPS_BEARER_CONTEXT_DEACTIVATE_CNF:
-    break;
-
-  case ESM_UNITDATA_IND:
-    rc = _esm_sap_recv(-1, msg->is_standalone, msg->ctx,
-                       msg->recv, &msg->send, &msg->err);
-    break;
-
-  default:
-    break;
-  }
-
-
-  if (rc != RETURNok) {
-    LOG_TRACE(ERROR, "ESM-SAP   - Failed to process primitive %s (%d)",
-              _esm_sap_primitive_str[primitive - ESM_START - 1], primitive);
-  }
-
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _esm_sap_recv()                                           **
- **                                                                        **
- ** Description: Processes ESM messages received from the network: Decodes **
- **      the message and checks whether it is of the expected ty-  **
- **      pe, checks the validity of the procedure transaction iden-**
- **      tity, checks the validity of the EPS bearer identity, and **
- **      parses the message content.                               **
- **      If no protocol error is found the ESM response message is **
- **      returned in order to be sent back onto the network upon   **
- **      the relevant ESM procedure completion.                    **
- **      If a protocol error is found the ESM status message is    **
- **      returned including the value of the ESM cause code.       **
- **                                                                        **
- ** Inputs:  msg_type:  Expected type of the received ESM message  **
- **      is_standalone: Indicates whether the ESM message has been **
- **             received standalone or together within EMM **
- **             attach related message                     **
- **      ueid:      UE identifier within the MME               **
- **      req:       The encoded ESM request message to process **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     rsp:       The encoded ESM response message to be re- **
- **             turned upon ESM procedure completion       **
- **      err:       Error code of the ESM procedure            **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _esm_sap_buffer                            **
- **                                                                        **
- ***************************************************************************/
-static int _esm_sap_recv(int msg_type, int is_standalone,
-                         emm_data_context_t *ctx,
-                         const OctetString *req, OctetString *rsp,
-                         esm_sap_error_t *err)
-{
-  esm_proc_procedure_t esm_procedure = NULL;
-  int esm_cause = ESM_CAUSE_SUCCESS;
-  int rc = RETURNerror;
-  int decoder_rc;
-
-  ESM_msg esm_msg;
-
-  LOG_FUNC_IN;
-
-  memset(&esm_msg, 0 , sizeof(ESM_msg));
-
-  /* Decode the received ESM message */
-  decoder_rc = esm_msg_decode(&esm_msg, req->value, req->length);
-
-  /* Process decoding errors */
-  if (decoder_rc < 0) {
-    /* 3GPP TS 24.301, section 7.2
-     * Ignore received message that is too short to contain a complete
-     * message type information element */
-    if (decoder_rc == TLV_DECODE_BUFFER_TOO_SHORT) {
-      LOG_TRACE(WARNING, "ESM-SAP   - Discard message too short to "
-                "contain a complete message type IE");
-      /* Return indication that received message has been discarded */
-      *err = ESM_SAP_DISCARDED;
-      LOG_FUNC_RETURN (RETURNok);
-    }
-    /* 3GPP TS 24.301, section 7.2
-     * Unknown or unforeseen message type */
-    else if (decoder_rc == TLV_DECODE_WRONG_MESSAGE_TYPE) {
-      esm_cause = ESM_CAUSE_MESSAGE_TYPE_NOT_IMPLEMENTED;
-    }
-    /* 3GPP TS 24.301, section 7.7.2
-     * Conditional IE errors */
-    else if (decoder_rc == TLV_DECODE_UNEXPECTED_IEI) {
-      esm_cause = ESM_CAUSE_CONDITIONAL_IE_ERROR;
-    } else {
-      esm_cause = ESM_CAUSE_PROTOCOL_ERROR;
-    }
-  }
-  /* Check the type of the ESM message actually received */
-  else if ( (msg_type > 0) && (msg_type != esm_msg.header.message_type) ) {
-    if (esm_msg.header.message_type != ESM_STATUS) {
-      /* Semantically incorrect ESM message */
-      LOG_TRACE(ERROR, "ESM-SAP   - Received ESM message 0x%x is not "
-                "of the expected type (0x%x)",
-                esm_msg.header.message_type, msg_type);
-      esm_cause = ESM_CAUSE_SEMANTICALLY_INCORRECT;
-    }
-  }
-
-  /* Get the procedure transaction identity */
-  unsigned int pti = esm_msg.header.procedure_transaction_identity;
-  /* Get the EPS bearer identity */
-  unsigned int ebi = esm_msg.header.eps_bearer_identity;
-  /* Indicate whether the ESM bearer context related procedure was triggered
-   * by the receipt of a transaction related request message from the UE or
-   * was triggered network-internally */
-  int triggered_by_ue = (pti != PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED);
-  /* Indicate whether the received message shall be ignored */
-  int is_discarded = FALSE;
-
-  if (esm_cause != ESM_CAUSE_SUCCESS) {
-    LOG_TRACE(ERROR, "ESM-SAP   - Failed to decode expected ESM message "
-              "0x%x", msg_type);
-  }
-  /* Process the received ESM message */
-  else switch (esm_msg.header.message_type) {
-
-
-    case ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT:
-      /*
-       * Process activate default EPS bearer context accept message
-       * received from the UE
-       */
-      esm_cause = esm_recv_activate_default_eps_bearer_context_accept(
-                    ctx, pti, ebi,
-                    &esm_msg.activate_default_eps_bearer_context_accept);
-
-      if ( (esm_cause == ESM_CAUSE_INVALID_PTI_VALUE) ||
-           (esm_cause == ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY) ) {
-        /* 3GPP TS 24.301, section 7.3.1, case f
-         * Ignore ESM message received with reserved PTI value
-         * 3GPP TS 24.301, section 7.3.2, case f
-         * Ignore ESM message received with reserved or assigned
-         * value that does not match an existing EPS bearer context
-         */
-        is_discarded = TRUE;
-      }
-
-      break;
-
-    case ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT:
-      /*
-       * Process activate default EPS bearer context reject message
-       * received from the UE
-       */
-      esm_cause = esm_recv_activate_default_eps_bearer_context_reject(
-                    ctx, pti, ebi,
-                    &esm_msg.activate_default_eps_bearer_context_reject);
-
-      if ( (esm_cause == ESM_CAUSE_INVALID_PTI_VALUE) ||
-           (esm_cause == ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY) ) {
-        /* 3GPP TS 24.301, section 7.3.1, case f
-         * Ignore ESM message received with reserved PTI value
-         * 3GPP TS 24.301, section 7.3.2, case f
-         * Ignore ESM message received with reserved or assigned
-         * value that does not match an existing EPS bearer context
-         */
-        is_discarded = TRUE;
-      }
-
-      break;
-
-    case DEACTIVATE_EPS_BEARER_CONTEXT_ACCEPT:
-      /*
-       * Process deactivate EPS bearer context accept message
-       * received from the UE
-       */
-      esm_cause = esm_recv_deactivate_eps_bearer_context_accept(
-                    ctx, pti, ebi,
-                    &esm_msg.deactivate_eps_bearer_context_accept);
-
-      if ( (esm_cause == ESM_CAUSE_INVALID_PTI_VALUE) ||
-           (esm_cause == ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY) ) {
-        /* 3GPP TS 24.301, section 7.3.1, case f
-         * Ignore ESM message received with reserved PTI value
-         * 3GPP TS 24.301, section 7.3.2, case f
-         * Ignore ESM message received with reserved or assigned
-         * value that does not match an existing EPS bearer context
-         */
-        is_discarded = TRUE;
-      }
-
-      break;
-
-    case ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT:
-      /*
-       * Process activate dedicated EPS bearer context accept message
-       * received from the UE
-       */
-      esm_cause = esm_recv_activate_dedicated_eps_bearer_context_accept(
-                    ctx, pti, ebi,
-                    &esm_msg.activate_dedicated_eps_bearer_context_accept);
-
-      if ( (esm_cause == ESM_CAUSE_INVALID_PTI_VALUE) ||
-           (esm_cause == ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY) ) {
-        /* 3GPP TS 24.301, section 7.3.1, case f
-         * Ignore ESM message received with reserved PTI value
-         * 3GPP TS 24.301, section 7.3.2, case f
-         * Ignore ESM message received with reserved or assigned
-         * value that does not match an existing EPS bearer context
-         */
-        is_discarded = TRUE;
-      }
-
-      break;
-
-    case ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REJECT:
-      /*
-       * Process activate dedicated EPS bearer context reject message
-       * received from the UE
-       */
-      esm_cause = esm_recv_activate_dedicated_eps_bearer_context_reject(
-                    ctx, pti, ebi,
-                    &esm_msg.activate_dedicated_eps_bearer_context_reject);
-
-      if ( (esm_cause == ESM_CAUSE_INVALID_PTI_VALUE) ||
-           (esm_cause == ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY) ) {
-        /* 3GPP TS 24.301, section 7.3.1, case f
-         * Ignore ESM message received with reserved PTI value
-         * 3GPP TS 24.301, section 7.3.2, case f
-         * Ignore ESM message received with reserved or assigned
-         * value that does not match an existing EPS bearer context
-         */
-        is_discarded = TRUE;
-      }
-
-      break;
-
-    case MODIFY_EPS_BEARER_CONTEXT_ACCEPT:
-      break;
-
-    case MODIFY_EPS_BEARER_CONTEXT_REJECT:
-      break;
-
-    case PDN_CONNECTIVITY_REQUEST: {
-      esm_proc_data_t data;
-      memset(&data, 0, sizeof(esm_proc_data_t));
-
-      LOG_TRACE(DEBUG, "ESM-SAP   - PDN_CONNECTIVITY_REQUEST pti %u ebi %u", pti, ebi);
-
-      /*
-       * Process PDN connectivity request message received from the UE
-       */
-      esm_cause = esm_recv_pdn_connectivity_request(ctx, pti, ebi,
-                  &esm_msg.pdn_connectivity_request,
-                  &ebi, &data);
-
-      if (esm_cause != ESM_CAUSE_SUCCESS) {
-        /* Return reject message */
-        rc = esm_send_pdn_connectivity_reject(pti,
-                                              &esm_msg.pdn_connectivity_reject, esm_cause);
-        /* Setup the callback function used to send PDN connectivity
-         * reject message onto the network */
-        esm_procedure = esm_proc_pdn_connectivity_reject;
-        /* No ESM status message should be returned */
-        esm_cause = ESM_CAUSE_SUCCESS;
-      } else {
-#if defined(ORIGINAL_CODE)
-        /* Setup PDN type */
-        int pdn_type = -1;
-
-        if (data.pdn_type == ESM_PDN_TYPE_IPV4) {
-          pdn_type = PDN_VALUE_TYPE_IPV4;
-        } else if (data.pdn_type == ESM_PDN_TYPE_IPV6) {
-          pdn_type = PDN_VALUE_TYPE_IPV6;
-        } else if (data.pdn_type == ESM_PDN_TYPE_IPV4V6) {
-          pdn_type = PDN_VALUE_TYPE_IPV4V6;
-        }
-
-        /* Setup EPS bearer level Quality of Service */
-        EpsQualityOfService qos;
-        qos.bitRatesPresent = 1;
-        qos.bitRatesExtPresent = 0;
-        qos.qci = data.qos.qci;
-        qos.bitRates.maxBitRateForUL = data.qos.mbrUL;
-        qos.bitRates.maxBitRateForDL = data.qos.mbrDL;
-        qos.bitRates.guarBitRateForUL = data.qos.gbrUL;
-        qos.bitRates.guarBitRateForDL = data.qos.gbrDL;
-
-        /* Return default EPS bearer context request message */
-        rc = esm_send_activate_default_eps_bearer_context_request(
-               pti, ebi,
-               &esm_msg.activate_default_eps_bearer_context_request,
-               &data.apn, pdn_type, &data.pdn_addr, &qos, esm_cause);
-#if 0
-        PacketFilters pkfs;
-        pkfs[0].identifier = 1;
-        pkfs[0].direction = TRAFFIC_FLOW_TEMPLATE_DOWNLINK_ONLY;
-        pkfs[0].eval_precedence = 2;
-        pkfs[0].packetfilter.flags =
-          (TRAFFIC_FLOW_TEMPLATE_IPV4_REMOTE_ADDR_FLAG |
-           TRAFFIC_FLOW_TEMPLATE_PROTOCOL_NEXT_HEADER_FLAG |
-           TRAFFIC_FLOW_TEMPLATE_SINGLE_LOCAL_PORT_FLAG |
-           TRAFFIC_FLOW_TEMPLATE_SINGLE_REMOTE_PORT_FLAG);
-        pkfs[0].packetfilter.ipv4remoteaddr[0].addr = 192;
-        pkfs[0].packetfilter.ipv4remoteaddr[1].addr = 168;
-        pkfs[0].packetfilter.ipv4remoteaddr[2].addr = 12;
-        pkfs[0].packetfilter.ipv4remoteaddr[3].addr = 1;
-        pkfs[0].packetfilter.ipv4remoteaddr[0].mask = 255;
-        pkfs[0].packetfilter.ipv4remoteaddr[1].mask = 255;
-        pkfs[0].packetfilter.ipv4remoteaddr[2].mask = 255;
-        pkfs[0].packetfilter.ipv4remoteaddr[3].mask = 0;
-        pkfs[0].packetfilter.protocolidentifier_nextheader = 17;
-        pkfs[0].packetfilter.singlelocalport = 10001;
-        pkfs[0].packetfilter.singleremoteport = 12001;
-        pkfs[1].identifier = 2;
-        pkfs[1].direction = TRAFFIC_FLOW_TEMPLATE_UPLINK_ONLY;
-        pkfs[1].eval_precedence = 3;
-        pkfs[1].packetfilter.flags =
-          (TRAFFIC_FLOW_TEMPLATE_IPV4_REMOTE_ADDR_FLAG |
-           TRAFFIC_FLOW_TEMPLATE_PROTOCOL_NEXT_HEADER_FLAG |
-           TRAFFIC_FLOW_TEMPLATE_SINGLE_LOCAL_PORT_FLAG |
-           TRAFFIC_FLOW_TEMPLATE_SINGLE_REMOTE_PORT_FLAG);
-        pkfs[1].packetfilter.ipv4remoteaddr[0].addr = 192;
-        pkfs[1].packetfilter.ipv4remoteaddr[1].addr = 168;
-        pkfs[1].packetfilter.ipv4remoteaddr[2].addr = 12;
-        pkfs[1].packetfilter.ipv4remoteaddr[3].addr = 1;
-        pkfs[1].packetfilter.ipv4remoteaddr[0].mask = 255;
-        pkfs[1].packetfilter.ipv4remoteaddr[1].mask = 255;
-        pkfs[1].packetfilter.ipv4remoteaddr[2].mask = 255;
-        pkfs[1].packetfilter.ipv4remoteaddr[3].mask = 0;
-        pkfs[1].packetfilter.protocolidentifier_nextheader = 17;
-        pkfs[1].packetfilter.singlelocalport = 10002;
-        pkfs[1].packetfilter.singleremoteport = 12002;
-        /* Return dedicated EPS bearer context request message */
-        rc = esm_send_activate_dedicated_eps_bearer_context_request(
-               pti, ebi,
-               &esm_msg.activate_dedicated_eps_bearer_context_request,
-               ebi, &qos, &pkfs, 2);
-#endif
-        esm_procedure = esm_proc_default_eps_bearer_context_request;
-#else
-        esm_cause = ESM_CAUSE_SUCCESS;
-#endif
-        /* Setup the callback function used to send default EPS bearer
-         * context request message onto the network */
-        //esm_procedure = esm_proc_default_eps_bearer_context_request;
-      }
-
-      break;
-    }
-
-
-    case PDN_DISCONNECT_REQUEST:
-      /*
-       * Process PDN disconnect request message received from the UE
-       */
-      esm_cause = esm_recv_pdn_disconnect_request(ctx, pti, ebi,
-                  &esm_msg.pdn_disconnect_request, &ebi);
-
-      if (esm_cause != ESM_CAUSE_SUCCESS) {
-        /* Return reject message */
-        rc = esm_send_pdn_disconnect_reject(pti,
-                                            &esm_msg.pdn_disconnect_reject, esm_cause);
-        /* Setup the callback function used to send PDN connectivity
-         * reject message onto the network */
-        esm_procedure = esm_proc_pdn_disconnect_reject;
-        /* No ESM status message should be returned */
-        esm_cause = ESM_CAUSE_SUCCESS;
-      } else {
-        /* Return deactivate EPS bearer context request message */
-        rc = esm_send_deactivate_eps_bearer_context_request(pti, ebi,
-             &esm_msg.deactivate_eps_bearer_context_request,
-             ESM_CAUSE_REGULAR_DEACTIVATION);
-        /* Setup the callback function used to send deactivate EPS
-         * bearer context request message onto the network */
-        esm_procedure = esm_proc_eps_bearer_context_deactivate_request;
-      }
-
-      break;
-
-    case BEARER_RESOURCE_ALLOCATION_REQUEST:
-      break;
-
-    case BEARER_RESOURCE_MODIFICATION_REQUEST:
-      break;
-
-    case ESM_INFORMATION_RESPONSE:
-      break;
-
-    case ESM_STATUS:
-      /*
-       * Process received ESM status message
-       */
-      esm_cause = esm_recv_status(ctx, pti, ebi, &esm_msg.esm_status);
-      break;
-
-    default:
-      LOG_TRACE(WARNING, "ESM-SAP   - Received unexpected ESM message "
-                "0x%x", esm_msg.header.message_type);
-      esm_cause = ESM_CAUSE_MESSAGE_TYPE_NOT_IMPLEMENTED;
-      break;
-    }
-
-  if ( (esm_cause != ESM_CAUSE_SUCCESS) && (esm_procedure == NULL) ) {
-    /* ESM message processing failed */
-    if (!is_discarded) {
-      /* 3GPP TS 24.301, section 7.1
-       * Handling of unknown, unforeseen, and erroneous protocol data */
-      LOG_TRACE(WARNING, "ESM-SAP   - Received ESM message is not valid "
-                "(cause=%d)", esm_cause);
-      /* Return an ESM status message */
-      rc = esm_send_status(pti, ebi, &esm_msg.esm_status, esm_cause);
-      /* Setup the callback function used to send ESM status message
-       * onto the network */
-      esm_procedure = esm_proc_status;
-      /* Discard received ESM message */
-      is_discarded = TRUE;
-    }
-  } else {
-    /* ESM message processing succeed */
-    *err = ESM_SAP_SUCCESS;
-    rc = RETURNok;
-  }
-
-  if ( (rc != RETURNerror) && (esm_procedure != NULL) ) {
-    /* Encode the returned ESM response message */
-    int size = esm_msg_encode(&esm_msg, (uint8_t *)_esm_sap_buffer,
-                              ESM_SAP_BUFFER_SIZE);
-
-    if (size > 0) {
-      rsp->length = size;
-      rsp->value = (uint8_t *)(_esm_sap_buffer);
-    }
-
-    /* Complete the relevant ESM procedure */
-    rc = (*esm_procedure)(is_standalone, ctx, ebi, rsp, triggered_by_ue);
-
-    if (is_discarded) {
-      /* Return indication that received message has been discarded */
-      *err = ESM_SAP_DISCARDED;
-    } else if (rc != RETURNok) {
-      /* Return indication that ESM procedure failed */
-      *err = ESM_SAP_FAILED;
-    }
-  } else if (is_discarded) {
-    LOG_TRACE(WARNING, "ESM-SAP   - Silently discard message type 0x%x",
-              esm_msg.header.message_type);
-    /* Return indication that received message has been discarded */
-    *err = ESM_SAP_DISCARDED;
-    rc = RETURNok;
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _esm_sap_send()                                           **
- **                                                                        **
- ** Description: Processes ESM messages to send onto the network: Encoded  **
- **      the message and execute the relevant ESM procedure.       **
- **                                                                        **
- ** Inputs:  msg_type:  Type of the ESM message to be sent         **
- **      is_standalone: Indicates whether the ESM message has to   **
- **             be sent standalone or together within EMM  **
- **             attach related message                     **
- **      ueid:      UE identifier within the MME               **
- **      pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      data:      Data required to build the message         **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     rsp:       The encoded ESM response message to be re- **
- **             turned upon ESM procedure completion       **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _esm_sap_buffer                            **
- **                                                                        **
- ***************************************************************************/
-static int _esm_sap_send(int msg_type, int is_standalone,
-                         emm_data_context_t *ctx,
-                         int pti, int ebi, const esm_sap_data_t *data,
-                         OctetString *rsp)
-{
-  LOG_FUNC_IN;
-
-  esm_proc_procedure_t esm_procedure = NULL;
-  int rc = RETURNok;
-
-  /* Indicate whether the message is sent by the UE or the MME */
-  int sent_by_ue = FALSE;
-
-  ESM_msg esm_msg;
-  memset(&esm_msg, 0 , sizeof(ESM_msg));
-
-  /* Process the ESM message to send */
-  switch (msg_type) {
-
-
-
-  case ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST:
-    break;
-
-  case ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REQUEST:
-    break;
-
-  case MODIFY_EPS_BEARER_CONTEXT_REQUEST:
-    break;
-
-  case DEACTIVATE_EPS_BEARER_CONTEXT_REQUEST:
-    break;
-
-  case PDN_CONNECTIVITY_REJECT:
-    break;
-
-  case PDN_DISCONNECT_REJECT:
-    break;
-
-  case BEARER_RESOURCE_ALLOCATION_REJECT:
-    break;
-
-  case BEARER_RESOURCE_MODIFICATION_REJECT:
-    break;
-
-  default:
-    LOG_TRACE(WARNING, "ESM-SAP   - Send unexpected ESM message 0x%x",
-              msg_type);
-    break;
-  }
-
-  if (rc != RETURNerror) {
-    /* Encode the returned ESM response message */
-    int size = esm_msg_encode(&esm_msg, (uint8_t *)_esm_sap_buffer,
-                              ESM_SAP_BUFFER_SIZE);
-
-    if (size > 0) {
-      rsp->length = size;
-      rsp->value = (uint8_t *)(_esm_sap_buffer);
-    }
-
-    /* Execute the relevant ESM procedure */
-    if (esm_procedure) {
-      rc = (*esm_procedure)(is_standalone, ctx, pti, rsp, sent_by_ue);
-    }
-  }
-
-  LOG_FUNC_RETURN(rc);
-}
-
diff --git a/openair-cn/NAS/MME/ESM/SAP/esm_sap.h b/openair-cn/NAS/MME/ESM/SAP/esm_sap.h
deleted file mode 100644
index c2d900a4ae3a239dac0f2f3ff1fe9546752d612c..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/SAP/esm_sap.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_sap.h
-
-Version     0.1
-
-Date        2012/11/22
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the ESM Service Access Points at which the EPS
-        Session Management sublayer provides procedures for the
-        EPS bearer context handling and resources allocation.
-
-*****************************************************************************/
-#ifndef __ESM_SAP_H__
-#define __ESM_SAP_H__
-
-#include "esm_sapDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-void esm_sap_initialize(void);
-
-int esm_sap_send(esm_sap_t *msg);
-
-#endif /* __ESM_SAP_H__*/
diff --git a/openair-cn/NAS/MME/ESM/SAP/esm_sapDef.h b/openair-cn/NAS/MME/ESM/SAP/esm_sapDef.h
deleted file mode 100644
index a1372193f17a32b26247f37f2bc1e7899f621489..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/SAP/esm_sapDef.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_sapDef.h
-
-Version     0.1
-
-Date        2012/11/21
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the ESM Service Access Point that provides EPS
-        bearer context handling and resources allocation procedures.
-
-*****************************************************************************/
-
-#include "emmData.h"
-
-#ifndef __ESM_SAPDEF_H__
-#define __ESM_SAPDEF_H__
-
-#include "OctetString.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/*
- * EPS Session Management primitives
- * ---------------------------------
- */
-typedef enum esm_primitive_s {
-  ESM_START = 0,
-  /* Procedures related to EPS bearer contexts (initiated by the network) */
-  ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_REQ,
-  ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_CNF,
-  ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_REJ,
-  ESM_DEDICATED_EPS_BEARER_CONTEXT_ACTIVATE_REQ,
-  ESM_DEDICATED_EPS_BEARER_CONTEXT_ACTIVATE_CNF,
-  ESM_DEDICATED_EPS_BEARER_CONTEXT_ACTIVATE_REJ,
-  ESM_EPS_BEARER_CONTEXT_MODIFY_REQ,
-  ESM_EPS_BEARER_CONTEXT_MODIFY_CNF,
-  ESM_EPS_BEARER_CONTEXT_MODIFY_REJ,
-  ESM_EPS_BEARER_CONTEXT_DEACTIVATE_REQ,
-  ESM_EPS_BEARER_CONTEXT_DEACTIVATE_CNF,
-  /* Transaction related procedures (initiated by the UE) */
-  ESM_PDN_CONNECTIVITY_REQ,
-  ESM_PDN_CONNECTIVITY_REJ,
-  ESM_PDN_DISCONNECT_REQ,
-  ESM_PDN_DISCONNECT_REJ,
-  ESM_BEARER_RESOURCE_ALLOCATE_REQ,
-  ESM_BEARER_RESOURCE_ALLOCATE_REJ,
-  ESM_BEARER_RESOURCE_MODIFY_REQ,
-  ESM_BEARER_RESOURCE_MODIFY_REJ,
-  /* ESM data indication ("raw" ESM message) */
-  ESM_UNITDATA_IND,
-  ESM_END
-} esm_primitive_t;
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/*
- * Error code returned upon processing ESM-SAP primitive
- */
-typedef enum {
-  ESM_SAP_SUCCESS = 1, /* ESM-SAP primitive succeed           */
-  ESM_SAP_DISCARDED,   /* ESM-SAP primitive failed, the caller should
-              * ignore the error                */
-  ESM_SAP_FAILED   /* ESM-SAP primitive failed, the caller should
-              * take specific action and state transition may
-              * occurs                  */
-} esm_sap_error_t;
-
-/*
- * ESM primitive for activate EPS default bearer context procedure
- * ---------------------------------------------------------------
- */
-typedef struct esm_activate_eps_default_bearer_context_s {
-} esm_activate_eps_default_bearer_context_t;
-
-/*
- * ESM primitive for PDN connectivity procedure
- * --------------------------------------------
- */
-typedef struct esm_pdn_connectivity_s {
-  int cid;        /* PDN connection local identifier      */
-  int is_defined; /* Indicates whether a PDN context has been defined
-             * for the specified APN            */
-  int pdn_type;   /* PDN address type (IPv4, IPv6, IPv4v6)    */
-  const char *apn;    /* PDN's Access Point Name          */
-  int is_emergency;   /* Indicates whether the PDN context has been
-             * defined to establish connection for emergency
-             * bearer services              */
-} esm_pdn_connectivity_t;
-
-/*
- * ESM primitive for PDN disconnect procedure
- * ------------------------------------------
- */
-typedef struct esm_pdn_disconnect_s {
-  int cid;        /* PDN connection local identifier      */
-} esm_pdn_disconnect_t;
-
-/*
- * ESM primitive for deactivate EPS bearer context procedure
- * ---------------------------------------------------------
- */
-typedef struct esm_eps_bearer_context_deactivate_s {
-#define ESM_SAP_ALL_EBI     0xff
-  unsigned int ebi;   /* EPS bearer identity of the EPS bearer context
-             * to be deactivated                */
-} esm_eps_bearer_context_deactivate_t;
-
-/*
- * ------------------------------
- * Structure of ESM-SAP primitive
- * ------------------------------
- */
-typedef union {
-  esm_pdn_connectivity_t pdn_connect;
-  esm_pdn_disconnect_t pdn_disconnect;
-  esm_eps_bearer_context_deactivate_t eps_bearer_context_deactivate;
-} esm_sap_data_t;
-
-typedef struct esm_sap_s {
-  esm_primitive_t primitive;  /* ESM-SAP primitive to process     */
-  int is_standalone;      /* Indicates whether the ESM message handled
-                 * within this primitive has to be sent/received
-                 * standalone or together within an EMM related
-                 * message              */
-  emm_data_context_t *ctx;       /* UE context                       */
-  unsigned int        ueid;      /* Local UE identifier              */
-  esm_sap_error_t     err;       /* ESM-SAP error code               */
-  const OctetString  *recv;      /* Encoded ESM message received     */
-  OctetString         send;      /* Encoded ESM message to be sent   */
-  esm_sap_data_t      data;      /* ESM message data parameters      */
-} esm_sap_t;
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-#endif /* __ESM_SAPDEF_H__*/
diff --git a/openair-cn/NAS/MME/ESM/SAP/esm_send.c b/openair-cn/NAS/MME/ESM/SAP/esm_send.c
deleted file mode 100644
index 4926c749a21716de246d37c82419edd43b91a98b..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/SAP/esm_send.c
+++ /dev/null
@@ -1,427 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_send.c
-
-Version     0.1
-
-Date        2013/02/11
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions executed at the ESM Service Access
-        Point to send EPS Session Management messages to the
-        EPS Mobility Management sublayer.
-
-*****************************************************************************/
-
-#include "esm_send.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-
-#include "esm_msgDef.h"
-#include "esm_cause.h"
-
-#include <string.h> // strlen
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by both the UE and the MME to send ESM messages
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_send_status()                                         **
- **                                                                        **
- ** Description: Builds ESM status message                                 **
- **                                                                        **
- **      The ESM status message is sent by the network or the UE   **
- **      to pass information on the status of the indicated EPS    **
- **      bearer context and report certain error conditions.       **
- **                                                                        **
- ** Inputs:  pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      esm_cause: ESM cause code                             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     msg:       The ESM message to be sent                 **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_send_status(int pti, int ebi, esm_status_msg *msg, int esm_cause)
-{
-  LOG_FUNC_IN;
-
-  /* Mandatory - ESM message header */
-  msg->protocoldiscriminator = EPS_SESSION_MANAGEMENT_MESSAGE;
-  msg->epsbeareridentity = ebi;
-  msg->messagetype = ESM_STATUS;
-  msg->proceduretransactionidentity = pti;
-
-  /* Mandatory - ESM cause code */
-  msg->esmcause = esm_cause;
-
-  LOG_TRACE(WARNING, "ESM-SAP   - Send ESM Status message (pti=%d, ebi=%d)",
-            msg->proceduretransactionidentity, msg->epsbeareridentity);
-
-  LOG_FUNC_RETURN(RETURNok);
-}
-
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the MME to send ESM message to the UE
- * --------------------------------------------------------------------------
- */
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_send_pdn_connectivity_reject()                        **
- **                                                                        **
- ** Description: Builds PDN Connectivity Reject message                    **
- **                                                                        **
- **      The PDN connectivity reject message is sent by the net-   **
- **      work to the UE to reject establishment of a PDN connec-   **
- **      tion.                                                     **
- **                                                                        **
- ** Inputs:  pti:       Procedure transaction identity             **
- **      esm_cause: ESM cause code                             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     msg:       The ESM message to be sent                 **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_send_pdn_connectivity_reject(int pti, pdn_connectivity_reject_msg *msg,
-                                     int esm_cause)
-{
-  LOG_FUNC_IN;
-
-  /* Mandatory - ESM message header */
-  msg->protocoldiscriminator = EPS_SESSION_MANAGEMENT_MESSAGE;
-  msg->epsbeareridentity = EPS_BEARER_IDENTITY_UNASSIGNED;
-  msg->messagetype = PDN_CONNECTIVITY_REJECT;
-  msg->proceduretransactionidentity = pti;
-
-  /* Mandatory - ESM cause code */
-  msg->esmcause = esm_cause;
-  /* Optional IEs  */
-  msg->presencemask = 0;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Send PDN Connectivity Reject message "
-            "(pti=%d, ebi=%d)",
-            msg->proceduretransactionidentity, msg->epsbeareridentity);
-
-  LOG_FUNC_RETURN(RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_send_pdn_disconnect_reject()                          **
- **                                                                        **
- ** Description: Builds PDN Disconnect Reject message                      **
- **                                                                        **
- **      The PDN disconnect reject message is sent by the network  **
- **      to the UE to reject release of a PDN connection.          **
- **                                                                        **
- ** Inputs:  pti:       Procedure transaction identity             **
- **      esm_cause: ESM cause code                             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     msg:       The ESM message to be sent                 **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_send_pdn_disconnect_reject(int pti, pdn_disconnect_reject_msg *msg,
-                                   int esm_cause)
-{
-  LOG_FUNC_IN;
-
-  /* Mandatory - ESM message header */
-  msg->protocoldiscriminator = EPS_SESSION_MANAGEMENT_MESSAGE;
-  msg->epsbeareridentity = EPS_BEARER_IDENTITY_UNASSIGNED;
-  msg->messagetype = PDN_DISCONNECT_REJECT;
-  msg->proceduretransactionidentity = pti;
-
-  /* Mandatory - ESM cause code */
-  msg->esmcause = esm_cause;
-  /* Optional IEs  */
-  msg->presencemask = 0;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Send PDN Disconnect Reject message "
-            "(pti=%d, ebi=%d)",
-            msg->proceduretransactionidentity, msg->epsbeareridentity);
-
-  LOG_FUNC_RETURN(RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_send_activate_default_eps_bearer_context_request()    **
- **                                                                        **
- ** Description: Builds Activate Default EPS Bearer Context Request        **
- **      message                                                   **
- **                                                                        **
- **      The activate default EPS bearer context request message   **
- **      is sent by the network to the UE to request activation of **
- **      a default EPS bearer context.                             **
- **                                                                        **
- ** Inputs:  pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      qos:       Subscribed EPS quality of service          **
- **      apn:       Access Point Name in used                  **
- **      pdn_addr:  PDN IPv4 address and/or IPv6 suffix        **
- **      esm_cause: ESM cause code                             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     msg:       The ESM message to be sent                 **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_send_activate_default_eps_bearer_context_request(int pti,
-    int ebi,
-    activate_default_eps_bearer_context_request_msg *msg,
-    const OctetString *apn,
-    const ProtocolConfigurationOptions *pco,
-    int pdn_type,
-    const OctetString *pdn_addr,
-    const EpsQualityOfService *qos,
-    int esm_cause)
-{
-  LOG_FUNC_IN;
-
-  /* Mandatory - ESM message header */
-  msg->protocoldiscriminator = EPS_SESSION_MANAGEMENT_MESSAGE;
-  msg->epsbeareridentity = ebi;
-  msg->messagetype = ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST;
-  msg->proceduretransactionidentity = pti;
-
-  /* Mandatory - EPS QoS */
-  msg->epsqos = *qos;
-  LOG_TRACE(INFO, "ESM-SAP   - epsqos  qci:  %u", qos->qci);
-
-  if (qos->bitRatesPresent) {
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  maxBitRateForUL:  %u", qos->bitRates.maxBitRateForUL);
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  maxBitRateForDL:  %u", qos->bitRates.maxBitRateForDL);
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  guarBitRateForUL: %u", qos->bitRates.guarBitRateForUL);
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  guarBitRateForDL: %u", qos->bitRates.guarBitRateForDL);
-  } else {
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  no bit rates defined");
-  }
-
-  if (qos->bitRatesExtPresent) {
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  maxBitRateForUL  Ext: %u", qos->bitRatesExt.maxBitRateForUL);
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  maxBitRateForDL  Ext: %u", qos->bitRatesExt.maxBitRateForDL);
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  guarBitRateForUL Ext: %u", qos->bitRatesExt.guarBitRateForUL);
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  guarBitRateForDL Ext: %u", qos->bitRatesExt.guarBitRateForDL);
-  } else {
-    LOG_TRACE(INFO, "ESM-SAP   - epsqos  no bit rates ext defined");
-  }
-
-
-  if ((apn == NULL) || ((apn  != NULL) && (apn->value == NULL))) {
-    LOG_TRACE(WARNING, "ESM-SAP   - apn is NULL!");
-  }
-
-  LOG_TRACE(INFO, "ESM-SAP   - apn is %s", apn->value);
-
-  /* Mandatory - Access Point Name */
-  msg->accesspointname.accesspointnamevalue = *apn;
-
-  /* Mandatory - PDN address */
-  LOG_TRACE(INFO, "ESM-SAP   - pdn_type is %u", pdn_type);
-  msg->pdnaddress.pdntypevalue = pdn_type;
-  LOG_TRACE(INFO, "ESM-SAP   - pdn_addr is %u", dump_octet_string(pdn_addr));
-  msg->pdnaddress.pdnaddressinformation = *pdn_addr;
-
-  /* Optional - ESM cause code */
-  msg->presencemask = 0;
-
-  if (esm_cause != ESM_CAUSE_SUCCESS) {
-    msg->presencemask |=
-      ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_ESM_CAUSE_PRESENT;
-    msg->esmcause = esm_cause;
-  }
-
-  if (pco != NULL) {
-    msg->presencemask |=
-    		ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT;
-    msg->protocolconfigurationoptions = *pco;
-  }
-
-#warning "TEST LG FORCE APN-AMBR"
-  LOG_TRACE(INFO, "ESM-SAP   - FORCE APN-AMBR");
-  msg->presencemask |=
-    ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_APNAMBR_PRESENT;
-  msg->apnambr.apnambrfordownlink             = 0xfe; // (8640kbps)
-  msg->apnambr.apnambrforuplink               = 0xfe; // (8640kbps)
-  msg->apnambr.apnambrfordownlink_extended    = 0xde; // (200Mbps)
-  msg->apnambr.apnambrforuplink_extended      = 0x9e; // (100Mbps)
-  msg->apnambr.apnambrfordownlink_extended2   = 0;
-  msg->apnambr.apnambrforuplink_extended2     = 0;
-  msg->apnambr.extensions                     = 0 | APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_EXTENSION_PRESENT;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Send Activate Default EPS Bearer Context "
-            "Request message (pti=%d, ebi=%d)",
-            msg->proceduretransactionidentity, msg->epsbeareridentity);
-
-  LOG_FUNC_RETURN(RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_send_activate_dedicated_eps_bearer_context_request()  **
- **                                                                        **
- ** Description: Builds Activate Dedicated EPS Bearer Context Request      **
- **      message                                                   **
- **                                                                        **
- **      The activate dedicated EPS bearer context request message **
- **      is sent by the network to the UE to request activation of **
- **      a dedicated EPS bearer context associated with the same   **
- **      PDN address(es) and APN as an already active default EPS  **
- **      bearer context.                                           **
- **                                                                        **
- ** Inputs:  pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      linked_ebi:    EPS bearer identity of the default bearer  **
- **             associated with the EPS dedicated bearer   **
- **             to be activated                            **
- **      qos:       EPS quality of service                     **
- **      tft:       Traffic flow template                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     msg:       The ESM message to be sent                 **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_send_activate_dedicated_eps_bearer_context_request(int pti, int ebi,
-    activate_dedicated_eps_bearer_context_request_msg *msg,
-    int linked_ebi, const EpsQualityOfService *qos,
-    PacketFilters *pkfs, int n_pkfs)
-{
-  int i;
-  LOG_FUNC_IN;
-
-  /* Mandatory - ESM message header */
-  msg->protocoldiscriminator = EPS_SESSION_MANAGEMENT_MESSAGE;
-  msg->epsbeareridentity = ebi;
-  msg->messagetype = ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REQUEST;
-  msg->proceduretransactionidentity = pti;
-
-  /* Mandatory - EPS QoS */
-  msg->epsqos = *qos;
-
-  /* Mandatory - traffic flow template */
-  msg->tft.tftoperationcode = TRAFFIC_FLOW_TEMPLATE_OPCODE_CREATE;
-  msg->tft.ebit = TRAFFIC_FLOW_TEMPLATE_PARAMETER_LIST_IS_NOT_INCLUDED;
-  msg->tft.numberofpacketfilters = n_pkfs;
-
-  for (i = 0; i < msg->tft.numberofpacketfilters; i++) {
-    msg->tft.packetfilterlist.createtft[i] = (*pkfs)[i];
-  }
-
-  /* Optional */
-  msg->presencemask = 0;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Send Activate Dedicated EPS Bearer Context "
-            "Request message (pti=%d, ebi=%d)",
-            msg->proceduretransactionidentity, msg->epsbeareridentity);
-
-  LOG_FUNC_RETURN(RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_send_deactivate_eps_bearer_context_request()          **
- **                                                                        **
- ** Description: Builds Deactivate EPS Bearer Context Request message      **
- **                                                                        **
- **      The deactivate EPS bearer context request message is sent **
- **      by the network to request deactivation of an active EPS   **
- **      bearer context.                                           **
- **                                                                        **
- ** Inputs:  pti:       Procedure transaction identity             **
- **      ebi:       EPS bearer identity                        **
- **      esm_cause: ESM cause code                             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     msg:       The ESM message to be sent                 **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_send_deactivate_eps_bearer_context_request(int pti, int ebi,
-    deactivate_eps_bearer_context_request_msg *msg,
-    int esm_cause)
-{
-  LOG_FUNC_IN;
-
-  /* Mandatory - ESM message header */
-  msg->protocoldiscriminator = EPS_SESSION_MANAGEMENT_MESSAGE;
-  msg->epsbeareridentity = ebi;
-  msg->messagetype = DEACTIVATE_EPS_BEARER_CONTEXT_REQUEST;
-  msg->proceduretransactionidentity = pti;
-
-  /* Mandatory - ESM cause code */
-  msg->esmcause = esm_cause;
-  /* Optional IEs  */
-  msg->presencemask = 0;
-
-  LOG_TRACE(INFO, "ESM-SAP   - Send Deactivate EPS Bearer Context Request "
-            "message (pti=%d, ebi=%d)",
-            msg->proceduretransactionidentity, msg->epsbeareridentity);
-
-  LOG_FUNC_RETURN(RETURNok);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/ESM/SAP/esm_send.h b/openair-cn/NAS/MME/ESM/SAP/esm_send.h
deleted file mode 100644
index 07c0af4635ddb49d09233878d677f3cc348e269f..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/SAP/esm_send.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_send.h
-
-Version     0.1
-
-Date        2013/02/11
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions executed at the ESM Service Access
-        Point to send EPS Session Management messages to the
-        EPS Mobility Management sublayer.
-
-*****************************************************************************/
-#ifndef __ESM_SEND_H__
-#define __ESM_SEND_H__
-
-#include "EsmStatus.h"
-
-#include "PdnConnectivityReject.h"
-#include "PdnDisconnectReject.h"
-#include "BearerResourceAllocationReject.h"
-#include "BearerResourceModificationReject.h"
-
-#include "ActivateDefaultEpsBearerContextRequest.h"
-#include "ActivateDedicatedEpsBearerContextRequest.h"
-#include "ModifyEpsBearerContextRequest.h"
-#include "DeactivateEpsBearerContextRequest.h"
-
-#include "EsmInformationRequest.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by both the UE and the MME to send ESM messages
- * --------------------------------------------------------------------------
- */
-int esm_send_status(int pti, int ebi, esm_status_msg *msg, int esm_cause);
-
-
-/*
- * --------------------------------------------------------------------------
- * Functions executed by the MME to send ESM message to the UE
- * --------------------------------------------------------------------------
- */
-/*
- * Transaction related messages
- * ----------------------------
- */
-int esm_send_pdn_connectivity_reject(int pti, pdn_connectivity_reject_msg *msg,
-                                     int esm_cause);
-
-int esm_send_pdn_disconnect_reject(int pti, pdn_disconnect_reject_msg *msg,
-                                   int esm_cause);
-
-/*
- * Messages related to EPS bearer contexts
- * ---------------------------------------
- */
-int esm_send_activate_default_eps_bearer_context_request(int pti, int ebi,
-    activate_default_eps_bearer_context_request_msg *msg, const OctetString *apn,
-    const ProtocolConfigurationOptions *pco, int pdn_type, const OctetString *pdn_addr,
-    const EpsQualityOfService *qos, int esm_cause);
-
-int esm_send_activate_dedicated_eps_bearer_context_request(int pti, int ebi,
-    activate_dedicated_eps_bearer_context_request_msg *msg, int linked_ebi,
-    const EpsQualityOfService *qos, PacketFilters *pkfs, int n_pkfs);
-
-int esm_send_deactivate_eps_bearer_context_request(int pti, int ebi,
-    deactivate_eps_bearer_context_request_msg *msg, int esm_cause);
-
-#endif /* __ESM_SEND_H__*/
diff --git a/openair-cn/NAS/MME/ESM/esmData.h b/openair-cn/NAS/MME/ESM/esmData.h
deleted file mode 100644
index a5f839c1dc88efce9ad777fde5a7b07e926617e5..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esmData.h
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esmData.h
-
-Version     0.1
-
-Date        2012/12/04
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines internal private data handled by EPS Session
-        Management sublayer.
-
-*****************************************************************************/
-#include <stdio.h>  // sprintf
-
-#include "networkDef.h"
-#include "OctetString.h"
-#include "EpsBearerIdentity.h"
-
-#include "mme_api.h"
-
-#if defined(NAS_BUILT_IN_EPC)
-# include "tree.h"
-#endif
-
-#ifndef __ESMDATA_H__
-#define __ESMDATA_H__
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/* Total number of active EPS bearers */
-#define ESM_DATA_EPS_BEARER_TOTAL   11
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/*
- * Minimal and maximal value of an EPS bearer identity:
- * The EPS Bearer Identity (EBI) identifies a message flow
- */
-#define ESM_EBI_MIN     (EPS_BEARER_IDENTITY_FIRST)
-#define ESM_EBI_MAX     (EPS_BEARER_IDENTITY_LAST)
-
-/* EPS bearer context states */
-typedef enum {
-  ESM_EBR_INACTIVE,       /* No EPS bearer context exists     */
-  ESM_EBR_ACTIVE,     /* The EPS bearer context is active,
-                 * in the UE, in the network        */
-  ESM_EBR_INACTIVE_PENDING,   /* The network has initiated an EPS bearer
-                 * context deactivation towards the UE  */
-  ESM_EBR_MODIFY_PENDING, /* The network has initiated an EPS bearer
-                 * context modification towards the UE  */
-  ESM_EBR_ACTIVE_PENDING, /* The network has initiated an EPS bearer
-                 * context activation towards the UE    */
-  ESM_EBR_STATE_MAX
-} esm_ebr_state;
-
-/* ESM message timer retransmission data */
-typedef struct esm_ebr_timer_data_s {
-  void        *ctx;
-  unsigned int ueid;      /* Lower layers UE identifier       */
-  unsigned int ebi;       /* EPS bearer identity          */
-  unsigned int count;     /* Retransmission counter       */
-  OctetString  msg;        /* Encoded ESM message to re-transmit   */
-} esm_ebr_timer_data_t;
-
-/*
- * -----------------------
- * EPS bearer context data
- * -----------------------
- */
-typedef struct esm_ebr_context_s {
-  unsigned char ebi;      /* EPS bearer identity          */
-  esm_ebr_state status;   /* EPS bearer context status        */
-
-  struct nas_timer_t timer;   /* Retransmission timer         */
-  esm_ebr_timer_data_t *args; /* Retransmission timer parameters data */
-} esm_ebr_context_t;
-
-typedef struct esm_ebr_data_s {
-  unsigned char index;    /* Index of the next EPS bearer context
-                 * identity to be used */
-#define ESM_EBR_DATA_SIZE (ESM_EBI_MAX - ESM_EBI_MIN + 1)
-  esm_ebr_context_t *context[ESM_EBR_DATA_SIZE + 1];
-} esm_ebr_data_t;
-
-/*
- * --------------------------------------------------------------------------
- * Structure of data handled by EPS Session Management sublayer in the UE
- * and in the MME
- * --------------------------------------------------------------------------
- */
-
-/*
- * Structure of an EPS bearer
- * --------------------------
- * An EPS bearer is a logical concept which applies to the connection
- * between two endpoints (UE and PDN Gateway) with specific QoS attri-
- * butes. An EPS bearer corresponds to one Quality of Service policy
- * applied within the EPC and E-UTRAN.
- */
-typedef struct esm_bearer_s {
-  int bid;        /* Identifier of the EPS bearer         */
-  unsigned int ebi;   /* EPS bearer identity              */
-  network_qos_t qos;  /* EPS bearer level QoS parameters      */
-  network_tft_t tft;  /* Traffic Flow Template for packet filtering   */
-} esm_bearer_t;
-
-/*
- * Structure of a PDN connection
- * -----------------------------
- * A PDN connection is the association between a UE represented by
- * one IPv4 address and/or one IPv6 prefix and a PDN represented by
- * an Access Point Name (APN).
- */
-typedef struct esm_pdn_s {
-  unsigned int pti;   /* Identity of the procedure transaction executed
-             * to activate the PDN connection entry     */
-  int is_emergency;   /* Emergency bearer services indicator      */
-  OctetString apn;    /* Access Point Name currently in used      */
-  int ambr;       /* Aggregate Maximum Bit Rate of this APN   */
-  int type;       /* Address PDN type (IPv4, IPv6, IPv4v6)    */
-#define ESM_DATA_IPV4_ADDRESS_SIZE  4
-#define ESM_DATA_IPV6_ADDRESS_SIZE  8
-#define ESM_DATA_IP_ADDRESS_SIZE    (ESM_DATA_IPV4_ADDRESS_SIZE + \
-                                     ESM_DATA_IPV6_ADDRESS_SIZE)
-  /* IPv4 PDN address and/or IPv6 prefix      */
-  char ip_addr[ESM_DATA_IP_ADDRESS_SIZE+1];
-  int addr_realloc;   /* Indicates whether the UE is allowed to subsequently
-             * request another PDN connectivity to the same APN
-             * using an address PDN type (IPv4 or IPv6) other
-             * than the one already activated       */
-  int n_bearers;  /* Number of allocated EPS bearers;
-             * default EPS bearer is defined at index 0 */
-#define ESM_DATA_EPS_BEARER_MAX 4
-  esm_bearer_t *bearer[ESM_DATA_EPS_BEARER_MAX];
-} esm_pdn_t;
-
-/*
- * Structure of the ESM data
- * -------------------------
- * The EPS Session Management sublayer handles data related to PDN
- * connections and EPS bearers. Each active PDN connection has a de-
- * fault EPS bearer. Several dedicated EPS bearers may exist within
- * a PDN connection.
- */
-typedef struct esm_data_context_s {
-  unsigned int ue_id;
-
-  int n_ebrs;     /* Total number of active EPS bearer contexts   */
-  int n_pdns;     /* Number of active PDN connections     */
-  int emergency;  /* Indicates whether a PDN connection for emergency
-             * bearer services is established       */
-#define ESM_DATA_PDN_MAX    4
-  struct {
-    int pid;     /* Identifier of the PDN connection        */
-    int is_active;   /* TRUE/FALSE if the PDN connection is active/inactive
-              * or the process to activate/deactivate the PDN
-              * connection is in progress           */
-    esm_pdn_t *data; /* Active PDN connection data          */
-  } pdn[ESM_DATA_PDN_MAX+1];
-
-  esm_ebr_data_t ebr;
-} esm_data_context_t;
-
-
-
-/*
- * --------------------------------------------------------------------------
- *  ESM internal data handled by EPS Session Management sublayer in the MME
- * --------------------------------------------------------------------------
- */
-/*
- * Structure of the ESM data
- * -------------------------
- */
-typedef struct esm_data_s {
-  /*
-   * MME configuration
-   * -----------------
-   */
-  mme_api_esm_config_t conf;
-  /*
-   * ESM contexts
-   * ------------
-   */
-# if defined(NAS_BUILT_IN_EPC)
-  /* Use a tree for ue data context within MME */
-  RB_HEAD(esm_data_context_map, esm_data_context_s) ctx_map;
-# else
-#   define ESM_DATA_NB_UE_MAX  (MME_API_NB_UE_MAX + 1)
-  esm_data_context_t *ctx[ESM_DATA_NB_UE_MAX];
-# endif
-} esm_data_t;
-
-# if defined(NAS_BUILT_IN_EPC)
-struct esm_data_context_s *esm_data_context_get(
-  esm_data_t *esm_data, unsigned int _ueid);
-
-struct esm_data_context_s *esm_data_context_remove(
-  esm_data_t *esm_data, struct esm_data_context_s *elm);
-
-void esm_data_context_add(esm_data_t *esm_data, struct esm_data_context_s *elm);
-
-# endif
-
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/*
- * ESM internal data (used within ESM only)
- * ----------------------------------------
- */
-esm_data_t _esm_data;
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-extern char ip_addr_str[100];
-
-extern char *esm_data_get_ipv4_addr(const OctetString *ip_addr);
-
-extern char *esm_data_get_ipv6_addr(const OctetString *ip_addr);
-
-extern char *esm_data_get_ipv4v6_addr(const OctetString *ip_addr);
-
-#endif /* __ESMDATA_H__*/
diff --git a/openair-cn/NAS/MME/ESM/esm_ebr.c b/openair-cn/NAS/MME/ESM/esm_ebr.c
deleted file mode 100644
index 720e69a5eb59a19bd9dbf2e1fce1220f5ce374a3..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_ebr.c
+++ /dev/null
@@ -1,680 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_ebr.c
-
-Version     0.1
-
-Date        2013/01/29
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions used to handle state of EPS bearer contexts
-        and manage ESM messages re-transmission.
-
-*****************************************************************************/
-
-#include <stdlib.h> // malloc, free
-#include <string.h> // memcpy
-
-#include "emmData.h"
-#include "esm_ebr.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "mme_api.h"
-#include "msc.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-
-#define ESM_EBR_NB_UE_MAX   (MME_API_NB_UE_MAX + 1)
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/* String representation of EPS bearer context status */
-static const char *_esm_ebr_state_str[ESM_EBR_STATE_MAX] = {
-  "BEARER CONTEXT INACTIVE",
-  "BEARER CONTEXT ACTIVE",
-  "BEARER CONTEXT INACTIVE PENDING",
-  "BEARER CONTEXT MODIFY PENDING",
-  "BEARER CONTEXT ACTIVE PENDING"
-};
-
-/*
- * ----------------------------------
- * List of EPS bearer contexts per UE
- * ----------------------------------
- */
-
-#if !defined(NAS_BUILT_IN_EPC)
-static esm_ebr_data_t _esm_ebr_data[ESM_EBR_NB_UE_MAX];
-#endif
-
-/*
- * ----------------------
- * User notification data
- * ----------------------
- */
-
-
-/* Returns the index of the next available entry in the list of EPS bearer
- * context data */
-static int _esm_ebr_get_available_entry(emm_data_context_t *ctx);
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_initialize()                                      **
- **                                                                        **
- ** Description: Initialize EPS bearer context data                        **
- **                                                                        **
- ** Inputs:  cb:        User notification callback                 **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ***************************************************************************/
-void esm_ebr_initialize(void
-)
-{
-#if !defined(NAS_BUILT_IN_EPC)
-  int ueid, i;
-
-  LOG_FUNC_IN;
-
-  for (ueid = 0; ueid < ESM_EBR_NB_UE_MAX; ueid++) {
-    _esm_ebr_data[ueid].index = 0;
-
-    /* Initialize EPS bearer context data */
-    for (i = 0; i < ESM_EBR_DATA_SIZE + 1; i++) {
-      _esm_ebr_data[ueid].context[i] = NULL;
-    }
-  }
-  LOG_FUNC_OUT;
-#endif
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_assign()                                          **
- **                                                                        **
- ** Description: Assigns a new EPS bearer context                          **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      ebi:       Identity of the new EPS bearer context     **
- **      cid:       Identifier of the PDN context the EPS bea- **
- **             rer context is associated to               **
- **      default_ebr    TRUE if the new bearer context is associa- **
- **             ted to a default EPS bearer                **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    The identity of the new EPS bearer context **
- **             if successfully assigned;                  **
- **             the not assigned EBI (0) otherwise.        **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_assign(emm_data_context_t *ctx, int ebi)
-{
-  esm_ebr_context_t *ebr_ctx = NULL;
-  unsigned int       ueid    = 0;
-  int                i;
-
-  LOG_FUNC_IN;
-
-  ebr_ctx = ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN];
-
-  if (ebi != ESM_EBI_UNASSIGNED) {
-    if ( (ebi < ESM_EBI_MIN) || (ebi > ESM_EBI_MAX) ) {
-      LOG_FUNC_RETURN (ESM_EBI_UNASSIGNED);
-    } else if (ebr_ctx != NULL) {
-      LOG_TRACE(WARNING, "ESM-FSM   - EPS bearer context already "
-                "assigned (ebi=%d)", ebi);
-      LOG_FUNC_RETURN (ESM_EBI_UNASSIGNED);
-    }
-
-    /* The specified EPS bearer context is available */
-    i = ebi - ESM_EBI_MIN;
-  } else {
-    /* Search for an available EPS bearer identity */
-    i = _esm_ebr_get_available_entry(ctx);
-
-    if (i < 0) {
-      LOG_FUNC_RETURN(ESM_EBI_UNASSIGNED);
-    }
-
-    /* An available EPS bearer context is found */
-    ebi = i + ESM_EBI_MIN;
-  }
-
-  /* Assign new EPS bearer context */
-  ebr_ctx =
-    (esm_ebr_context_t *)malloc(sizeof(esm_ebr_context_t));
-
-  if (ebr_ctx == NULL) {
-    LOG_FUNC_RETURN(ESM_EBI_UNASSIGNED);
-  }
-
-#if defined(NAS_BUILT_IN_EPC)
-  ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN] = ebr_ctx;
-#else
-  _esm_ebr_data[ueid].context[ebi - ESM_EBI_MIN] = ebr_ctx;
-#endif
-
-  /* Store the index of the next available EPS bearer identity */
-  ctx->esm_data_ctx.ebr.index = i + 1;
-
-
-  /* Set the EPS bearer identity */
-  ebr_ctx->ebi = ebi;
-  /* Set the EPS bearer context status to INACTIVE */
-  ebr_ctx->status = ESM_EBR_INACTIVE;
-  /* Disable the retransmission timer */
-  ebr_ctx->timer.id = NAS_TIMER_INACTIVE_ID;
-  /* Setup retransmission timer parameters */
-  ebr_ctx->args = NULL;
-
-  LOG_TRACE(INFO, "ESM-FSM   - EPS bearer context %d assigned", ebi);
-  LOG_FUNC_RETURN(ebr_ctx->ebi);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_release()                                         **
- **                                                                        **
- ** Description: Release the given EPS bearer identity                     **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      ebi:       The identity of the EPS bearer context to  **
- **             be released                                **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok if the EPS bearer context has     **
- **             been successfully released;                **
- **             RETURNerror otherwise.                     **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_release(
-  emm_data_context_t *ctx,
-  int ebi)
-{
-  esm_ebr_context_t *ebr_ctx;
-
-  LOG_FUNC_IN;
-
-  if ( (ebi < ESM_EBI_MIN) || (ebi > ESM_EBI_MAX) ) {
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /* Get EPS bearer context data */
-  ebr_ctx = ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN];
-
-  if ( (ebr_ctx == NULL) || (ebr_ctx->ebi != ebi) ) {
-    /* EPS bearer context not assigned */
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /* Do not release active EPS bearer context */
-  if (ebr_ctx->status != ESM_EBR_INACTIVE) {
-    LOG_TRACE(ERROR, "ESM-FSM   - EPS bearer context is not INACTIVE");
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /* Stop the retransmission timer if still running */
-  if (ebr_ctx->timer.id != NAS_TIMER_INACTIVE_ID) {
-    LOG_TRACE(INFO, "ESM-FSM   - Stop retransmission timer %d",
-              ebr_ctx->timer.id);
-    ebr_ctx->timer.id = nas_timer_stop(ebr_ctx->timer.id);
-    MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 Timer %x ebi %u stopped",ebr_ctx->timer.id, ebi);
-  }
-
-  /* Release the retransmisison timer parameters */
-  if (ebr_ctx->args) {
-    if (ebr_ctx->args->msg.length > 0) {
-      free(ebr_ctx->args->msg.value);
-    }
-
-    free(ebr_ctx->args);
-    ebr_ctx->args = NULL;
-  }
-
-  /* Release EPS bearer context data */
-  free(ebr_ctx);
-  ebr_ctx = NULL;
-
-  LOG_TRACE(INFO, "ESM-FSM   - EPS bearer context %d released", ebi);
-  LOG_FUNC_RETURN (RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_start_timer()                                     **
- **                                                                        **
- ** Description: Start the timer of the specified EPS bearer context to    **
- **      expire after a given time interval. Timer expiration will **
- **      schedule execution of the callback function where stored  **
- **      ESM message should be re-transmit.                        **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      ebi:       The identity of the EPS bearer             **
- **      msg:       The encoded ESM message to be stored       **
- **      sec:       The value of the time interval in seconds  **
- **      cb:        Function executed upon timer expiration    **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_start_timer(emm_data_context_t *ctx, int ebi, const OctetString *msg,
-                        long sec, nas_timer_callback_t cb)
-{
-  esm_ebr_context_t *ebr_ctx;
-
-  LOG_FUNC_IN;
-
-  if ( (ebi < ESM_EBI_MIN) || (ebi > ESM_EBI_MAX) ) {
-    LOG_TRACE(ERROR, "ESM-FSM   - Retransmission timer bad ebi %d",
-              ebi);
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /* Get EPS bearer context data */
-  ebr_ctx = ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN];
-
-  if ( (ebr_ctx == NULL) || (ebr_ctx->ebi != ebi) ) {
-    /* EPS bearer context not assigned */
-    LOG_TRACE(ERROR, "ESM-FSM   - EPS bearer context not assigned");
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  if (ebr_ctx->timer.id != NAS_TIMER_INACTIVE_ID) {
-    if (ebr_ctx->args) {
-      /* Re-start the retransmission timer */
-      ebr_ctx->timer.id = nas_timer_restart(ebr_ctx->timer.id);
-      MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 Timer %x ebi %u restarted",ebr_ctx->timer.id, ebi);
-    }
-  } else {
-    /* Setup the retransmission timer parameters */
-    ebr_ctx->args = (esm_ebr_timer_data_t *)malloc(sizeof(esm_ebr_timer_data_t));
-
-    if (ebr_ctx->args) {
-      /* Set the UE identifier */
-      ebr_ctx->args->ueid = ctx->ueid;
-      /* Set the EPS bearer identity */
-      ebr_ctx->args->ebi = ebi;
-      /* Reset the retransmission counter */
-      ebr_ctx->args->count = 0;
-      /* Set the ESM message to be re-transmited */
-      ebr_ctx->args->msg.value = (uint8_t *)malloc(msg->length);
-      ebr_ctx->args->msg.length = 0;
-
-      if (ebr_ctx->args->msg.value) {
-        memcpy(ebr_ctx->args->msg.value, msg->value, msg->length);
-        ebr_ctx->args->msg.length = msg->length;
-      }
-
-      /* Setup the retransmission timer to expire at the given
-       * time interval */
-      ebr_ctx->timer.id = nas_timer_start(sec, cb, ebr_ctx->args);
-      MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 Timer %x ebi %u started",ebr_ctx->timer.id, ebi);
-      ebr_ctx->timer.sec = sec;
-    }
-  }
-
-  if ( (ebr_ctx->args != NULL) && (ebr_ctx->timer.id != NAS_TIMER_INACTIVE_ID) ) {
-    LOG_TRACE(INFO, "ESM-FSM   - Retransmission timer %d expires in "
-              "%ld seconds", ebr_ctx->timer.id, ebr_ctx->timer.sec);
-    LOG_FUNC_RETURN (RETURNok);
-  } else {
-    LOG_TRACE(ERROR, "ESM-FSM   - ebr_ctx->args == NULL(%p) or ebr_ctx->timer.id == NAS_TIMER_INACTIVE_ID == -1 (%d)" ,
-              ebr_ctx->args,
-              ebr_ctx->timer.id);
-  }
-
-  LOG_FUNC_RETURN (RETURNerror);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_stop_timer()                                      **
- **                                                                        **
- ** Description: Stop the timer previously started for the given EPS bea-  **
- **      rer context                                               **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      ebi:       The identity of the EPS bearer             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_stop_timer(emm_data_context_t *ctx, int ebi)
-{
-  esm_ebr_context_t *ebr_ctx ;
-
-  LOG_FUNC_IN;
-
-  if ( (ebi < ESM_EBI_MIN) || (ebi > ESM_EBI_MAX) ) {
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /* Get EPS bearer context data */
-  ebr_ctx = ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN];
-
-  if ( (ebr_ctx == NULL) || (ebr_ctx->ebi != ebi) ) {
-    /* EPS bearer context not assigned */
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /* Stop the retransmission timer if still running */
-  if (ebr_ctx->timer.id != NAS_TIMER_INACTIVE_ID) {
-    LOG_TRACE(INFO, "ESM-FSM   - Stop retransmission timer %d",
-              ebr_ctx->timer.id);
-    ebr_ctx->timer.id = nas_timer_stop(ebr_ctx->timer.id);
-    MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 Timer %x ebi %u stopped",ebr_ctx->timer.id, ebi);
-  }
-
-  /* Release the retransmisison timer parameters */
-  if (ebr_ctx->args) {
-    if (ebr_ctx->args->msg.length > 0) {
-      free(ebr_ctx->args->msg.value);
-    }
-
-    free(ebr_ctx->args);
-    ebr_ctx->args = NULL;
-  }
-
-  LOG_FUNC_RETURN (RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_get_pending_ebi()                                 **
- **                                                                        **
- ** Description: Returns the EPS bearer identity assigned to the first EPS **
- **      bearer context entry which is pending in the given state  **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      status:    The EPS bearer context status              **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    The EPS bearer identity of the EPS bearer  **
- **             context entry if it exists;                **
- **             the not assigned EBI (0) otherwise.        **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_get_pending_ebi(emm_data_context_t *ctx, esm_ebr_state status)
-{
-  int i;
-
-  LOG_FUNC_IN;
-
-  for (i = 0; i < ESM_EBR_DATA_SIZE; i++) {
-    if (ctx->esm_data_ctx.ebr.context[i] == NULL) {
-      continue;
-    }
-
-    if (ctx->esm_data_ctx.ebr.context[i]->status != status) {
-      continue;
-    }
-
-    /* EPS bearer context entry found */
-    break;
-  }
-
-  if (i < ESM_EBR_DATA_SIZE) {
-    LOG_FUNC_RETURN (ctx->esm_data_ctx.ebr.context[i]->ebi);
-  }
-
-  /* EPS bearer context entry not found */
-  LOG_FUNC_RETURN (ESM_EBI_UNASSIGNED);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_set_status()                                      **
- **                                                                        **
- ** Description: Set the status of the specified EPS bearer context to the **
- **      given state                                               **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      ebi:       The identity of the EPS bearer             **
- **      status:    The new EPS bearer context status          **
- **      ue_requested:  TRUE/FALSE if the modification of the EPS  **
- **             bearer context status was requested by the **
- **             UE/network                                 **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_set_status(
-  emm_data_context_t *ctx,
-  int ebi, esm_ebr_state status, int ue_requested)
-{
-  esm_ebr_context_t *ebr_ctx;
-  esm_ebr_state old_status;
-
-  LOG_FUNC_IN;
-
-  if (ctx == NULL) {
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-
-  if ( (ebi < ESM_EBI_MIN) || (ebi > ESM_EBI_MAX) ) {
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  /* Get EPS bearer context data */
-  ebr_ctx = ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN];
-
-  if ( (ebr_ctx == NULL) || (ebr_ctx->ebi != ebi) ) {
-    /* EPS bearer context not assigned */
-    LOG_TRACE(ERROR, "ESM-FSM   - EPS bearer context not assigned "
-              "(ebi=%d)", ebi);
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  old_status = ebr_ctx->status;
-
-  if (status < ESM_EBR_STATE_MAX) {
-    if (status != old_status) {
-      LOG_TRACE(INFO, "ESM-FSM   - Status of EPS bearer context %d changed:"
-                  " %s ===> %s", ebi,
-                  _esm_ebr_state_str[old_status], _esm_ebr_state_str[status]);
-      MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 ESM state %s => %s "NAS_UE_ID_FMT" ",
-        _esm_ebr_state_str[old_status], _esm_ebr_state_str[status], ctx->ueid);
-
-      ebr_ctx->status = status;
-      LOG_FUNC_RETURN (RETURNok);
-    } else {
-        LOG_TRACE(INFO, "ESM-FSM   - Status of EPS bearer context %d unchanged:"
-                  " %s ", ebi, _esm_ebr_state_str[status]);
-    }
-  }
-
-  LOG_FUNC_RETURN (RETURNerror);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_get_status()                                      **
- **                                                                        **
- ** Description: Get the current status value of the specified EPS bearer  **
- **      context                                                   **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      ebi:       The identity of the EPS bearer             **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    The current value of the EPS bearer con-   **
- **             text status                                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-esm_ebr_state esm_ebr_get_status(
-  emm_data_context_t *ctx,
-  int ebi)
-{
-  if ( (ebi < ESM_EBI_MIN) || (ebi > ESM_EBI_MAX) ) {
-    return (ESM_EBR_INACTIVE);
-  }
-
-  if (ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN] == NULL) {
-    /* EPS bearer context not allocated */
-    return (ESM_EBR_INACTIVE);
-  }
-
-  if (ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN]->ebi != ebi) {
-    /* EPS bearer context not assigned */
-    return (ESM_EBR_INACTIVE);
-  }
-
-  return (ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN]->status);
-}
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_is_reserved()                                     **
- **                                                                        **
- ** Description: Check whether the given EPS bearer identity is a reserved **
- **      value                                                     **
- **                                                                        **
- ** Inputs:  ebi:       The identity of the EPS bearer             **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    TRUE, FALSE                                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_is_reserved(int ebi)
-{
-  return ( (ebi != ESM_EBI_UNASSIGNED) && (ebi < ESM_EBI_MIN) );
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_is_not_in_use()                                   **
- **                                                                        **
- ** Description: Check whether the given EPS bearer identity does not      **
- **      match an assigned EBI value currently in use              **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      ebi:       The identity of the EPS bearer             **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    TRUE, FALSE                                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_is_not_in_use(
-  emm_data_context_t *ctx,
-  int ebi)
-{
-
-  return ( (ebi == ESM_EBI_UNASSIGNED) ||
-           (ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN] == NULL) ||
-           (ctx->esm_data_ctx.ebr.context[ebi - ESM_EBI_MIN]->ebi) != ebi);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _esm_ebr_get_available_entry()                            **
- **                                                                        **
- ** Description: Returns the index of the next available entry in the list **
- **      of EPS bearer context data                                **
- **                                                                        **
- ** Inputs:  ueid:      Lower layers UE identifier                 **
- **      Others:    _esm_ebr_data                              **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    The index of the next available EPS bearer **
- **             context data entry; -1 if no any entry is  **
- **             available.                                 **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _esm_ebr_get_available_entry(emm_data_context_t *ctx)
-{
-  int i;
-
-  for (i = ctx->esm_data_ctx.ebr.index; i < ESM_EBR_DATA_SIZE; i++) {
-    if (ctx->esm_data_ctx.ebr.context[i] != NULL) {
-      continue;
-    }
-
-    return i;
-  }
-
-  for (i = 0; i < ctx->esm_data_ctx.ebr.index; i++) {
-    if (ctx->esm_data_ctx.ebr.context[i] != NULL) {
-      continue;
-    }
-
-    return i;
-  }
-
-  /* No available EBI entry found */
-  return (-1);
-}
diff --git a/openair-cn/NAS/MME/ESM/esm_ebr.h b/openair-cn/NAS/MME/ESM/esm_ebr.h
deleted file mode 100644
index bacd62802c943de2f66506fab53319ebcaabf74a..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_ebr.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_ebr.h
-
-Version     0.1
-
-Date        2013/01/29
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions used to handle state of EPS bearer contexts
-        and manage ESM messages re-transmission.
-
-*****************************************************************************/
-#ifndef __ESM_EBR_H__
-#define __ESM_EBR_H__
-
-#include "OctetString.h"
-#include "nas_timer.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/* Unassigned EPS bearer identity value */
-#define ESM_EBI_UNASSIGNED  (EPS_BEARER_IDENTITY_UNASSIGNED)
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-int esm_ebr_is_reserved(int ebi);
-
-void esm_ebr_initialize(void);
-int esm_ebr_assign(emm_data_context_t *ctx, int ebi);
-int esm_ebr_release(emm_data_context_t *ctx, int ebi);
-
-int esm_ebr_start_timer(emm_data_context_t *ctx, int ebi, const OctetString *msg,
-                        long sec, nas_timer_callback_t cb);
-int esm_ebr_stop_timer(emm_data_context_t *ctx, int ebi);
-
-int esm_ebr_get_pending_ebi(emm_data_context_t *ctx, esm_ebr_state status);
-
-int esm_ebr_set_status(emm_data_context_t *ctx, int ebi, esm_ebr_state status,
-                       int ue_requested);
-esm_ebr_state esm_ebr_get_status(emm_data_context_t *ctx, int ebi);
-
-int esm_ebr_is_not_in_use(emm_data_context_t *ctx, int ebi);
-
-#endif /* __ESM_EBR_H__*/
diff --git a/openair-cn/NAS/MME/ESM/esm_ebr_context.c b/openair-cn/NAS/MME/ESM/esm_ebr_context.c
deleted file mode 100644
index db0d99500fb9a43711b18c89962e5ac13e5b75b4..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_ebr_context.c
+++ /dev/null
@@ -1,431 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_ebr_context.h
-
-Version     0.1
-
-Date        2013/05/28
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions used to handle EPS bearer contexts.
-
-*****************************************************************************/
-#include <stdlib.h> // malloc, free
-#include <string.h> // memset
-
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emmData.h"
-#include "esm_ebr.h"
-
-#include "esm_ebr_context.h"
-
-#include "emm_sap.h"
-
-#if defined(ENABLE_ITTI)
-# include "assertions.h"
-#endif
-
-
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_context_create()                                  **
- **                                                                        **
- ** Description: Creates a new EPS bearer context to the PDN with the spe- **
- **      cified PDN connection identifier                          **
- **                                                                        **
- ** Inputs:  ueid:      UE identifier                              **
- **      pid:       PDN connection identifier                  **
- **      ebi:       EPS bearer identity                        **
- **      is_default:    TRUE if the new bearer is a default EPS    **
- **             bearer context                             **
- **      esm_qos:   EPS bearer level QoS parameters            **
- **      tft:       Traffic flow template parameters           **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    The EPS bearer identity of the default EPS **
- **             bearer associated to the new EPS bearer    **
- **             context if successfully created;           **
- **             UNASSIGN EPS bearer value otherwise.       **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_context_create(
-  emm_data_context_t *ctx,
-  int pid, int ebi, int is_default,
-  const network_qos_t *qos, const network_tft_t *tft)
-{
-  int                 bid     = 0;
-  esm_data_context_t *esm_ctx = NULL;
-  esm_pdn_t          *pdn     = NULL;
-  unsigned int        ueid    = 0;
-
-  LOG_FUNC_IN;
-
-
-# if defined(NAS_BUILT_IN_EPC)
-  esm_ctx = &ctx->esm_data_ctx;
-# else
-
-  if (ueid < ESM_DATA_NB_UE_MAX) {
-    ctx = _esm_data.ctx[ueid];
-  } else {
-    LOG_FUNC_RETURN (ESM_EBI_UNASSIGNED);
-  }
-
-# endif
-
-  bid = ESM_DATA_EPS_BEARER_MAX;
-
-  LOG_TRACE(INFO, "ESM-PROC  - Create new %s EPS bearer context (ebi=%d) "
-            "for PDN connection (pid=%d)",
-            (is_default)? "default" : "dedicated", ebi, pid);
-
-  if (pid < ESM_DATA_PDN_MAX) {
-    if (pid != esm_ctx->pdn[pid].pid) {
-      LOG_TRACE(ERROR, "ESM-PROC  - PDN connection identifier %d is "
-                "not valid", pid);
-    } else if (esm_ctx->pdn[pid].data == NULL) {
-      LOG_TRACE(ERROR, "ESM-PROC  - PDN connection %d has not been "
-                "allocated", pid);
-    }
-    /* Check the total number of active EPS bearers */
-    else if (esm_ctx->n_ebrs > ESM_DATA_EPS_BEARER_TOTAL) {
-      LOG_TRACE(WARNING, "ESM-PROC  - The total number of active EPS"
-                "bearers is exceeded");
-    } else {
-      /* Get the PDN connection entry */
-      pdn = esm_ctx->pdn[pid].data;
-
-      if (is_default) {
-        /* Default EPS bearer entry is defined at index 0 */
-        bid = 0;
-
-        if (pdn->bearer[bid] != NULL) {
-          LOG_TRACE(ERROR, "ESM-PROC  - A default EPS bearer context "
-                    "is already allocated");
-          LOG_FUNC_RETURN (ESM_EBI_UNASSIGNED);
-        }
-      } else {
-        /* Search for an available EPS bearer context entry */
-        for (bid = 1; bid < ESM_DATA_EPS_BEARER_MAX; bid++) {
-          if (pdn->bearer[bid] != NULL) {
-            continue;
-          }
-
-          break;
-        }
-      }
-    }
-  }
-
-  if (bid < ESM_DATA_EPS_BEARER_MAX) {
-    /* Create new EPS bearer context */
-    esm_bearer_t *ebr = (esm_bearer_t *)malloc(sizeof(esm_bearer_t));
-
-    if (ebr != NULL) {
-      memset(ebr, 0 , sizeof(esm_bearer_t));
-      /* Increment the total number of active EPS bearers */
-      esm_ctx->n_ebrs += 1;
-      /* Increment the number of EPS bearer for this PDN connection */
-      pdn->n_bearers += 1;
-      /* Setup the EPS bearer data */
-      pdn->bearer[bid] = ebr;
-      ebr->bid = bid;
-      ebr->ebi = ebi;
-
-      if (qos != NULL) {
-        /* EPS bearer level QoS parameters */
-        ebr->qos = *qos;
-      }
-
-      if ( (tft != NULL) && (tft->n_pkfs < NET_PACKET_FILTER_MAX) ) {
-        int i;
-
-        /* Traffic flow template parameters */
-        for (i = 0; i < tft->n_pkfs; i++) {
-          ebr->tft.pkf[i] =
-            (network_pkf_t *)malloc(sizeof(network_pkf_t));
-
-          if (ebr->tft.pkf[i] != NULL) {
-            *(ebr->tft.pkf[i]) = *(tft->pkf[i]);
-            ebr->tft.n_pkfs += 1;
-          }
-        }
-      }
-
-      if (is_default) {
-        /* Set the PDN connection activation indicator */
-        esm_ctx->pdn[pid].is_active = TRUE;
-
-        /* Update the emergency bearer services indicator */
-        if (pdn->is_emergency) {
-          esm_ctx->emergency = TRUE;
-        }
-
-
-      }
-
-      /* Return the EPS bearer identity of the default EPS bearer
-       * associated to the new EPS bearer context */
-      LOG_FUNC_RETURN (pdn->bearer[0]->ebi);
-    }
-
-    LOG_TRACE(WARNING, "ESM-PROC  - Failed to create new EPS bearer "
-              "context (ebi=%d)", ebi);
-  }
-
-  LOG_FUNC_RETURN (ESM_EBI_UNASSIGNED);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_ebr_context_release()                                 **
- **                                                                        **
- ** Description: Releases EPS bearer context entry previously allocated    **
- **      to the EPS bearer with the specified EPS bearer identity  **
- **                                                                        **
- ** Inputs:  ueid:      UE identifier                              **
- **      ebi:       EPS bearer identity                        **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ** Outputs:     pid:       Identifier of the PDN connection entry the **
- **             EPS bearer context belongs to              **
- **      bid:       Identifier of the released EPS bearer con- **
- **             text entry                                 **
- **      Return:    The EPS bearer identity associated to the  **
- **             EPS bearer context if successfully relea-  **
- **             sed; UNASSIGN EPS bearer value otherwise.  **
- **      Others:    _esm_data                                  **
- **                                                                        **
- ***************************************************************************/
-int esm_ebr_context_release(
-  emm_data_context_t *ctx,
-  int ebi, int *pid, int *bid)
-{
-  int found = FALSE;
-  esm_pdn_t *pdn = NULL;
-  esm_data_context_t *esm_ctx;
-
-  unsigned int ueid = 0;
-
-  LOG_FUNC_IN;
-
-
-
-# if defined(NAS_BUILT_IN_EPC)
-  esm_ctx = &ctx->esm_data_ctx;
-# else
-
-  if (ueid < ESM_DATA_NB_UE_MAX) {
-    ctx = &_esm_data.ctx[ueid];
-  } else {
-    LOG_FUNC_RETURN (ESM_EBI_UNASSIGNED);
-  }
-
-# endif
-
-  if (ebi != ESM_EBI_UNASSIGNED) {
-    /*
-     * The identity of the EPS bearer to released is given;
-     * Release the EPS bearer context entry that match the specified EPS
-     * bearer identity
-     */
-
-    /* Search for active PDN connection */
-    for (*pid = 0; *pid < ESM_DATA_PDN_MAX; (*pid)++) {
-      if ( !esm_ctx->pdn[*pid].is_active ) {
-        continue;
-      }
-
-      /* An active PDN connection is found */
-      if (esm_ctx->pdn[*pid].data != NULL) {
-        pdn = esm_ctx->pdn[*pid].data;
-
-        /* Search for the specified EPS bearer context entry */
-        for (*bid = 0; *bid < pdn->n_bearers; (*bid)++) {
-          if (pdn->bearer[*bid] != NULL) {
-            if (pdn->bearer[*bid]->ebi != ebi) {
-              continue;
-            }
-
-            /* The EPS bearer context entry is found */
-            found = TRUE;
-            break;
-          }
-        }
-      }
-
-      if (found) {
-        break;
-      }
-    }
-  } else {
-    /*
-     * The identity of the EPS bearer to released is not given;
-     * Release the EPS bearer context entry allocated with the EPS
-     * bearer context identifier (bid) to establish connectivity to
-     * the PDN identified by the PDN connection identifier (pid).
-     * Default EPS bearer to a given PDN is always identified by the
-     * first EPS bearer context entry at index bid = 0
-     */
-    if (*pid < ESM_DATA_PDN_MAX) {
-      if (*pid != esm_ctx->pdn[*pid].pid) {
-        LOG_TRACE(ERROR, "ESM-PROC  - PDN connection identifier %d "
-                  "is not valid", *pid);
-      } else if (!esm_ctx->pdn[*pid].is_active) {
-        LOG_TRACE(WARNING,"ESM-PROC  - PDN connection %d is not active",
-                  *pid);
-      } else if (esm_ctx->pdn[*pid].data == NULL) {
-        LOG_TRACE(ERROR, "ESM-PROC  - PDN connection %d has not been "
-                  "allocated", *pid);
-      } else {
-        pdn = esm_ctx->pdn[*pid].data;
-
-        if (pdn->bearer[*bid] != NULL) {
-          ebi = pdn->bearer[*bid]->ebi;
-          found = TRUE;
-        }
-      }
-    }
-  }
-
-  if (found) {
-    int i, j;
-
-    /*
-     * Delete the specified EPS bearer context entry
-     */
-    if (pdn->bearer[*bid]->bid != *bid) {
-      LOG_TRACE(ERROR, "ESM-PROC  - EPS bearer identifier %d is "
-                "not valid", *bid);
-      LOG_FUNC_RETURN (ESM_EBI_UNASSIGNED);
-    }
-
-    LOG_TRACE(WARNING, "ESM-PROC  - Release EPS bearer context "
-              "(ebi=%d)", ebi);
-
-    /* Delete the TFT */
-    for (i = 0; i < pdn->bearer[*bid]->tft.n_pkfs; i++) {
-      free(pdn->bearer[*bid]->tft.pkf[i]);
-    }
-
-    /* Release the specified EPS bearer data */
-    free(pdn->bearer[*bid]);
-    pdn->bearer[*bid] = NULL;
-    /* Decrement the number of EPS bearer context allocated
-     * to the PDN connection */
-    pdn->n_bearers -= 1;
-    /* Decrement the total number of active EPS bearers */
-    esm_ctx->n_ebrs -= 1;
-
-    if (*bid == 0) {
-      /* 3GPP TS 24.301, section 6.4.4.3, 6.4.4.6
-       * If the EPS bearer identity is that of the default bearer to a
-       * PDN, the UE shall delete all EPS bearer contexts associated to
-       * that PDN connection.
-       */
-      for (i = 1; pdn->n_bearers > 0; i++) {
-        if (pdn->bearer[i]) {
-
-          LOG_TRACE(WARNING, "ESM-PROC  - Release EPS bearer context "
-                    "(ebi=%d)", pdn->bearer[i]->ebi);
-
-          /* Delete the TFT */
-          for (j = 0; j < pdn->bearer[i]->tft.n_pkfs; j++) {
-            free(pdn->bearer[i]->tft.pkf[j]);
-          }
-
-          /* Set the EPS bearer context state to INACTIVE */
-
-          (void) esm_ebr_set_status(ctx, pdn->bearer[i]->ebi,
-                                    ESM_EBR_INACTIVE, TRUE);
-
-          /* Release EPS bearer data */
-          (void) esm_ebr_release(ctx, pdn->bearer[i]->ebi);
-          // esm_ebr_release()
-          /* Release dedicated EPS bearer data */
-          free(pdn->bearer[i]);
-          pdn->bearer[i] = NULL;
-          /* Decrement the number of EPS bearer context allocated
-           * to the PDN connection */
-          pdn->n_bearers -= 1;
-          /* Decrement the total number of active EPS bearers */
-          esm_ctx->n_ebrs -= 1;
-        }
-      }
-
-      /* Reset the PDN connection activation indicator */
-      esm_ctx->pdn[*pid].is_active = FALSE;
-
-      /* Update the emergency bearer services indicator */
-      if (pdn->is_emergency) {
-        esm_ctx->emergency = FALSE;
-      }
-    }
-
-    if (esm_ctx->n_ebrs == 0) {
-      /* TODO: Release the PDN connection and marked the UE as inactive
-       * in the network for EPS services (is_attached = FALSE) */
-    }
-
-    LOG_FUNC_RETURN (ebi);
-  }
-
-  LOG_FUNC_RETURN (ESM_EBI_UNASSIGNED);
-}
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-
diff --git a/openair-cn/NAS/MME/ESM/esm_ebr_context.h b/openair-cn/NAS/MME/ESM/esm_ebr_context.h
deleted file mode 100644
index c59661d7685af91ecd75d5569704f084b5be278a..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_ebr_context.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_ebr_context.h
-
-Version     0.1
-
-Date        2013/05/28
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions used to handle EPS bearer contexts.
-
-*****************************************************************************/
-#ifndef __ESM_EBR_CONTEXT_H__
-#define __ESM_EBR_CONTEXT_H__
-
-#include "networkDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-int esm_ebr_context_create(emm_data_context_t *ctx, int pid, int ebi, int is_default,
-                           const network_qos_t *qos, const network_tft_t *tft);
-
-int esm_ebr_context_release(emm_data_context_t *ctx, int ebi, int *pid, int *bid);
-
-#endif /* __ESM_EBR_CONTEXT_H__ */
diff --git a/openair-cn/NAS/MME/ESM/esm_ip.c b/openair-cn/NAS/MME/ESM/esm_ip.c
deleted file mode 100644
index b2fb84b9708787a14fcb5af40e7bad5155914827..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_ip.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include "emmData.h"
-#include "esmData.h"
-
-char ip_addr_str[100];
-
-inline char *esm_data_get_ipv4_addr(const OctetString *ip_addr)
-{
-  if (ip_addr->length > 0) {
-    sprintf(ip_addr_str, "%u.%u.%u.%u",
-            ip_addr->value[0], ip_addr->value[1],
-            ip_addr->value[2], ip_addr->value[3]);
-    return ip_addr_str;
-  }
-
-  return (NULL);
-}
-
-inline char *esm_data_get_ipv6_addr(const OctetString *ip_addr)
-{
-  if (ip_addr->length > 0) {
-    sprintf(ip_addr_str, "%x%.2x:%x%.2x:%x%.2x:%x%.2x",
-            ip_addr->value[0], ip_addr->value[1],
-            ip_addr->value[2], ip_addr->value[3],
-            ip_addr->value[4], ip_addr->value[5],
-            ip_addr->value[6], ip_addr->value[7]);
-    return ip_addr_str;
-  }
-
-  return (NULL);
-}
-
-inline char *esm_data_get_ipv4v6_addr(const OctetString *ip_addr)
-{
-  if (ip_addr->length > 0) {
-    sprintf(ip_addr_str, "%u.%u.%u.%u / %x%.2x:%x%.2x:%x%.2x:%x%.2x",
-            ip_addr->value[0], ip_addr->value[1],
-            ip_addr->value[2], ip_addr->value[3],
-            ip_addr->value[4], ip_addr->value[5],
-            ip_addr->value[6], ip_addr->value[7],
-            ip_addr->value[8], ip_addr->value[9],
-            ip_addr->value[10], ip_addr->value[11]);
-    return ip_addr_str;
-  }
-
-  return (NULL);
-}
diff --git a/openair-cn/NAS/MME/ESM/esm_main.c b/openair-cn/NAS/MME/ESM/esm_main.c
deleted file mode 100644
index 3e883527b93fdea03d0f61e7b758b716336937d7..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_main.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_main.c
-
-Version     0.1
-
-Date        2012/12/04
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the EPS Session Management procedure call manager,
-        the main entry point for elementary ESM processing.
-
-*****************************************************************************/
-
-#include "esm_main.h"
-#include "commonDef.h"
-#include "nas_log.h"
-
-#include "emmData.h"
-#include "esmData.h"
-#include "esm_pt.h"
-#include "esm_ebr.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_main_initialize()                                     **
- **                                                                        **
- ** Description: Initializes ESM internal data                             **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-void esm_main_initialize(void)
-{
-  int i;
-
-  LOG_FUNC_IN;
-
-  /* Retreive MME supported configuration data */
-  if (mme_api_get_esm_config(&_esm_data.conf) != RETURNok) {
-    LOG_TRACE(ERROR, "ESM-MAIN  - Failed to get MME configuration data");
-  }
-
-# if !defined(NAS_BUILT_IN_EPC)
-
-  /* Initialize ESM contexts */
-  for (i = 0; i < ESM_DATA_NB_UE_MAX; i++) {
-    _esm_data.ctx[i] = NULL;
-  }
-
-# endif
-
-  /* Initialize the EPS bearer context manager */
-  esm_ebr_initialize();
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:        esm_main_cleanup()                                        **
- **                                                                        **
- ** Description: Performs the EPS Session Management clean up procedure    **
- **                                                                        **
- ** Inputs:      None                                                      **
- **                  Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **                  Return:    None                                       **
- **                  Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-void esm_main_cleanup(void)
-{
-  LOG_FUNC_IN;
-
-  LOG_FUNC_OUT;
-}
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/ESM/esm_main.h b/openair-cn/NAS/MME/ESM/esm_main.h
deleted file mode 100644
index feb80c1c451973545b3e3aebe88fc1e8cc0b68f3..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_main.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_main.h
-
-Version     0.1
-
-Date        2012/12/04
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the EPS Session Management procedure call manager,
-        the main entry point for elementary ESM processing.
-
-*****************************************************************************/
-
-#ifndef __ESM_MAIN_H__
-#define __ESM_MAIN_H__
-
-#include "networkDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-void esm_main_initialize(void);
-void esm_main_cleanup(void);
-
-
-#endif /* __ESM_MAIN_H__*/
diff --git a/openair-cn/NAS/MME/ESM/esm_proc.h b/openair-cn/NAS/MME/ESM/esm_proc.h
deleted file mode 100644
index 3015be6543880ef65bb9671bf31b250f59bed605..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_proc.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_proc.h
-
-Version     0.1
-
-Date        2013/01/02
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines the EPS Session Management procedures executed at
-        the ESM Service Access Points.
-
-*****************************************************************************/
-#ifndef __ESM_PROC_H__
-#define __ESM_PROC_H__
-
-#include "networkDef.h"
-#include "OctetString.h"
-#include "emmData.h"
-#include "ProtocolConfigurationOptions.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/*
- * ESM retransmission timers
- * -------------------------
- */
-
-#define T3485_DEFAULT_VALUE 8   /* Activate EPS bearer request   */
-#define T3495_DEFAULT_VALUE 8   /* Deactivate EPS bearer request */
-
-/* Type of PDN address */
-typedef enum {
-  ESM_PDN_TYPE_IPV4 = NET_PDN_TYPE_IPV4,
-  ESM_PDN_TYPE_IPV6 = NET_PDN_TYPE_IPV6,
-  ESM_PDN_TYPE_IPV4V6 = NET_PDN_TYPE_IPV4V6
-} esm_proc_pdn_type_t;
-
-/* Type of PDN request */
-typedef enum {
-  ESM_PDN_REQUEST_INITIAL = 1,
-  ESM_PDN_REQUEST_HANDOVER,
-  ESM_PDN_REQUEST_EMERGENCY
-} esm_proc_pdn_request_t;
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/*
- * Type of the ESM procedure callback executed when requested by the UE
- * or initiated by the network
- */
-typedef int (*esm_proc_procedure_t) (int, emm_data_context_t *, int, OctetString *, int);
-
-/* EPS bearer level QoS parameters */
-typedef network_qos_t esm_proc_qos_t;
-
-/* Traffic Flow Template for packet filtering */
-typedef network_tft_t esm_proc_tft_t;
-
-typedef ProtocolConfigurationOptions esm_proc_pco_t;
-
-/* PDN connection and EPS bearer context data */
-typedef struct {
-  OctetString apn;
-  esm_proc_pdn_type_t pdn_type;
-  OctetString pdn_addr;
-  esm_proc_qos_t qos;
-  esm_proc_tft_t tft;
-  esm_proc_pco_t pco;
-} esm_proc_data_t;
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/*
- * --------------------------------------------------------------------------
- *              ESM status procedure
- * --------------------------------------------------------------------------
- */
-
-
-int esm_proc_status_ind(emm_data_context_t *ctx, int pti, int ebi, int *esm_cause);
-int esm_proc_status(int is_standalone, emm_data_context_t *ctx, int pti,
-                    OctetString *msg, int sent_by_ue);
-
-
-/*
- * --------------------------------------------------------------------------
- *          PDN connectivity procedure
- * --------------------------------------------------------------------------
- */
-
-int esm_proc_pdn_connectivity_request(emm_data_context_t *ctx, int pti,
-                                      esm_proc_pdn_request_t request_type, OctetString *apn,
-                                      esm_proc_pdn_type_t pdn_type, OctetString *pdn_addr, esm_proc_qos_t *esm_qos,
-                                      int *esm_cause);
-
-int esm_proc_pdn_connectivity_reject(int is_standalone, emm_data_context_t *ctx,
-                                     int ebi, OctetString *msg, int ue_triggered);
-int esm_proc_pdn_connectivity_failure(emm_data_context_t *ctx, int pid);
-
-/*
- * --------------------------------------------------------------------------
- *              PDN disconnect procedure
- * --------------------------------------------------------------------------
- */
-
-int esm_proc_pdn_disconnect_request(emm_data_context_t *ctx, int pti, int *esm_cause);
-
-int esm_proc_pdn_disconnect_accept(emm_data_context_t *ctx, int pid, int *esm_cause);
-int esm_proc_pdn_disconnect_reject(int is_standalone, emm_data_context_t *ctx,
-                                   int ebi, OctetString *msg, int ue_triggered);
-
-/*
- * --------------------------------------------------------------------------
- *      Default EPS bearer context activation procedure
- * --------------------------------------------------------------------------
- */
-int esm_proc_default_eps_bearer_context(emm_data_context_t *ctx, int pid,
-                                        unsigned int *ebi, const esm_proc_qos_t *esm_qos, int *esm_cause);
-int esm_proc_default_eps_bearer_context_request(int is_standalone,
-    emm_data_context_t *ctx, int ebi, OctetString *msg, int ue_triggered);
-int esm_proc_default_eps_bearer_context_failure(emm_data_context_t *ctx);
-
-int esm_proc_default_eps_bearer_context_accept(emm_data_context_t *ctx, int ebi,
-    int *esm_cause);
-int esm_proc_default_eps_bearer_context_reject(emm_data_context_t *ctx, int ebi,
-    int *esm_cause);
-
-
-/*
- * --------------------------------------------------------------------------
- *      Dedicated EPS bearer context activation procedure
- * --------------------------------------------------------------------------
- */
-int esm_proc_dedicated_eps_bearer_context(emm_data_context_t *ctx, int pid,
-    unsigned int *ebi, unsigned int *default_ebi, const esm_proc_qos_t *qos,
-    const esm_proc_tft_t *tft, int *esm_cause);
-int esm_proc_dedicated_eps_bearer_context_request(int is_standalone,
-    emm_data_context_t *ctx, int ebi, OctetString *msg, int ue_triggered);
-
-int esm_proc_dedicated_eps_bearer_context_accept(emm_data_context_t *ctx, int ebi,
-    int *esm_cause);
-int esm_proc_dedicated_eps_bearer_context_reject(emm_data_context_t *ctx, int ebi,
-    int *esm_cause);
-
-
-/*
- * --------------------------------------------------------------------------
- *      EPS bearer context deactivation procedure
- * --------------------------------------------------------------------------
- */
-int esm_proc_eps_bearer_context_deactivate(emm_data_context_t *ctx, int is_local,
-    int ebi, int *pid, int *bid,
-    int *esm_cause);
-int esm_proc_eps_bearer_context_deactivate_request(int is_standalone,
-    emm_data_context_t *ctx, int ebi, OctetString *msg, int ue_triggered);
-int esm_proc_eps_bearer_context_deactivate_accept(emm_data_context_t *ctx, int ebi,
-    int *esm_cause);
-
-
-
-#endif /* __ESM_PROC_H__*/
diff --git a/openair-cn/NAS/MME/ESM/esm_pt.c b/openair-cn/NAS/MME/ESM/esm_pt.c
deleted file mode 100644
index d9e1be5150c9d5ba9e9f8ec0416cc326e19bff22..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_pt.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_pt.c
-
-Version     0.1
-
-Date        2013/01/03
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions used to handle ESM procedure transactions.
-
-*****************************************************************************/
-
-#include "esm_pt.h"
-
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/*
- * Minimal and maximal value of a procedure transaction identity:
- * The Procedure Transaction Identity (PTI) identifies bi-directional
- * messages flows
- */
-#define ESM_PTI_MIN     (PROCEDURE_TRANSACTION_IDENTITY_FIRST)
-#define ESM_PTI_MAX     (PROCEDURE_TRANSACTION_IDENTITY_LAST)
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    esm_pt_is_reserved()                                      **
- **                                                                        **
- ** Description: Check whether the given procedure transaction identity is **
- **      a reserved value                                          **
- **                                                                        **
- ** Inputs:  pti:       The identity of the procedure transaction  **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    TRUE, FALSE                                **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int esm_pt_is_reserved(int pti)
-{
-  return ( (pti != ESM_PT_UNASSIGNED) && (pti > ESM_PTI_MAX) );
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/ESM/esm_pt.h b/openair-cn/NAS/MME/ESM/esm_pt.h
deleted file mode 100644
index 2a2cf812021f514165efcd09728a0141eb7287e5..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/ESM/esm_pt.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      esm_pt.h
-
-Version     0.1
-
-Date        2013/01/03
-
-Product     NAS stack
-
-Subsystem   EPS Session Management
-
-Author      Frederic Maurel
-
-Description Defines functions used to handle ESM procedure transactions.
-
-*****************************************************************************/
-#ifndef __ESM_PT_H__
-#define __ESM_PT_H__
-
-#include "ProcedureTransactionIdentity.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/* Unassigned procedure transaction identity value */
-#define ESM_PT_UNASSIGNED   (PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED)
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-int esm_pt_is_reserved(int pti);
-
-
-
-#endif /* __ESM_PT_H__*/
diff --git a/openair-cn/NAS/MME/MMEprocess.c b/openair-cn/NAS/MME/MMEprocess.c
deleted file mode 100644
index abd29a0c14dec44da02ea436d53d700390d23e06..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/MMEprocess.c
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
- Source     MMEprocess.c
-
- Version        0.1
-
- Date       2013/02/26
-
- Product        NAS stack
-
- Subsystem  MME NAS main process
-
- Author     Frederic Maurel
-
- Description    Implements the Non-Access Stratum protocol for Evolved Packet
- system (EPS) running at the Network side.
-
- *****************************************************************************/
-
-#include "commonDef.h"
-#include "nas_log.h"
-#include "nas_timer.h"
-
-#include "network_api.h"
-#include "nas_network.h"
-#include "nas_parser.h"
-
-#include <stdlib.h> // exit
-#include <poll.h>   // poll
-#include <string.h> // memset
-#include <signal.h> // sigaction
-#include <pthread.h>
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-#define NAS_SLEEP_TIMEOUT 1000  /* 1 second */
-
-static void *_nas_network_mngr(void *);
-
-static int _nas_set_signal_handler(int signal, void (handler)(int));
-static void _nas_signal_handler(int signal);
-
-static void _nas_clean(int net_fd);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************/
-int main(int argc, const char *argv[])
-{
-  /*
-   * Get the command line options
-   */
-  if (nas_parser_get_options (argc, argv) != RETURNok) {
-    nas_parser_print_usage (FIRMWARE_VERSION);
-    exit (EXIT_FAILURE);
-  }
-
-  /*
-   * Initialize logging trace utility
-   */
-  nas_log_init (nas_parser_get_trace_level ());
-
-  const char *nhost = nas_parser_get_network_host ();
-  const char *nport = nas_parser_get_network_port ();
-
-  LOG_TRACE (INFO, "MME-MAIN  - %s -nhost %s -nport %s -trace 0x%x", argv[0],
-             nhost, nport,
-             nas_parser_get_trace_level ());
-
-  /*
-   * Initialize the Network interface
-   */
-  if (network_api_initialize (nhost, nport) != RETURNok) {
-    LOG_TRACE (ERROR, "MME-MAIN  - network_api_initialize() failed");
-    exit (EXIT_FAILURE);
-  }
-
-  int network_fd = network_api_get_fd ();
-
-  /*
-   * Initialize the NAS contexts
-   */
-  nas_network_initialize ();
-
-  /*
-   * Initialize NAS timer handlers
-   */
-  nas_timer_init ();
-
-  /*
-   * Set up signal handlers
-   */
-  (void) _nas_set_signal_handler (SIGINT, _nas_signal_handler);
-  (void) _nas_set_signal_handler (SIGTERM, _nas_signal_handler);
-
-  pthread_attr_t attr;
-  pthread_attr_init (&attr);
-  pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM);
-  pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
-
-  /*
-   * Start thread use to manage the network connection endpoint
-   */
-  pthread_t network_mngr;
-
-  if (pthread_create (&network_mngr, &attr, _nas_network_mngr,
-                      &network_fd) != 0) {
-    LOG_TRACE (ERROR, "MME-MAIN  - "
-               "Failed to create the network management thread");
-    network_api_close (network_fd);
-    exit (EXIT_FAILURE);
-  }
-
-  pthread_attr_destroy (&attr);
-
-  /*
-   * Suspend execution of the main process until the network connection
-   * endpoint is still active
-   */
-  while (network_fd != -1) {
-    poll (NULL, 0, NAS_SLEEP_TIMEOUT);
-    network_fd = network_api_get_fd ();
-  }
-
-  /* Termination cleanup */
-  _nas_clean (network_fd);
-
-  LOG_TRACE
-  (WARNING, "MME-MAIN  - NAS main process exited");
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _nas_network_mngr()                                       **
- **                                                                        **
- ** Description: Manages the connection endpoint use to communicate with   **
- **      the network sublayer                                      **
- **                                                                        **
- ** Inputs:  fd:        The descriptor of the network connection   **
- **             endpoint                                   **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    None                                       **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void *_nas_network_mngr(void *args)
-{
-  LOG_FUNC_IN;
-
-  int ret_code;
-  int network_message_id;
-  int bytes;
-
-  int *fd = (int *) args;
-
-  LOG_TRACE (INFO, "MME-MAIN  - Network connection manager started (%d)", *fd);
-
-  /* Network receiving loop */
-  while (TRUE) {
-    /* Read the network data message */
-    bytes = network_api_read_data (*fd);
-
-    if (bytes == RETURNerror) {
-      /* Failed to read data from the network sublayer;
-       * exit from the receiving loop */
-      LOG_TRACE (ERROR, "MME-MAIN  - "
-                 "Failed to read data from the network sublayer");
-      break;
-    }
-
-    if (bytes == 0) {
-      /* A signal was caught before any data were available */
-      continue;
-    }
-
-    /* Decode the network data message */
-    network_message_id = network_api_decode_data (bytes);
-
-    if (network_message_id == RETURNerror) {
-      /* Failed to decode data read from the network sublayer */
-      continue;
-    }
-
-    /* Process the network data message */
-    ret_code = nas_network_process_data (network_message_id,
-                                         network_api_get_data ());
-
-    if (ret_code != RETURNok) {
-      /* The network data message has not been successfully
-       * processed */
-      LOG_TRACE
-      (WARNING, "MME-MAIN  - "
-       "The network procedure call 0x%x failed",
-       network_message_id);
-    }
-  }
-
-  /* Close the connection to the network sublayer */LOG_TRACE (WARNING,
-      "MME-MAIN  - "
-      "The network connection endpoint manager exited");
-
-  LOG_FUNC_RETURN(NULL);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _nas_set_signal_handler()                                 **
- **                                                                        **
- ** Description: Set up a signal handler                                   **
- **                                                                        **
- ** Inputs:  signal:    Signal number                              **
- **          handler:   Signal handler                             **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    RETURNerror, RETURNok                      **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static int _nas_set_signal_handler(int signal, void (handler)(int))
-{
-  LOG_FUNC_IN;
-
-  struct sigaction act;
-
-  /* Initialize signal set */
-  (void) memset (&act, 0, sizeof(act));
-  (void) sigfillset (&act.sa_mask);
-  (void) sigdelset (&act.sa_mask, SIGHUP);
-  (void) sigdelset (&act.sa_mask, SIGINT);
-  (void) sigdelset (&act.sa_mask, SIGTERM);
-  (void) sigdelset (&act.sa_mask, SIGILL);
-  (void) sigdelset (&act.sa_mask, SIGTRAP);
-  (void) sigdelset (&act.sa_mask, SIGIOT);
-#ifndef LINUX
-  (void) sigdelset (&act.sa_mask, SIGEMT);
-#endif
-  (void) sigdelset (&act.sa_mask, SIGFPE);
-  (void) sigdelset (&act.sa_mask, SIGBUS);
-  (void) sigdelset (&act.sa_mask, SIGSEGV);
-  (void) sigdelset (&act.sa_mask, SIGSYS);
-
-  /* Initialize signal handler */
-  act.sa_handler = handler;
-
-  if (sigaction (signal, &act, 0) < 0) {
-    return RETURNerror;
-  }
-
-  LOG_TRACE (INFO, "MME-MAIN  - Handler successfully set for signal %d", signal);
-
-  LOG_FUNC_RETURN(RETURNok);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _nas_signal_handler()                                     **
- **                                                                        **
- ** Description: Signal handler                                            **
- **                                                                        **
- ** Inputs:  signal:    Signal number                              **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    None                                       **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void _nas_signal_handler(int signal)
-{
-  LOG_FUNC_IN;
-
-  LOG_TRACE (WARNING, "MME-MAIN  - Signal %d received", signal);
-  _nas_clean (network_api_get_fd ());
-  exit (EXIT_SUCCESS);
-
-  LOG_FUNC_OUT
-  ;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    _nas_clean()                                              **
- **                                                                        **
- ** Description: Performs termination cleanup                              **
- **                                                                        **
- ** Inputs:  net_fd:    Network's connection file descriptor       **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    None                                       **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-static void _nas_clean(int net_fd)
-{
-  LOG_FUNC_IN;
-
-  LOG_TRACE (INFO, "MME-MAIN  - Perform EMM and ESM cleanup");
-  nas_network_cleanup ();
-
-  LOG_TRACE (INFO, "MME-MAIN  - Closing network connection %d", net_fd);
-  network_api_close (net_fd);
-
-  LOG_FUNC_OUT
-  ;
-}
-
diff --git a/openair-cn/NAS/MME/nas_defs.h b/openair-cn/NAS/MME/nas_defs.h
deleted file mode 100644
index e896d61fbc9a704dcf8c4ee4eb0009b3a2402130..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_defs.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef NAS_DEFS_H_
-#define NAS_DEFS_H_
-
-int nas_init(mme_config_t *mme_config_p);
-
-#endif /* NAS_DEFS_H_ */
diff --git a/openair-cn/NAS/MME/nas_itti_messaging.c b/openair-cn/NAS/MME/nas_itti_messaging.c
deleted file mode 100644
index c22f40895494b6858d1d0382ce203f57571dbfd9..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_itti_messaging.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <string.h>
-
-#include "intertask_interface.h"
-#include "nas_itti_messaging.h"
-#include "msc.h"
-
-
-#define TASK_ORIGIN  TASK_NAS_MME
-
-
-#if defined(NAS_BUILT_IN_EPC)
-static const uint8_t emm_message_ids[] = {
-  ATTACH_REQUEST,
-  ATTACH_ACCEPT,
-  ATTACH_COMPLETE,
-  ATTACH_REJECT,
-  DETACH_REQUEST,
-  DETACH_ACCEPT,
-  TRACKING_AREA_UPDATE_REQUEST,
-  TRACKING_AREA_UPDATE_ACCEPT,
-  TRACKING_AREA_UPDATE_COMPLETE,
-  TRACKING_AREA_UPDATE_REJECT,
-  EXTENDED_SERVICE_REQUEST,
-  SERVICE_REQUEST,
-  SERVICE_REJECT,
-  GUTI_REALLOCATION_COMMAND,
-  GUTI_REALLOCATION_COMPLETE,
-  AUTHENTICATION_REQUEST,
-  AUTHENTICATION_RESPONSE,
-  AUTHENTICATION_REJECT,
-  AUTHENTICATION_FAILURE,
-  IDENTITY_REQUEST,
-  IDENTITY_RESPONSE,
-  SECURITY_MODE_COMMAND,
-  SECURITY_MODE_COMPLETE,
-  SECURITY_MODE_REJECT,
-  EMM_STATUS,
-  EMM_INFORMATION,
-  DOWNLINK_NAS_TRANSPORT,
-  UPLINK_NAS_TRANSPORT,
-  CS_SERVICE_NOTIFICATION,
-};
-
-static const uint8_t esm_message_ids[] = {
-  ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST,
-  ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT,
-  ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT,
-  ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REQUEST,
-  ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT,
-  ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_REJECT,
-  MODIFY_EPS_BEARER_CONTEXT_REQUEST,
-  MODIFY_EPS_BEARER_CONTEXT_ACCEPT,
-  MODIFY_EPS_BEARER_CONTEXT_REJECT,
-  DEACTIVATE_EPS_BEARER_CONTEXT_REQUEST,
-  DEACTIVATE_EPS_BEARER_CONTEXT_ACCEPT,
-  PDN_CONNECTIVITY_REQUEST,
-  PDN_CONNECTIVITY_REJECT,
-  PDN_DISCONNECT_REQUEST,
-  PDN_DISCONNECT_REJECT,
-  BEARER_RESOURCE_ALLOCATION_REQUEST,
-  BEARER_RESOURCE_ALLOCATION_REJECT,
-  BEARER_RESOURCE_MODIFICATION_REQUEST,
-  BEARER_RESOURCE_MODIFICATION_REJECT,
-  ESM_INFORMATION_REQUEST,
-  ESM_INFORMATION_RESPONSE,
-  ESM_STATUS,
-};
-
-static int _nas_find_message_index(const uint8_t message_id, const uint8_t *message_ids, const int ids_number)
-{
-  int i;
-
-  for(i = 0; i < ids_number; i ++) {
-    if (message_id == message_ids[i]) {
-      return (2 + i);
-    }
-  }
-
-  return (1);
-}
-
-int nas_itti_plain_msg(const char *buffer, const nas_message_t *msg, const int length, const int down_link)
-{
-  MessageDef *message_p;
-  int data_length = length < NAS_DATA_LENGHT_MAX ? length : NAS_DATA_LENGHT_MAX;
-  int message_type = -1;
-  MessagesIds messageId_raw = -1;
-  MessagesIds messageId_plain = -1;
-
-  /* Define message ids */
-  if (msg->header.protocol_discriminator == EPS_MOBILITY_MANAGEMENT_MESSAGE) {
-    message_type    = 0;
-    messageId_raw   = down_link ? NAS_DL_EMM_RAW_MSG : NAS_UL_EMM_RAW_MSG;
-    messageId_plain = down_link ? NAS_DL_EMM_PLAIN_MSG : NAS_UL_EMM_PLAIN_MSG;
-  } else {
-    if (msg->header.protocol_discriminator == EPS_SESSION_MANAGEMENT_MESSAGE) {
-      message_type    = 1;
-      messageId_raw   = down_link ? NAS_DL_ESM_RAW_MSG : NAS_UL_ESM_RAW_MSG;
-      messageId_plain = down_link ? NAS_DL_ESM_PLAIN_MSG : NAS_UL_ESM_PLAIN_MSG;
-    }
-  }
-
-  if (message_type >= 0) {
-    /* Create and send the RAW message */
-    message_p = itti_alloc_new_message(TASK_ORIGIN, messageId_raw);
-
-    NAS_DL_EMM_RAW_MSG(message_p).lenght = length;
-    memset ((void *) &(NAS_DL_EMM_RAW_MSG(message_p).data), 0, NAS_DATA_LENGHT_MAX);
-    memcpy ((void *) &(NAS_DL_EMM_RAW_MSG(message_p).data), buffer, data_length);
-
-    itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
-
-    /* Create and send the plain message */
-    if (message_type == 0) {
-      message_p = itti_alloc_new_message(TASK_ORIGIN, messageId_plain);
-
-      NAS_DL_EMM_PLAIN_MSG(message_p).present = _nas_find_message_index(msg->plain.emm.header.message_type, emm_message_ids, sizeof(emm_message_ids) / sizeof(emm_message_ids[0]));
-      memcpy ((void *) &(NAS_DL_EMM_PLAIN_MSG(message_p).choice), &msg->plain.emm, sizeof (EMM_msg));
-    } else {
-      message_p = itti_alloc_new_message(TASK_ORIGIN, messageId_plain);
-
-      NAS_DL_ESM_PLAIN_MSG(message_p).present = _nas_find_message_index(msg->plain.esm.header.message_type, esm_message_ids, sizeof(esm_message_ids) / sizeof(esm_message_ids[0]));
-      memcpy ((void *) &(NAS_DL_ESM_PLAIN_MSG(message_p).choice), &msg->plain.esm, sizeof (ESM_msg));
-    }
-
-    return itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
-  }
-
-  return EXIT_FAILURE;
-}
-
-int nas_itti_protected_msg(const char *buffer, const nas_message_t *msg, const int length, const int down_link)
-{
-  MessageDef *message_p = NULL;
-
-  if (msg->header.protocol_discriminator == EPS_MOBILITY_MANAGEMENT_MESSAGE) {
-    message_p = itti_alloc_new_message(TASK_ORIGIN, down_link ? NAS_DL_EMM_PROTECTED_MSG : NAS_UL_EMM_PROTECTED_MSG);
-
-    memcpy ((void *) &(NAS_DL_EMM_PROTECTED_MSG(message_p).header), &msg->header, sizeof (nas_message_security_header_t));
-    NAS_DL_EMM_PROTECTED_MSG(message_p).present = _nas_find_message_index(msg->security_protected.plain.emm.header.message_type, emm_message_ids, sizeof(emm_message_ids) / sizeof(emm_message_ids[0]));
-    memcpy ((void *) &(NAS_DL_EMM_PROTECTED_MSG(message_p).choice), &msg->security_protected.plain.emm, sizeof (EMM_msg));
-  } else {
-    if (msg->header.protocol_discriminator == EPS_SESSION_MANAGEMENT_MESSAGE) {
-      message_p = itti_alloc_new_message(TASK_ORIGIN, down_link ? NAS_DL_ESM_PROTECTED_MSG : NAS_UL_ESM_PROTECTED_MSG);
-
-      memcpy ((void *) &(NAS_DL_ESM_PROTECTED_MSG(message_p).header), &msg->header, sizeof (nas_message_security_header_t));
-      NAS_DL_ESM_PROTECTED_MSG(message_p).present =  _nas_find_message_index(msg->security_protected.plain.esm.header.message_type, esm_message_ids, sizeof(esm_message_ids) / sizeof(esm_message_ids[0]));
-      memcpy ((void *) &(NAS_DL_ESM_PROTECTED_MSG(message_p).choice), &msg->security_protected.plain.esm, sizeof (ESM_msg));
-    }
-  }
-
-  if (message_p != NULL) {
-    return itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
-  }
-
-  return EXIT_FAILURE;
-}
-#endif
-
-#if defined(NAS_BUILT_IN_EPC)
-int nas_itti_dl_data_req(const uint32_t ue_id, void *const data,
-                         const uint32_t length)
-{
-  MessageDef *message_p;
-
-  message_p = itti_alloc_new_message(TASK_NAS_MME, NAS_DOWNLINK_DATA_REQ);
-
-  NAS_DL_DATA_REQ(message_p).UEid          = ue_id;
-  NAS_DL_DATA_REQ(message_p).nasMsg.data   = data;
-  NAS_DL_DATA_REQ(message_p).nasMsg.length = length;
-
-  MSC_LOG_TX_MESSAGE(
-  	  	MSC_NAS_MME,
-  	  	MSC_S1AP_MME,
-  	  	NULL,0,
-  	  	"0 NAS_DOWNLINK_DATA_REQ ue id "NAS_UE_ID_FMT" len %u", ue_id, length);
-
-  return itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
-}
-
-#endif
-
-
diff --git a/openair-cn/NAS/MME/nas_itti_messaging.h b/openair-cn/NAS/MME/nas_itti_messaging.h
deleted file mode 100644
index e18741f8156b9a8867ce9bbd1e63a06ba8c6e193..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_itti_messaging.h
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <string.h>
-#include <stdint.h>
-#include <ctype.h>
-
-#include "assertions.h"
-#include "intertask_interface.h"
-#include "esm_proc.h"
-#include "msc.h"
-
-#ifndef NAS_ITTI_MESSAGING_H_
-#define NAS_ITTI_MESSAGING_H_
-
-# if defined(NAS_BUILT_IN_EPC)
-int nas_itti_plain_msg(
-  const char *buffer,
-  const nas_message_t *msg,
-  const int lengthP,
-  const int instance);
-
-int nas_itti_protected_msg(
-  const char *buffer,
-  const nas_message_t *msg,
-  const int lengthP,
-  const int instance);
-# endif
-
-# if defined(NAS_BUILT_IN_EPC)
-#include "conversions.h"
-
-int nas_itti_dl_data_req(
-  const uint32_t ue_idP,
-  void *const    data_pP,
-  const uint32_t lengthP);
-
-static inline void nas_itti_pdn_connectivity_req(
-  int                     ptiP,
-  unsigned int            ueidP,
-  const imsi_t           *const imsi_pP,
-  esm_proc_data_t        *proc_data_pP,
-  esm_proc_pdn_request_t  request_typeP)
-{
-  MessageDef *message_p = NULL;
-  uint8_t     i;
-  uint8_t     index;
-
-  AssertFatal(imsi_pP       != NULL, "imsi_pP param is NULL");
-  AssertFatal(proc_data_pP  != NULL, "proc_data_pP param is NULL");
-
-
-  message_p = itti_alloc_new_message(TASK_NAS_MME, NAS_PDN_CONNECTIVITY_REQ);
-  memset(&message_p->ittiMsg.nas_pdn_connectivity_req,
-         0,
-         sizeof(nas_pdn_connectivity_req_t));
-
-  hexa_to_ascii((uint8_t *)imsi_pP->u.value,
-                NAS_PDN_CONNECTIVITY_REQ(message_p).imsi,
-                8);
-
-  NAS_PDN_CONNECTIVITY_REQ(message_p).pti             = ptiP;
-  NAS_PDN_CONNECTIVITY_REQ(message_p).ue_id           = ueidP;
-  NAS_PDN_CONNECTIVITY_REQ(message_p).imsi[15]        = '\0';
-
-  if (isdigit(NAS_PDN_CONNECTIVITY_REQ(message_p).imsi[14])) {
-    NAS_PDN_CONNECTIVITY_REQ(message_p).imsi_length = 15;
-  } else {
-    NAS_PDN_CONNECTIVITY_REQ(message_p).imsi_length = 14;
-    NAS_PDN_CONNECTIVITY_REQ(message_p).imsi[14] = '\0';
-  }
-
-  DUP_OCTET_STRING(proc_data_pP->apn,      NAS_PDN_CONNECTIVITY_REQ(message_p).apn);
-  DUP_OCTET_STRING(proc_data_pP->pdn_addr, NAS_PDN_CONNECTIVITY_REQ(message_p).pdn_addr);
-
-  switch (proc_data_pP->pdn_type) {
-  case ESM_PDN_TYPE_IPV4:
-    NAS_PDN_CONNECTIVITY_REQ(message_p).pdn_type = IPv4;
-    break;
-
-  case ESM_PDN_TYPE_IPV6:
-    NAS_PDN_CONNECTIVITY_REQ(message_p).pdn_type = IPv6;
-    break;
-
-  case ESM_PDN_TYPE_IPV4V6:
-    NAS_PDN_CONNECTIVITY_REQ(message_p).pdn_type = IPv4_AND_v6;
-    break;
-
-  default:
-    NAS_PDN_CONNECTIVITY_REQ(message_p).pdn_type = IPv4;
-    break;
-  }
-
-  // not efficient but be careful about "typedef network_qos_t esm_proc_qos_t;"
-  NAS_PDN_CONNECTIVITY_REQ(message_p).qos.gbrUL = proc_data_pP->qos.gbrUL;
-  NAS_PDN_CONNECTIVITY_REQ(message_p).qos.gbrDL = proc_data_pP->qos.gbrDL;
-  NAS_PDN_CONNECTIVITY_REQ(message_p).qos.mbrUL = proc_data_pP->qos.mbrUL;
-  NAS_PDN_CONNECTIVITY_REQ(message_p).qos.mbrDL = proc_data_pP->qos.mbrDL;
-  NAS_PDN_CONNECTIVITY_REQ(message_p).qos.qci   = proc_data_pP->qos.qci;
-
-  NAS_PDN_CONNECTIVITY_REQ(message_p).proc_data = proc_data_pP;
-
-  NAS_PDN_CONNECTIVITY_REQ(message_p).request_type  = request_typeP;
-
-  if (proc_data_pP->pco.num_protocol_id_or_container_id <= PROTOCOL_CONFIGURATION_OPTIONS_MAXIMUM_PROTOCOL_ID_OR_CONTAINER_ID) {
-    NAS_PDN_CONNECTIVITY_REQ(message_p).pco.byte[0] = ACTIVATE_DEDICATED_EPS_BEARER_CONTEXT_ACCEPT_PROTOCOL_CONFIGURATION_OPTIONS_IEI;
-    NAS_PDN_CONNECTIVITY_REQ(message_p).pco.byte[1] = 1 + 3 * proc_data_pP->pco.num_protocol_id_or_container_id;
-    NAS_PDN_CONNECTIVITY_REQ(message_p).pco.byte[2] = 0x80; // do it fast
-    i = 0;
-    index = 3;
-    while (( i < proc_data_pP->pco.num_protocol_id_or_container_id) &&
-    		((index + proc_data_pP->pco.protocolidcontents[i].length) <= PROTOCOL_CONFIGURATION_OPTIONS_MAXIMUM_LENGTH)){
-      NAS_PDN_CONNECTIVITY_REQ(message_p).pco.byte[1] += proc_data_pP->pco.lengthofprotocolid[i];
-      NAS_PDN_CONNECTIVITY_REQ(message_p).pco.byte[index++] = (proc_data_pP->pco.protocolid[i] >> 8);
-      NAS_PDN_CONNECTIVITY_REQ(message_p).pco.byte[index++] = (proc_data_pP->pco.protocolid[i] & 0x00FF);
-      NAS_PDN_CONNECTIVITY_REQ(message_p).pco.byte[index++] = proc_data_pP->pco.lengthofprotocolid[i];
-      if (proc_data_pP->pco.lengthofprotocolid[i] > 0) {
-        memcpy( &NAS_PDN_CONNECTIVITY_REQ(message_p).pco.byte[index],
-    		proc_data_pP->pco.protocolidcontents[i].value,
-    		proc_data_pP->pco.lengthofprotocolid[i]);
-        index += proc_data_pP->pco.lengthofprotocolid[i];
-      }
-      i++;
-    }
-    NAS_PDN_CONNECTIVITY_REQ(message_p).pco.length = index;
-  }
-
-
-  MSC_LOG_TX_MESSAGE(
-  	  	MSC_NAS_MME,
-  	  	MSC_MMEAPP_MME,
-  	  	NULL,0,
-  	  	"0 NAS_PDN_CONNECTIVITY_REQ ue id %06"PRIX32" IMSI %X",
-  	  	ueidP, NAS_PDN_CONNECTIVITY_REQ(message_p).imsi);
-
-  itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-static inline void nas_itti_establish_cnf(
-  const uint32_t         ue_idP,
-  const nas_error_code_t error_codeP,
-  void            *const data_pP,
-  const uint32_t         lengthP,
-  const uint16_t         selected_encryption_algorithmP,
-  const uint16_t         selected_integrity_algorithmP)
-{
-  MessageDef *message_p = NULL;
-
-  message_p = itti_alloc_new_message(TASK_NAS_MME, NAS_CONNECTION_ESTABLISHMENT_CNF);
-  memset(&message_p->ittiMsg.nas_conn_est_cnf,
-         0,
-         sizeof(nas_conn_est_cnf_t));
-  NAS_CONNECTION_ESTABLISHMENT_CNF(message_p).UEid            = ue_idP;
-  NAS_CONNECTION_ESTABLISHMENT_CNF(message_p).errCode         = error_codeP;
-  NAS_CONNECTION_ESTABLISHMENT_CNF(message_p).nasMsg.data     = data_pP;
-  NAS_CONNECTION_ESTABLISHMENT_CNF(message_p).nasMsg.length   = lengthP;
-  NAS_CONNECTION_ESTABLISHMENT_CNF(message_p).selected_encryption_algorithm   = selected_encryption_algorithmP;
-  NAS_CONNECTION_ESTABLISHMENT_CNF(message_p).selected_integrity_algorithm    = selected_integrity_algorithmP;
-
-  MSC_LOG_TX_MESSAGE(
-  	  	MSC_NAS_MME,
-  	  	MSC_MMEAPP_MME,
-  	  	NULL,0,
-  	  	"0 NAS_CONNECTION_ESTABLISHMENT_CNF ue id %06"PRIX32" len %u sea %x sia %x ",
-  	  ue_idP, lengthP, selected_encryption_algorithmP, selected_integrity_algorithmP);
-
-  itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-}
-
-static inline void nas_itti_auth_info_req(
-  const uint32_t      ue_idP,
-  const imsi_t *const imsi_pP,
-  uint8_t             initial_reqP,
-  const uint8_t      *auts_pP)
-{
-  MessageDef *message_p;
-
-  message_p = itti_alloc_new_message(TASK_NAS_MME, NAS_AUTHENTICATION_PARAM_REQ);
-  memset(&message_p->ittiMsg.nas_auth_param_req,
-         0,
-         sizeof(nas_auth_param_req_t));
-
-  hexa_to_ascii((uint8_t *)imsi_pP->u.value,
-                NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi, 8);
-
-  NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi[15] = '\0';
-
-  if (isdigit(NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi[14])) {
-    NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi_length = 15;
-  } else {
-    NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi_length = 14;
-    NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi[14] = '\0';
-  }
-
-  NAS_AUTHENTICATION_PARAM_REQ(message_p).initial_req = initial_reqP;
-  NAS_AUTHENTICATION_PARAM_REQ(message_p).ue_id = ue_idP;
-
-  /* Re-synchronisation */
-  if (auts_pP != NULL) {
-    NAS_AUTHENTICATION_PARAM_REQ(message_p).re_synchronization = 1;
-    memcpy(NAS_AUTHENTICATION_PARAM_REQ(message_p).auts, auts_pP, AUTS_LENGTH);
-  } else {
-    NAS_AUTHENTICATION_PARAM_REQ(message_p).re_synchronization = 0;
-    memset(NAS_AUTHENTICATION_PARAM_REQ(message_p).auts, 0, AUTS_LENGTH);
-  }
-
-  MSC_LOG_TX_MESSAGE(
-  	  	MSC_NAS_MME,
-  	  	MSC_MMEAPP_MME,
-  	  	NULL,0,
-  	  	"0 NAS_AUTHENTICATION_PARAM_REQ ue id %06"PRIX32" IMSI %s ",
-  	  ue_idP, NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi);
-
-  itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-}
-
-static inline void nas_itti_establish_rej(
-  const uint32_t      ue_idP,
-  const imsi_t *const imsi_pP
-  , uint8_t           initial_reqP)
-{
-  MessageDef *message_p;
-
-  message_p = itti_alloc_new_message(TASK_NAS_MME, NAS_AUTHENTICATION_PARAM_REQ);
-  memset(&message_p->ittiMsg.nas_auth_param_req,
-         0,
-         sizeof(nas_auth_param_req_t));
-
-  hexa_to_ascii((uint8_t *)imsi_pP->u.value,
-                NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi, 8);
-
-  NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi[15] = '\0';
-
-  if (isdigit(NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi[14])) {
-    NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi_length = 15;
-  } else {
-    NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi_length = 14;
-    NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi[14]    = '\0';
-  }
-
-  NAS_AUTHENTICATION_PARAM_REQ(message_p).initial_req = initial_reqP;
-  NAS_AUTHENTICATION_PARAM_REQ(message_p).ue_id       = ue_idP;
-
-  MSC_LOG_TX_MESSAGE(
-  	  	MSC_NAS_MME,
-  	  	MSC_MMEAPP_MME,
-  	  	NULL,0,
-  	  	"0 NAS_AUTHENTICATION_PARAM_REQ ue id %06"PRIX32" IMSI %s (establish reject)",
-  	  ue_idP, NAS_AUTHENTICATION_PARAM_REQ(message_p).imsi);
-
-  itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-}
-# endif
-
-
-#endif /* NAS_ITTI_MESSAGING_H_ */
diff --git a/openair-cn/NAS/MME/nas_mme_task.c b/openair-cn/NAS/MME/nas_mme_task.c
deleted file mode 100644
index 88939f93c248f342ad633d7005a55d52b686e741..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_mme_task.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-
-#include "intertask_interface.h"
-#include "mme_config.h"
-#include "nas_defs.h"
-#include "msc.h"
-
-#if !defined(DISABLE_USE_NAS)
-# include "nas_network.h"
-# include "nas_proc.h"
-# include "emm_main.h"
-# include "nas_log.h"
-# include "nas_timer.h"
-#endif
-
-#define NAS_ERROR(x, args...) do { fprintf(stderr, "[NAS] [E]"x, ##args); } while(0)
-#define NAS_DEBUG(x, args...) do { fprintf(stdout, "[NAS] [D]"x, ##args); } while(0)
-#define NAS_WARN(x, args...)  do { fprintf(stdout, "[NAS] [W]"x, ##args); } while(0)
-
-static void *nas_intertask_interface(void *args_p)
-{
-  itti_mark_task_ready(TASK_NAS_MME);
-  MSC_START_USE();
-
-  while(1) {
-    MessageDef *received_message_p;
-
-next_message:
-    itti_receive_msg(TASK_NAS_MME, &received_message_p);
-
-    switch (ITTI_MSG_ID(received_message_p)) {
-    case NAS_CONNECTION_ESTABLISHMENT_IND: {
-#if defined(DISABLE_USE_NAS)
-      MessageDef       *message_p;
-      nas_attach_req_t *nas_req_p;
-      s1ap_initial_ue_message_t *transparent;
-
-      NAS_DEBUG("NAS abstraction: Generating NAS ATTACH REQ\n");
-
-      message_p = itti_alloc_new_message(TASK_NAS_MME, NAS_ATTACH_REQ);
-
-      nas_req_p = &message_p->ittiMsg.nas_attach_req;
-      transparent = &message_p->ittiMsg.nas_attach_req.transparent;
-
-      nas_req_p->initial = INITIAL_REQUEST;
-      sprintf(nas_req_p->imsi, "%14llu", 20834123456789ULL);
-
-      memcpy(transparent, &received_message_p->ittiMsg.nas_conn_est_ind.transparent,
-             sizeof(s1ap_initial_ue_message_t));
-
-      itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-#else
-      nas_establish_ind_t *nas_est_ind_p;
-
-      nas_est_ind_p = &received_message_p->ittiMsg.nas_conn_est_ind.nas;
-
-      nas_proc_establish_ind(nas_est_ind_p->UEid,
-                             nas_est_ind_p->tac,
-                             nas_est_ind_p->initialNasMsg.data,
-                             nas_est_ind_p->initialNasMsg.length);
-#endif
-    }
-    break;
-
-#if defined(DISABLE_USE_NAS)
-
-    case NAS_ATTACH_ACCEPT: {
-      itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, received_message_p);
-      goto next_message;
-    }
-    break;
-
-    case NAS_AUTHENTICATION_REQ: {
-      MessageDef      *message_p;
-      nas_auth_resp_t *nas_resp_p;
-
-      NAS_DEBUG("NAS abstraction: Generating NAS AUTHENTICATION RESPONSE\n");
-
-      message_p = itti_alloc_new_message(TASK_NAS_MME, NAS_AUTHENTICATION_RESP);
-
-      nas_resp_p = &message_p->ittiMsg.nas_auth_resp;
-
-      memcpy(nas_resp_p->imsi, received_message_p->ittiMsg.nas_auth_req.imsi, 16);
-
-      itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-    }
-    break;
-#else
-
-    case NAS_UPLINK_DATA_IND: {
-      nas_proc_ul_transfer_ind(NAS_UL_DATA_IND(received_message_p).UEid,
-                               NAS_UL_DATA_IND(received_message_p).nasMsg.data,
-                               NAS_UL_DATA_IND(received_message_p).nasMsg.length);
-    }
-    break;
-
-    case NAS_DOWNLINK_DATA_CNF: {
-      nas_proc_dl_transfer_cnf(NAS_DL_DATA_CNF(received_message_p).UEid);
-    } break;
-
-    case NAS_DOWNLINK_DATA_REJ: {
-      nas_proc_dl_transfer_rej(NAS_DL_DATA_REJ(received_message_p).UEid);
-    } break;
-
-    case NAS_AUTHENTICATION_PARAM_RSP: {
-      nas_proc_auth_param_res(&NAS_AUTHENTICATION_PARAM_RSP(received_message_p));
-    }
-    break;
-
-    case NAS_AUTHENTICATION_PARAM_FAIL: {
-      nas_proc_auth_param_fail(&NAS_AUTHENTICATION_PARAM_FAIL(received_message_p));
-    }
-    break;
-#endif
-
-    case NAS_PDN_CONNECTIVITY_RSP: {
-      nas_proc_pdn_connectivity_res(&NAS_PDN_CONNECTIVITY_RSP(received_message_p));
-    }
-    break;
-
-    case NAS_PDN_CONNECTIVITY_FAIL: {
-      nas_proc_pdn_connectivity_fail(&NAS_PDN_CONNECTIVITY_FAIL(received_message_p));
-    }
-    break;
-
-
-    case TIMER_HAS_EXPIRED: {
-#if !defined(DISABLE_USE_NAS)
-      /* Call the NAS timer api */
-      nas_timer_handle_signal_expiry(TIMER_HAS_EXPIRED(received_message_p).timer_id,
-                                     TIMER_HAS_EXPIRED(received_message_p).arg);
-#endif
-    }
-    break;
-
-    case S1AP_ENB_DEREGISTERED_IND: {
-#if !defined(DISABLE_USE_NAS)
-      int i;
-
-      for (i = 0; i < S1AP_ENB_DEREGISTERED_IND(received_message_p).nb_ue_to_deregister; i ++) {
-        nas_proc_deregister_ue(S1AP_ENB_DEREGISTERED_IND(received_message_p).mme_ue_s1ap_id[i]);
-      }
-
-#endif
-    }
-    break;
-
-    case S1AP_DEREGISTER_UE_REQ: {
-#if !defined(DISABLE_USE_NAS)
-      nas_proc_deregister_ue(S1AP_DEREGISTER_UE_REQ(received_message_p).mme_ue_s1ap_id);
-#endif
-    }
-    break;
-
-    case TERMINATE_MESSAGE: {
-      itti_exit_task();
-    }
-    break;
-
-    default: {
-      NAS_DEBUG("Unkwnon message ID %d:%s from %s\n",
-                ITTI_MSG_ID(received_message_p),
-                ITTI_MSG_NAME(received_message_p),
-                ITTI_MSG_ORIGIN_NAME(received_message_p));
-    }
-    break;
-    }
-
-    itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), received_message_p);
-    received_message_p = NULL;
-  }
-
-  return NULL;
-}
-
-int nas_init(mme_config_t *mme_config_p)
-{
-  NAS_DEBUG("Initializing NAS task interface\n");
-
-#if !defined(DISABLE_USE_NAS)
-  nas_log_init(0x3F);
-  nas_network_initialize(mme_config_p);
-#endif
-
-  if (itti_create_task(TASK_NAS_MME, &nas_intertask_interface,
-                       NULL) < 0) {
-    NAS_ERROR("Create task failed");
-    NAS_DEBUG("Initializing NAS task interface: FAILED\n");
-    return -1;
-  }
-
-  NAS_DEBUG("Initializing NAS task interface: DONE\n");
-  return 0;
-}
diff --git a/openair-cn/NAS/MME/nas_network.c b/openair-cn/NAS/MME/nas_network.c
deleted file mode 100644
index 0af3aa3425656928d13b724aaeb0d8342656a760..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_network.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      nas_network.h
-
-Version     0.1
-
-Date        2012/09/20
-
-Product     NAS stack
-
-Subsystem   NAS main process
-
-Author      Frederic Maurel
-
-Description NAS procedure functions triggered by the network
-
-*****************************************************************************/
-
-#include "nas_network.h"
-#include "commonDef.h"
-#include "nas_log.h"
-#include "nas_timer.h"
-
-#include "as_message.h"
-#include "nas_proc.h"
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_network_initialize()                                  **
- **                                                                        **
- ** Description: Initializes network internal data                         **
- **                                                                        **
- ** Inputs:  None                                                      **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-#if defined(NAS_BUILT_IN_EPC)
-void nas_network_initialize(mme_config_t *mme_config_p)
-#else
-void nas_network_initialize(void)
-#endif
-{
-  LOG_FUNC_IN;
-
-  /* Initialize the internal NAS processing data */
-# if defined(NAS_BUILT_IN_EPC)
-  nas_timer_init();
-  nas_proc_initialize(mme_config_p);
-# else
-  nas_proc_initialize();
-# endif
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_network_cleanup()                                     **
- **                                                                        **
- ** Description: Performs clean up procedure before the system is shutdown **
- **                                                                        **
- ** Inputs:  None                                                      **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **          Return:    None                                       **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-void nas_network_cleanup(void)
-{
-  LOG_FUNC_IN;
-
-  nas_proc_cleanup();
-
-  LOG_FUNC_OUT;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_network_process_data()                                **
- **                                                                        **
- ** Description: Process Access Stratum messages received from the network **
- **      and call applicable NAS procedure function.               **
- **                                                                        **
- ** Inputs:  msg_id:    AS message identifier                      **
- **          data:      Generic pointer to data structure that has **
- **             to be processed                            **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok if the message has been success-  **
- **             fully processed; RETURNerror otherwise     **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int nas_network_process_data(int msg_id, const void *data)
-{
-  LOG_FUNC_IN;
-
-  const as_message_t *msg = (as_message_t *)(data);
-  int rc = RETURNok;
-
-  /* Sanity check */
-  if (msg_id != msg->msgID) {
-    LOG_TRACE(ERROR, "NET-MAIN  - Message identifier 0x%x to process "
-              "is different from that of the network data (0x%x)",
-              msg_id, msg->msgID);
-    LOG_FUNC_RETURN (RETURNerror);
-  }
-
-  switch (msg_id) {
-
-
-  case AS_NAS_ESTABLISH_IND: {
-    /* Received NAS signalling connection establishment indication */
-    const nas_establish_ind_t *indication = &msg->msg.nas_establish_ind;
-    rc = nas_proc_establish_ind(indication->UEid,
-                                indication->tac,
-                                indication->initialNasMsg.data,
-                                indication->initialNasMsg.length);
-    break;
-  }
-
-  case AS_DL_INFO_TRANSFER_CNF: {
-    const dl_info_transfer_cnf_t *info = &msg->msg.dl_info_transfer_cnf;
-
-    /* Received downlink data transfer confirm */
-    if (info->errCode != AS_SUCCESS) {
-      LOG_TRACE(WARNING, "NET-MAIN  - "
-                "Downlink NAS message not delivered");
-      rc = nas_proc_dl_transfer_rej(info->UEid);
-    } else {
-      rc = nas_proc_dl_transfer_cnf(info->UEid);
-    }
-
-    break;
-  }
-
-  case AS_UL_INFO_TRANSFER_IND: {
-    const ul_info_transfer_ind_t *info = &msg->msg.ul_info_transfer_ind;
-    /* Received uplink data transfer indication */
-    rc = nas_proc_ul_transfer_ind(info->UEid,
-                                  info->nasMsg.data,
-                                  info->nasMsg.length);
-    break;
-  }
-
-  case AS_RAB_ESTABLISH_CNF:
-    break;
-
-  default:
-    LOG_TRACE(ERROR, "NET-MAIN  - Unexpected AS message type: 0x%x",
-              msg_id);
-    rc = RETURNerror;
-    break;
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/nas_network.h b/openair-cn/NAS/MME/nas_network.h
deleted file mode 100644
index ef235dcdb75c1f6d81836ba4e78353817175a5d2..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_network.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      nas_network.h
-
-Version     0.1
-
-Date        2012/09/20
-
-Product     NAS stack
-
-Subsystem   NAS main process
-
-Author      Frederic Maurel
-
-Description NAS procedure functions triggered by the network
-
-*****************************************************************************/
-
-#if defined(NAS_BUILT_IN_EPC)
-# include "mme_config.h"
-#endif
-
-#ifndef __NAS_NETWORK_H__
-#define __NAS_NETWORK_H__
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-#if defined(NAS_BUILT_IN_EPC)
-void nas_network_initialize(mme_config_t *mme_config_p);
-#else
-void nas_network_initialize(void);
-#endif
-
-void nas_network_cleanup(void);
-
-int nas_network_process_data(int command_id, const void *data);
-
-const void *nas_network_get_data(void);
-
-#endif /* __NAS_NETWORK_H__*/
diff --git a/openair-cn/NAS/MME/nas_parser.c b/openair-cn/NAS/MME/nas_parser.c
deleted file mode 100644
index af87d1ce9733c2a0eb2c130f8ba68570b6d09acd..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_parser.c
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      nas_parser.c
-
-Version     0.1
-
-Date        2012/02/27
-
-Product     NAS stack
-
-Subsystem   NAS main process
-
-Author      Frederic Maurel
-
-Description NAS command line parser
-
-*****************************************************************************/
-
-#include "nas_parser.h"
-#include "parser.h"
-
-#include <stdio.h>  // fprintf
-#include <stdlib.h> // atoi
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-/*
- * Identifiers of the NAS command line options
- */
-enum {
-  NAS_PARSER_TRACE_LEVEL,     /* Logging trace level      */
-  NAS_PARSER_NETWORK_HOST,        /* Network layer's hostname */
-  NAS_PARSER_NETWORK_PORT,        /* Network layer's port number  */
-  NAS_PARSER_NB_OPTIONS
-};
-
-/* -----------------------------------------------------
- * Definition of the internal NAS command line structure
- * -----------------------------------------------------
- *  The command line is defined with a name (default is "NASprocess"
- *  but it will be replaced by the command name actually used at
- *  runtime), a number of options and the list of options.
- *  An option is defined with a name, an argument following the name,
- *  the usage displayed by the usage function and a default value.
- */
-static parser_command_line_t nasParserCommandLine = {
-  "NASprocess",           /* Command name         */
-  NAS_PARSER_NB_OPTIONS,      /* Number of options        */
-  {                 /* Command line options     */
-    {
-      "-trace", "<mask>", "Logging trace level\t\t",
-      NAS_PARSER_DEFAULT_TRACE_LEVEL
-    },
-    {
-      "-nhost", "<nhost>", "Network layer's hostname\t",
-      NAS_PARSER_DEFAULT_NETWORK_HOSTNAME
-    },
-    {
-      "-nport", "<nport>", "Network layer's port number\t",
-      NAS_PARSER_DEFAULT_NETWORK_PORT_NUMBER
-    },
-  }
-};
-
-/*
- * Converts a string, containing hexadecimal formatted integer, to an integer
- */
-static int atohex(const char *a_char);
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_parser_print_usage()                                  **
- **                                                                        **
- ** Description: Displays the command line options used to run the NAS     **
- **      process and the firmware version defined at compilation   **
- **      time                                                      **
- **                                                                        **
- ** Inputs:  version:   Firmware version                           **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    None                                       **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-void nas_parser_print_usage(const char *version)
-{
-  parser_print_usage(&nasParserCommandLine);
-  fprintf(stderr, "Version: %s\n", version);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_parser_get_options()                                  **
- **                                                                        **
- ** Description: Gets the command line options used to run the NAS process **
- **                                                                        **
- ** Inputs:  argc:      Number of options                          **
- **          argv:      Pointer to the list of options             **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    RETURNerror, RETURNok                      **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int nas_parser_get_options(int argc, const char **argv)
-{
-  return parser_get_options(argc, argv, &nasParserCommandLine);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_parser_get_nb_options()                               **
- **                                                                        **
- ** Description: Returns the number of the command line options used to    **
- **      run the NAS process                                       **
- **                                                                        **
- ** Inputs:  None                                                      **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    Number of command line options             **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int nas_parser_get_nb_options(void)
-{
-  return nasParserCommandLine.nb_options;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_parser_get_trace_level()                              **
- **                                                                        **
- ** Description: Returns the value of the logging trace level              **
- **                                                                        **
- ** Inputs:  None                                                      **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    Value of the logging trace level           **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int nas_parser_get_trace_level(void)
-{
-  return atohex( nasParserCommandLine.options[NAS_PARSER_TRACE_LEVEL].pvalue );
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_parser_get_network_host()                             **
- **                                                                        **
- ** Description: Returns the value of the network layer hostname           **
- **                                                                        **
- ** Inputs:  None                                                      **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    Value of the network layer hostname        **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-const char *nas_parser_get_network_host(void)
-{
-  return nasParserCommandLine.options[NAS_PARSER_NETWORK_HOST].pvalue;
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_parser_get_network_port()                             **
- **                                                                        **
- ** Description: Returns the value of the network layer port number        **
- **                                                                        **
- ** Inputs:  None                                                      **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     Return:    Value of the network layer port number     **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-const char *nas_parser_get_network_port(void)
-{
-  return nasParserCommandLine.options[NAS_PARSER_NETWORK_PORT].pvalue;
-}
-
-
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
-static int atohex(const char *a_char)
-{
-  int result;
-
-  for (result=0; a_char; a_char++) {
-    if (*a_char >= '0' && *a_char <= '9') {
-      result = (result << 4) + (*a_char - '0');
-    } else if (*a_char >= 'A' && *a_char <= 'F') {
-      result = (result << 4) + (*a_char - 'A' + 10);
-    } else if (*a_char >= 'a' && *a_char <= 'f') {
-      result = (result << 4) + (*a_char - 'a' + 10);
-    } else {
-      break;
-    }
-  }
-
-  return result;
-}
diff --git a/openair-cn/NAS/MME/nas_parser.h b/openair-cn/NAS/MME/nas_parser.h
deleted file mode 100644
index c536c1375ca5b7d07a65788a5a2f5c6381fd7e16..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_parser.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      nas_parser.h
-
-Version     0.1
-
-Date        2012/02/27
-
-Product     NAS stack
-
-Subsystem   NAS main process
-
-Author      Frederic Maurel
-
-Description NAS command line parser
-
-*****************************************************************************/
-#ifndef __NAS_PARSER_H__
-#define __NAS_PARSER_H__
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/* Logging trace level default value */
-#define NAS_PARSER_DEFAULT_TRACE_LEVEL      "0" /* No trace */
-
-/* Network layer default hostname */
-#define NAS_PARSER_DEFAULT_NETWORK_HOSTNAME "localhost"
-
-/* Network layer default port number */
-#define NAS_PARSER_DEFAULT_NETWORK_PORT_NUMBER  "12000"
-
-
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-void nas_parser_print_usage(const char *version);
-int  nas_parser_get_options(int argc, const char **argv);
-
-int  nas_parser_get_nb_options(void);
-int  nas_parser_get_trace_level(void);
-const char *nas_parser_get_network_host(void);
-const char *nas_parser_get_network_port(void);
-
-
-#endif /* __NAS_PARSER_H__*/
diff --git a/openair-cn/NAS/MME/nas_proc.c b/openair-cn/NAS/MME/nas_proc.c
deleted file mode 100644
index 7fae146a894c23ec11e6a23b49c3e053df74f9ef..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_proc.c
+++ /dev/null
@@ -1,443 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      nas_proc.c
-
-Version     0.1
-
-Date        2012/09/20
-
-Product     NAS stack
-
-Subsystem   NAS main process
-
-Author      Frederic Maurel
-
-Description NAS procedure call manager
-
-*****************************************************************************/
-
-#include "nas_proc.h"
-#include "nas_log.h"
-
-#include "emm_main.h"
-#include "emm_sap.h"
-
-#include "esm_main.h"
-#include "esm_sap.h"
-#include "msc.h"
-
-#include <stdio.h>  // sprintf
-
-/****************************************************************************/
-/****************  E X T E R N A L    D E F I N I T I O N S  ****************/
-/****************************************************************************/
-
-/****************************************************************************/
-/*******************  L O C A L    D E F I N I T I O N S  *******************/
-/****************************************************************************/
-
-
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_proc_initialize()                                     **
- **                                                                        **
- ** Description:                                                           **
- **                                                                        **
- ** Inputs:  None                                                      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    None                                       **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-# if defined(NAS_BUILT_IN_EPC)
-void nas_proc_initialize(mme_config_t *mme_config_p)
-{
-  LOG_FUNC_IN;
-
-  /* Initialize the EMM procedure manager */
-  emm_main_initialize(mme_config_p);
-
-  /* Initialize the ESM procedure manager */
-  esm_main_initialize();
-
-  LOG_FUNC_OUT;
-}
-# else
-void nas_proc_initialize(void)
-{
-  LOG_FUNC_IN;
-
-  /* Initialize the EMM procedure manager */
-  emm_main_initialize();
-
-  /* Initialize the ESM procedure manager */
-  esm_main_initialize();
-
-  LOG_FUNC_OUT;
-}
-# endif
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_proc_cleanup()                                        **
- **                                                                        **
- ** Description: Performs clean up procedure before the system is shutdown **
- **                                                                        **
- ** Inputs:  None                                                      **
- **          Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **          Return:    None                                       **
- **          Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-void nas_proc_cleanup(void)
-{
-  LOG_FUNC_IN;
-
-  /* Perform the EPS Mobility Manager's clean up procedure */
-  emm_main_cleanup();
-
-  /* Perform the EPS Session Manager's clean up procedure */
-  esm_main_cleanup();
-
-  LOG_FUNC_OUT;
-}
-
-/*
- * --------------------------------------------------------------------------
- *          NAS procedures triggered by the user
- * --------------------------------------------------------------------------
- */
-
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_proc_establish_ind()                                  **
- **                                                                        **
- ** Description: Processes the NAS signalling connection establishment     **
- **      indication message received from the network              **
- **                                                                        **
- ** Inputs:  ueid:      UE identifier                              **
- **      tac:       The code of the tracking area the initia-  **
- **             ting UE belongs to                         **
- **      data:      The initial NAS message transfered within  **
- **             the message                                **
- **      len:       The length of the initial NAS message      **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int nas_proc_establish_ind(uint32_t ueid, tac_t tac,
-                           const Byte_t *data, uint32_t len)
-{
-  LOG_FUNC_IN;
-
-  int rc = RETURNerror;
-
-  if (len > 0) {
-    emm_sap_t emm_sap;
-
-    MSC_LOG_TX_MESSAGE(
-    		MSC_NAS_MME,
-    		MSC_NAS_EMM_MME,
-    		NULL,0,
-    		"0 EMMAS_ESTABLISH_REQ ue id "NAS_UE_ID_FMT" tac %u", ueid, tac);
-    /*
-     * Notify the EMM procedure call manager that NAS signalling
-     * connection establishment indication message has been received
-     * from the Access-Stratum sublayer
-     */
-    emm_sap.primitive = EMMAS_ESTABLISH_REQ;
-    emm_sap.u.emm_as.u.establish.ueid = ueid;
-    emm_sap.u.emm_as.u.establish.NASmsg.length = len;
-    emm_sap.u.emm_as.u.establish.NASmsg.value = (uint8_t *)data;
-    rc = emm_sap_send(&emm_sap);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_proc_dl_transfer_cnf()                                **
- **                                                                        **
- ** Description: Processes the downlink data transfer confirm message re-  **
- **      ceived from the network while NAS message has been succes-**
- **      sfully delivered to the NAS sublayer on the receiver side.**
- **                                                                        **
- ** Inputs:  ueid:      UE identifier                              **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int nas_proc_dl_transfer_cnf(uint32_t ueid)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_NAS_MME,
-  		MSC_NAS_EMM_MME,
-  		NULL,0,
-  		"0 EMMAS_DATA_IND dl_transfer_conf ue id "NAS_UE_ID_FMT" ", ueid);
-
-  /*
-   * Notify the EMM procedure call manager that downlink NAS message
-   * has been successfully delivered to the NAS sublayer on the
-   * receiver side
-   */
-  emm_sap.primitive = EMMAS_DATA_IND;
-  emm_sap.u.emm_as.u.data.ueid = ueid;
-  emm_sap.u.emm_as.u.data.delivered = TRUE;
-  emm_sap.u.emm_as.u.data.NASmsg.length = 0;
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_proc_dl_transfer_rej()                                **
- **                                                                        **
- ** Description: Processes the downlink data transfer confirm message re-  **
- **      ceived from the network while NAS message has not been    **
- **      delivered to the NAS sublayer on the receiver side.       **
- **                                                                        **
- ** Inputs:  ueid:      UE identifier                              **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int nas_proc_dl_transfer_rej(uint32_t ueid)
-{
-  LOG_FUNC_IN;
-
-  emm_sap_t emm_sap;
-  int rc;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_NAS_MME,
-  		MSC_NAS_EMM_MME,
-  		NULL,0,
-  		"0 EMMAS_DATA_IND dl_transfer_reject ue id "NAS_UE_ID_FMT" ", ueid);
-
-  /*
-   * Notify the EMM procedure call manager that transmission
-   * failure of downlink NAS message indication has been received
-   * from lower layers
-   */
-  emm_sap.primitive = EMMAS_DATA_IND;
-  emm_sap.u.emm_as.u.data.ueid = ueid;
-  emm_sap.u.emm_as.u.data.delivered = FALSE;
-  emm_sap.u.emm_as.u.data.NASmsg.length = 0;
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-/****************************************************************************
- **                                                                        **
- ** Name:    nas_proc_ul_transfer_ind()                                **
- **                                                                        **
- ** Description: Processes uplink data transfer indication message recei-  **
- **      ved from the network                                      **
- **                                                                        **
- ** Inputs:  ueid:      UE identifier                              **
- **      data:      The transfered NAS message                 **
- **      len:       The length of the NAS message              **
- **      Others:    None                                       **
- **                                                                        **
- ** Outputs:     None                                                      **
- **      Return:    RETURNok, RETURNerror                      **
- **      Others:    None                                       **
- **                                                                        **
- ***************************************************************************/
-int nas_proc_ul_transfer_ind(uint32_t ueid, const Byte_t *data, uint32_t len)
-{
-  int rc = RETURNerror;
-
-  LOG_FUNC_IN;
-
-  if (len > 0) {
-    emm_sap_t emm_sap;
-    /*
-     * Notify the EMM procedure call manager that data transfer
-     * indication has been received from the Access-Stratum sublayer
-     */
-    MSC_LOG_TX_MESSAGE(
-    		MSC_NAS_MME,
-    		MSC_NAS_EMM_MME,
-    		NULL,0,
-    		"0 EMMAS_DATA_IND ue id "NAS_UE_ID_FMT" len %u", ueid, len);
-
-    emm_sap.primitive = EMMAS_DATA_IND;
-    emm_sap.u.emm_as.u.data.ueid = ueid;
-    emm_sap.u.emm_as.u.data.delivered = TRUE;
-    emm_sap.u.emm_as.u.data.NASmsg.length = len;
-    emm_sap.u.emm_as.u.data.NASmsg.value = (uint8_t *)data;
-    rc = emm_sap_send(&emm_sap);
-  }
-
-  LOG_FUNC_RETURN (rc);
-}
-
-# if defined(NAS_BUILT_IN_EPC)
-int nas_proc_auth_param_res(emm_cn_auth_res_t *emm_cn_auth_res)
-{
-  int rc = RETURNerror;
-  emm_sap_t emm_sap;
-
-  LOG_FUNC_IN;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_NAS_MME,
-  		MSC_NAS_EMM_MME,
-  		NULL,0,
-  		"0 EMMCN_AUTHENTICATION_PARAM_RES");
-
-  emm_sap.primitive = EMMCN_AUTHENTICATION_PARAM_RES;
-  emm_sap.u.emm_cn.u.auth_res = emm_cn_auth_res;
-
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-int nas_proc_auth_param_fail(emm_cn_auth_fail_t *emm_cn_auth_fail)
-{
-  int rc = RETURNerror;
-  emm_sap_t emm_sap;
-
-  LOG_FUNC_IN;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_NAS_MME,
-  		MSC_NAS_EMM_MME,
-  		NULL,0,
-  		"0 EMMCN_AUTHENTICATION_PARAM_FAIL");
-
-  emm_sap.primitive = EMMCN_AUTHENTICATION_PARAM_FAIL;
-  emm_sap.u.emm_cn.u.auth_fail = emm_cn_auth_fail;
-
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-int nas_proc_deregister_ue(uint32_t ue_id)
-{
-  int rc = RETURNerror;
-  emm_sap_t emm_sap;
-
-  LOG_FUNC_IN;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_NAS_MME,
-  		MSC_NAS_EMM_MME,
-  		NULL,0,
-  		"0 EMMCN_DEREGISTER_UE ue_id "NAS_UE_ID_FMT" ",ue_id);
-
-  emm_sap.primitive = EMMCN_DEREGISTER_UE;
-  emm_sap.u.emm_cn.u.deregister.UEid = ue_id;
-
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-int nas_proc_pdn_connectivity_res(emm_cn_pdn_res_t *emm_cn_pdn_res)
-{
-  int rc = RETURNerror;
-  emm_sap_t emm_sap;
-
-  LOG_FUNC_IN;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_NAS_MME,
-  		MSC_NAS_EMM_MME,
-  		NULL,0,
-  		"0 EMMCN_PDN_CONNECTIVITY_RES");
-
-  emm_sap.primitive = EMMCN_PDN_CONNECTIVITY_RES;
-  emm_sap.u.emm_cn.u.emm_cn_pdn_res = emm_cn_pdn_res;
-
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-int nas_proc_pdn_connectivity_fail(emm_cn_pdn_fail_t *emm_cn_pdn_fail)
-{
-  int rc = RETURNerror;
-  emm_sap_t emm_sap;
-
-  LOG_FUNC_IN;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_NAS_MME,
-  		MSC_NAS_EMM_MME,
-  		NULL,0,
-  		"0 EMMCN_PDN_CONNECTIVITY_FAIL");
-
-  emm_sap.primitive = EMMCN_PDN_CONNECTIVITY_FAIL;
-  emm_sap.u.emm_cn.u.emm_cn_pdn_fail = emm_cn_pdn_fail;
-
-  rc = emm_sap_send(&emm_sap);
-
-  LOG_FUNC_RETURN (rc);
-}
-
-
-
-# endif
-
-/****************************************************************************/
-/*********************  L O C A L    F U N C T I O N S  *********************/
-/****************************************************************************/
-
diff --git a/openair-cn/NAS/MME/nas_proc.h b/openair-cn/NAS/MME/nas_proc.h
deleted file mode 100644
index a00060ed9d61194290faabfbc0404b909c185938..0000000000000000000000000000000000000000
--- a/openair-cn/NAS/MME/nas_proc.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*****************************************************************************
-Source      nas_proc.h
-
-Version     0.1
-
-Date        2012/09/20
-
-Product     NAS stack
-
-Subsystem   NAS main process
-
-Author      Frederic Maurel
-
-Description NAS procedure call manager
-
-*****************************************************************************/
-#ifndef __NAS_PROC_H__
-#define __NAS_PROC_H__
-
-#if defined(NAS_BUILT_IN_EPC)
-# include "mme_config.h"
-# include "emm_cnDef.h"
-#endif
-
-#include "commonDef.h"
-#include "networkDef.h"
-
-/****************************************************************************/
-/*********************  G L O B A L    C O N S T A N T S  *******************/
-/****************************************************************************/
-
-/****************************************************************************/
-/************************  G L O B A L    T Y P E S  ************************/
-/****************************************************************************/
-
-/****************************************************************************/
-/********************  G L O B A L    V A R I A B L E S  ********************/
-/****************************************************************************/
-
-/****************************************************************************/
-/******************  E X P O R T E D    F U N C T I O N S  ******************/
-/****************************************************************************/
-
-
-# if defined(NAS_BUILT_IN_EPC)
-void nas_proc_initialize(mme_config_t *mme_config_p);
-# else
-void nas_proc_initialize(void);
-# endif
-
-void nas_proc_cleanup(void);
-
-/*
- * --------------------------------------------------------------------------
- *          NAS procedures triggered by the user
- * --------------------------------------------------------------------------
- */
-
-
-/*
- * --------------------------------------------------------------------------
- *      NAS procedures triggered by the network
- * --------------------------------------------------------------------------
- */
-
-
-
-int nas_proc_establish_ind(uint32_t ueid, tac_t tac, const Byte_t *data,
-                           uint32_t len);
-
-int nas_proc_dl_transfer_cnf(uint32_t ueid);
-int nas_proc_dl_transfer_rej(uint32_t ueid);
-int nas_proc_ul_transfer_ind(uint32_t ueid, const Byte_t *data, uint32_t len);
-
-/*
- * --------------------------------------------------------------------------
- *      NAS procedures triggered by the mme applicative layer
- * --------------------------------------------------------------------------
- */
-#if defined(NAS_BUILT_IN_EPC)
-int nas_proc_auth_param_res(emm_cn_auth_res_t *emm_cn_auth_res);
-int nas_proc_auth_param_fail(emm_cn_auth_fail_t *emm_cn_auth_fail);
-int nas_proc_deregister_ue(uint32_t ue_id);
-int nas_proc_pdn_connectivity_res(nas_pdn_connectivity_rsp_t *nas_pdn_connectivity_rsp);
-int nas_proc_pdn_connectivity_fail(nas_pdn_connectivity_fail_t *nas_pdn_connectivity_fail);
-#endif
-
-#endif /* __NAS_PROC_H__*/
diff --git a/openair-cn/NAS/TEST/AS_SIMULATOR/Makefile b/openair-cn/NAS/TEST/AS_SIMULATOR/Makefile
index 94c27037e4f1964ca5682d206d75977dcd46fe4a..91146b1afa02b82ecaa8d9c6b6497a6b94cfdef3 100644
--- a/openair-cn/NAS/TEST/AS_SIMULATOR/Makefile
+++ b/openair-cn/NAS/TEST/AS_SIMULATOR/Makefile
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/NAS/TEST/NETWORK/Makefile b/openair-cn/NAS/TEST/NETWORK/Makefile
index b9075e5c7718649cdd5c224d9b1558bd25a07e1c..e6e03f13623f46f0d7d0337de4adec6022f577f2 100644
--- a/openair-cn/NAS/TEST/NETWORK/Makefile
+++ b/openair-cn/NAS/TEST/NETWORK/Makefile
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/NAS/TEST/USER/Makefile b/openair-cn/NAS/TEST/USER/Makefile
index 797d0614ab2607975fce4331930c9e0f46406ab6..f65e6ff5577a006ea64ace1bde743b374e4bc044 100644
--- a/openair-cn/NAS/TEST/USER/Makefile
+++ b/openair-cn/NAS/TEST/USER/Makefile
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/NAS/TOOLS/Makefile b/openair-cn/NAS/TOOLS/Makefile
index 9c3c54e602f1c1005003fc1be5b137a113d4298f..d54edd304901135db21558c44ce7d0f61f6c1d6d 100644
--- a/openair-cn/NAS/TOOLS/Makefile
+++ b/openair-cn/NAS/TOOLS/Makefile
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/NAS/TOOLS/network.h b/openair-cn/NAS/TOOLS/network.h
index 849c30f88fdcac1daa17478b042ea1beda53e3b5..54bf61a7b43c5ec07ae5b469ca10f7be9c13aff8 100644
--- a/openair-cn/NAS/TOOLS/network.h
+++ b/openair-cn/NAS/TOOLS/network.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/TOOLS/ue_data.c b/openair-cn/NAS/TOOLS/ue_data.c
index 5dcbdf79de79ddcad95f4f9335dcdad4ca856d83..478119acdaf817d27003539104b18f9d26ee71fe 100644
--- a/openair-cn/NAS/TOOLS/ue_data.c
+++ b/openair-cn/NAS/TOOLS/ue_data.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/TOOLS/usim_data.c b/openair-cn/NAS/TOOLS/usim_data.c
index ea867fef3cc2e860fb863f867fbeca38a35bb953..ea046245edbe0189158324f4764db2ddcfba23cf 100644
--- a/openair-cn/NAS/TOOLS/usim_data.c
+++ b/openair-cn/NAS/TOOLS/usim_data.c
@@ -21,7 +21,7 @@
  Contact Information
  OpenAirInterface Admin: openair_admin@eurecom.fr
  OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+ OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/Makefile b/openair-cn/NAS/UE/API/USER/Makefile
index 8e7c24a4c4b8098d06c90571ee82ef2b499f18d6..d4981975fceb046c1da664a67b2daf45d7ef7868 100644
--- a/openair-cn/NAS/UE/API/USER/Makefile
+++ b/openair-cn/NAS/UE/API/USER/Makefile
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/NAS/UE/API/USER/at_command.c b/openair-cn/NAS/UE/API/USER/at_command.c
index c6f26a4b1b5cd5edcb574d3c70854f4b6ddc1e5a..dc4dd3c040c8664dc3ffcd2325411808e34682aa 100644
--- a/openair-cn/NAS/UE/API/USER/at_command.c
+++ b/openair-cn/NAS/UE/API/USER/at_command.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/at_command.h b/openair-cn/NAS/UE/API/USER/at_command.h
index d1b74dc4c37211f227dfd35a253131cf9ca8281a..4c65b0cf2cd7359a24e23b1430750298468e9103 100644
--- a/openair-cn/NAS/UE/API/USER/at_command.h
+++ b/openair-cn/NAS/UE/API/USER/at_command.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/at_error.c b/openair-cn/NAS/UE/API/USER/at_error.c
index 440db34d9fe1f57111fa8f734b7ee84202de3941..7b93fb5808952d7367a05005323d9dd066c5d7ae 100644
--- a/openair-cn/NAS/UE/API/USER/at_error.c
+++ b/openair-cn/NAS/UE/API/USER/at_error.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/at_error.h b/openair-cn/NAS/UE/API/USER/at_error.h
index d03896a383a20bd95a9edf92dc9dc17d67fbc978..1554f3fa3ee723c2bc9e44d4761e6f8676d70eeb 100644
--- a/openair-cn/NAS/UE/API/USER/at_error.h
+++ b/openair-cn/NAS/UE/API/USER/at_error.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/at_response.c b/openair-cn/NAS/UE/API/USER/at_response.c
index 7d067d1cfcff64bfa48eac21fc822b204bbc713a..68aa9137aad376db20703280ed0830c153df0eba 100644
--- a/openair-cn/NAS/UE/API/USER/at_response.c
+++ b/openair-cn/NAS/UE/API/USER/at_response.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/at_response.h b/openair-cn/NAS/UE/API/USER/at_response.h
index 17c3ea0d81e058a234483b29a4c7a7b47ee8dc8e..2fa30fabeb4c9eacc394e61b966a646430279caf 100644
--- a/openair-cn/NAS/UE/API/USER/at_response.h
+++ b/openair-cn/NAS/UE/API/USER/at_response.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/tst/Makefile b/openair-cn/NAS/UE/API/USER/tst/Makefile
index 867c3f697e8cdf33c8850d7d8eaaf5d296a96b86..3ec0f767cad02accc81c1aa52fd2d526cc15d5a1 100644
--- a/openair-cn/NAS/UE/API/USER/tst/Makefile
+++ b/openair-cn/NAS/UE/API/USER/tst/Makefile
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/NAS/UE/API/USER/tst/at_parser.c b/openair-cn/NAS/UE/API/USER/tst/at_parser.c
index 7d0ca3f1e1377bf34bac2b4e8b9238a441bc6d48..9700018386d4c47c0184aa4d1f64337de3772cc4 100644
--- a/openair-cn/NAS/UE/API/USER/tst/at_parser.c
+++ b/openair-cn/NAS/UE/API/USER/tst/at_parser.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/user_api.c b/openair-cn/NAS/UE/API/USER/user_api.c
index 42e7cb15384109e92cf4a476e998fa3146bf1ff2..6762877ad0bbc038f57521471746f3f341932ecb 100644
--- a/openair-cn/NAS/UE/API/USER/user_api.c
+++ b/openair-cn/NAS/UE/API/USER/user_api.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/user_api.h b/openair-cn/NAS/UE/API/USER/user_api.h
index d58b59577df061d75a50fcdb58984c94ccc4e5f6..a71ab458d40b27be28f509a1d562629d19a6b80f 100644
--- a/openair-cn/NAS/UE/API/USER/user_api.h
+++ b/openair-cn/NAS/UE/API/USER/user_api.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/user_indication.c b/openair-cn/NAS/UE/API/USER/user_indication.c
index 79759a3253a573c35292680c4b9e2f50a359cbb1..a4e1b7cd93f466428f7aed9706014488573148c2 100644
--- a/openair-cn/NAS/UE/API/USER/user_indication.c
+++ b/openair-cn/NAS/UE/API/USER/user_indication.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USER/user_indication.h b/openair-cn/NAS/UE/API/USER/user_indication.h
index 4cf762b609b7ca230d68076f64455898ca68a416..74679fb52af495f0eef36694c4471410a8f0f144 100644
--- a/openair-cn/NAS/UE/API/USER/user_indication.h
+++ b/openair-cn/NAS/UE/API/USER/user_indication.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USIM/Makefile b/openair-cn/NAS/UE/API/USIM/Makefile
index 8e7c24a4c4b8098d06c90571ee82ef2b499f18d6..d4981975fceb046c1da664a67b2daf45d7ef7868 100644
--- a/openair-cn/NAS/UE/API/USIM/Makefile
+++ b/openair-cn/NAS/UE/API/USIM/Makefile
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/NAS/UE/API/USIM/aka_functions.h b/openair-cn/NAS/UE/API/USIM/aka_functions.h
index 1bb4bbf021a6017c63144b9d18c3637dd3d97e77..0d1a6fe1df9056e56a94c58b02a776484e1841dd 100644
--- a/openair-cn/NAS/UE/API/USIM/aka_functions.h
+++ b/openair-cn/NAS/UE/API/USIM/aka_functions.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USIM/usim_api.c b/openair-cn/NAS/UE/API/USIM/usim_api.c
index e69e78ddec85d388933f3e4d442276508dda11d4..64bc05d0c315b16df1c4cfc00e14401dfc2d42af 100644
--- a/openair-cn/NAS/UE/API/USIM/usim_api.c
+++ b/openair-cn/NAS/UE/API/USIM/usim_api.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/API/USIM/usim_api.h b/openair-cn/NAS/UE/API/USIM/usim_api.h
index 7b5a767d9858aa1a35ae0b78ec106f3be3461c93..f7e85f95e7b8df4e013967b3f3ddce0bc74c037d 100644
--- a/openair-cn/NAS/UE/API/USIM/usim_api.h
+++ b/openair-cn/NAS/UE/API/USIM/usim_api.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/Attach.c b/openair-cn/NAS/UE/EMM/Attach.c
index 3a0c079685b3208a0029a907294c8688defdefbd..d7bdeb91208bdf4291347ef2515705354e86db06 100755
--- a/openair-cn/NAS/UE/EMM/Attach.c
+++ b/openair-cn/NAS/UE/EMM/Attach.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/Authentication.c b/openair-cn/NAS/UE/EMM/Authentication.c
index e0acb302aca8ae6ec963fba47102b6409736787b..6285534450091b69ac51617bac62f6fbaa78ebc8 100755
--- a/openair-cn/NAS/UE/EMM/Authentication.c
+++ b/openair-cn/NAS/UE/EMM/Authentication.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/Detach.c b/openair-cn/NAS/UE/EMM/Detach.c
index d4945151079487458a65ee47c147aba0582da2dd..7ec7a3d74dacb0bad0f1b79cfe6073e709da7f5a 100755
--- a/openair-cn/NAS/UE/EMM/Detach.c
+++ b/openair-cn/NAS/UE/EMM/Detach.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/EmmStatusHdl.c b/openair-cn/NAS/UE/EMM/EmmStatusHdl.c
index b81f7d505191cd5d479cf929a790d77cb922c050..85d423fd236070e7591fb6c64e7df5932ba83c02 100755
--- a/openair-cn/NAS/UE/EMM/EmmStatusHdl.c
+++ b/openair-cn/NAS/UE/EMM/EmmStatusHdl.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/Identification.c b/openair-cn/NAS/UE/EMM/Identification.c
index b9d75f1917a7ecb477c11a3eff73a464c092f366..80eede61be6e905e9d411c78d469632473e84932 100755
--- a/openair-cn/NAS/UE/EMM/Identification.c
+++ b/openair-cn/NAS/UE/EMM/Identification.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/IdleMode.c b/openair-cn/NAS/UE/EMM/IdleMode.c
index 78c21205e347bef12bd8558b9f84c6060513dead..b04670819b91485eb0cca80a611835b8da99c949 100755
--- a/openair-cn/NAS/UE/EMM/IdleMode.c
+++ b/openair-cn/NAS/UE/EMM/IdleMode.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/IdleMode.h b/openair-cn/NAS/UE/EMM/IdleMode.h
index 7f23bb1bf4b007a4dba8c4325ccdd1b0a91eafa0..c0e13c9a7d93e1aa7186df8606a68420e8eaecab 100755
--- a/openair-cn/NAS/UE/EMM/IdleMode.h
+++ b/openair-cn/NAS/UE/EMM/IdleMode.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/LowerLayer.c b/openair-cn/NAS/UE/EMM/LowerLayer.c
index 10f7c4ccc964da452dace0c746392ff4d19f906b..130fe1bb5d7e199a8b9f013bbe64f0bdc1259458 100755
--- a/openair-cn/NAS/UE/EMM/LowerLayer.c
+++ b/openair-cn/NAS/UE/EMM/LowerLayer.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/LowerLayer.h b/openair-cn/NAS/UE/EMM/LowerLayer.h
index 4d9b4c5d398b43f6b575aadbdb214a5fc0130f4f..80ee4acb2a7b1268b6bc9cf799a9f8548eb5d7f0 100755
--- a/openair-cn/NAS/UE/EMM/LowerLayer.h
+++ b/openair-cn/NAS/UE/EMM/LowerLayer.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmDeregistered.c b/openair-cn/NAS/UE/EMM/SAP/EmmDeregistered.c
index 83ae79f428190fc547558b2560d8a4898b76856b..13a55b384689b07d86962662daabe35edc0ee3b0 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmDeregistered.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmDeregistered.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c
index b2def20a573ebd22e4897f527df852e666ac6fd0..0d0301c3920924861ad6581567a1ff3b343a0b27 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c
index 51053ab925dc148fa0ebacd5b4585f57882ebbbe..40911608bfe4f3cbd00af5437786c35de794294c 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c
index fc0e0524be2642fc8117a855c96769b9836a104f..060329f2e552a64b377e190fc9ee00fd44de7f63 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredInitiated.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c
index 6af83fd8554749fbf8c1abfd0274d838c0884ea4..92df829b8d9ee9095e30327e0d81e07055518b3c 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredLimitedService.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c
index 9708f3a6be72603fa96ab0874b060b942cfeac4d..65154d4d975a6bd1d82e0a7e484aad0cc2349282 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c
index 315ce0f8ff0862e14e6681dea8a1655e65a67df0..7740b22e9b20c4cceab43ddfe0d8a37415cc62dc 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNoImsi.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c
index 386a4fd4b46449f6c731d63cd6a61e9ae859a9d2..25924fd9f27e5971fbf90a7d5be8e9b81e88a653 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredNormalService.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c
index 071b9a576c5962c0b722ab5d59f5b4a14c74dbd5..08c3ff5ea120d566d6f7a9f2fb80c22e3e57355e 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmNull.c b/openair-cn/NAS/UE/EMM/SAP/EmmNull.c
index c1583d56e1e57c9e3a2d42b09a5322471cd5e037..f36d579e5c66a30370659998b4cc8197b41fddc5 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmNull.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmNull.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmRegistered.c b/openair-cn/NAS/UE/EMM/SAP/EmmRegistered.c
index 7db6e86b7427edeec341c5b223b466f514d3cc27..889d22663cf95d674c7a1cfeef76abc58f0c0168 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmRegistered.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmRegistered.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c
index 6b15df4a54943857e71f346b1e3359ae1efaee50..0dcaec58683475f18ee843278e66e351095dbd4e 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c
index ba40a549d8ba8d9b32ec0dfc8951e81a31e72300..24de58db86e4685ce6a2ec03cab484f6f3ef374b 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c
index 2ee8b8dea69fae02b1b0c66446f6716b707efb92..18c41c8ad43c6fa8474d7c094e97b02106544a16 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredInitiated.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c
index 799914d1194709e355bfefa318588ceccdf71073..1d78a97509a9fea707c03cbebed058d9dc8e6f2e 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredLimitedService.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c
index 0578d8acfd9a9b3b3e3ff386788902df8fdde892..8385f4359f36111e0a1aefa31adb30d0971826d1 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c
index 51e28d20682bbc68bb20791cf8e8c4e20d5cc17f..4f3dc54f4656c8266d32226a63900749d4352a5b 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredNormalService.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c
index c4c053515d83ca09b61a0298ddec09afbf00aa1f..a5b28bed4384400df45065c189ae290e18340431 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredPlmnSearch.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c
index ead9ce7aa81c07644e6edf34053169a04b8b6253..9f960082f05843d19c68daab0f282d9796a6f6c8 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c b/openair-cn/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c
index 3d9b593dbc9e4882ad08c9da190bbb2bd2edf793..47744d8db9dd8e702661feb6ce303659066ebcaf 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmServiceRequestInitiated.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c b/openair-cn/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c
index 7adb4e12fa4fca3cb4455158d19e03ab21723c5b..4539c63a933960c65f74268014fdd5533e204534 100755
--- a/openair-cn/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c
+++ b/openair-cn/NAS/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_as.c b/openair-cn/NAS/UE/EMM/SAP/emm_as.c
index 433b4e5304787201ed65732d4d9a85d7509a4a33..daf2d50c3359526f90ac26ae4cb6551d5a1284ba 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_as.c
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_as.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_as.h b/openair-cn/NAS/UE/EMM/SAP/emm_as.h
index ca4fc449b779b6d2093b827d3721ec9d79416559..1e46431a56894a255d3f202bd839db33f5b50cbc 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_as.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_as.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_asDef.h b/openair-cn/NAS/UE/EMM/SAP/emm_asDef.h
index fbd2a6b38e714d7ca02cb7e741297ecfa9deb852..f7b9fa23f842305aa096a98415918949603d3ed8 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_asDef.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_asDef.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_esm.c b/openair-cn/NAS/UE/EMM/SAP/emm_esm.c
index 4a5400e0c15fa36d7f880dfbf27384a076ac9c14..b4baca66af3df223ba68374fe0c9723078f581cb 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_esm.c
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_esm.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_esm.h b/openair-cn/NAS/UE/EMM/SAP/emm_esm.h
index 6967b97ca16a723f3c2221aa5f8be06da543f7be..55c3b361a983fbe17a2f1eab4b72fdc2136c8915 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_esm.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_esm.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_esmDef.h b/openair-cn/NAS/UE/EMM/SAP/emm_esmDef.h
index 215be4fa6da2583d98d690ac9d4ff542ea2c2fa1..8251ee57b9ed117f569516e8a394eab0ceec2f1e 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_esmDef.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_esmDef.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_fsm.c b/openair-cn/NAS/UE/EMM/SAP/emm_fsm.c
index 59c78be3e2499237c6e9277f008e8430b5ec2f30..83c5e5f1db7d406d449b4639793770cdf1d7eb96 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_fsm.c
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_fsm.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_fsm.h b/openair-cn/NAS/UE/EMM/SAP/emm_fsm.h
index e554f0f9e2668a3493f6a1305ee9fa0230f7bd9e..c929890e0570f40bee0a10c6fc54c8f13abdb2d5 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_fsm.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_fsm.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_recv.c b/openair-cn/NAS/UE/EMM/SAP/emm_recv.c
index de9347fcff6d9c2ca47d196990396ec79ee1ec5c..12efa89f86e6db307f035771154f380a66b75025 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_recv.c
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_recv.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_recv.h b/openair-cn/NAS/UE/EMM/SAP/emm_recv.h
index a096eef376fa8ac7c038880a16da90e865706277..71398f98d01f94001de668b8b42b43e9d9567d4a 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_recv.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_recv.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_reg.c b/openair-cn/NAS/UE/EMM/SAP/emm_reg.c
index ca19566cb9a15d5b141086c51c2f6f4bcc26a81f..7f20b251519b9738a548595066717e96388a804d 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_reg.c
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_reg.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_reg.h b/openair-cn/NAS/UE/EMM/SAP/emm_reg.h
index 62d333395cec5ab5249e155eeedabe8fe22f6c86..9660f641c12d5efa9dea880c77a1fb234978ac78 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_reg.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_reg.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_regDef.h b/openair-cn/NAS/UE/EMM/SAP/emm_regDef.h
index 6a85d8923d75ac6216162b60ab4bd3a0618a3ecf..7f96326ffbe0f9bfec804596ec034787a44af4b7 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_regDef.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_regDef.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_sap.c b/openair-cn/NAS/UE/EMM/SAP/emm_sap.c
index 84184f4f76f4ad360a393adf664aa773eade7d56..2da5da75ce27c301c417714703767bb1e6acc540 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_sap.c
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_sap.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_sap.h b/openair-cn/NAS/UE/EMM/SAP/emm_sap.h
index c0c38d13a655a37ec8414bab714797e7831c8c7d..eda2bde51450a2e8eab8e516b45b07c3dbc771c8 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_sap.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_sap.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_send.c b/openair-cn/NAS/UE/EMM/SAP/emm_send.c
index 75431ae3883a50dcae12ae4cff183073f1454cad..d8e434f5a2f27e27c352313952c64a42b18a8e4a 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_send.c
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_send.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_send.h b/openair-cn/NAS/UE/EMM/SAP/emm_send.h
index ea90bd17755f7f6e21458acf634c9734f2f256e5..18c8eb37f09c3c2a88404fc51254157b78a2ae96 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_send.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_send.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/SecurityModeControl.c b/openair-cn/NAS/UE/EMM/SecurityModeControl.c
index 359ce1ea2f818fb58ac06f0624f40741a153cc25..fd7e4c39917a353f095ab6a5adcd6327c62c1ce5 100755
--- a/openair-cn/NAS/UE/EMM/SecurityModeControl.c
+++ b/openair-cn/NAS/UE/EMM/SecurityModeControl.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/ServiceRequestHdl.c b/openair-cn/NAS/UE/EMM/ServiceRequestHdl.c
index 6f74b4fbbea40a3e4aec96e28af89535c81c40c7..d34e1f9f88f6699b9f2ed1c89ee10bd57df1bc89 100755
--- a/openair-cn/NAS/UE/EMM/ServiceRequestHdl.c
+++ b/openair-cn/NAS/UE/EMM/ServiceRequestHdl.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/TrackingAreaUpdate.c b/openair-cn/NAS/UE/EMM/TrackingAreaUpdate.c
index fbec3f706091ffd692938e050386ffc14a9af174..ac7944d18b71e35efa352351d6cf8eaa3e88d029 100755
--- a/openair-cn/NAS/UE/EMM/TrackingAreaUpdate.c
+++ b/openair-cn/NAS/UE/EMM/TrackingAreaUpdate.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/emmData.h b/openair-cn/NAS/UE/EMM/emmData.h
index 7a81600871a4b8fcb51da7cb74a736363d12f9a6..d3e720eab0c7016cc858e27352003964dd1dde01 100755
--- a/openair-cn/NAS/UE/EMM/emmData.h
+++ b/openair-cn/NAS/UE/EMM/emmData.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/emm_main.c b/openair-cn/NAS/UE/EMM/emm_main.c
index 51b6b693fbd892eef48705ec5e21cee450920606..dbeacaa149080fedad33093e9cc796bd72348605 100755
--- a/openair-cn/NAS/UE/EMM/emm_main.c
+++ b/openair-cn/NAS/UE/EMM/emm_main.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/emm_main.h b/openair-cn/NAS/UE/EMM/emm_main.h
index 3d3d441843376a25c16e4fafd7af5e8f76ec976a..b985f806a5a638daa9615ae8c45bd1227095b087 100755
--- a/openair-cn/NAS/UE/EMM/emm_main.h
+++ b/openair-cn/NAS/UE/EMM/emm_main.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/EMM/emm_proc.h b/openair-cn/NAS/UE/EMM/emm_proc.h
index 267a64fcef6852c545c5da6ea9f704b92570fc48..65ebe4e8e283243cb54cd24e8ff44e0b5f318b19 100755
--- a/openair-cn/NAS/UE/EMM/emm_proc.h
+++ b/openair-cn/NAS/UE/EMM/emm_proc.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c b/openair-cn/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c
index 65fdaf4b3e78b3eab2c0df5c7aaebdd300bf5eed..6a9e140ad4b674fed4adc367df0493b59a65c14f 100755
--- a/openair-cn/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c
+++ b/openair-cn/NAS/UE/ESM/DedicatedEpsBearerContextActivation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/DefaultEpsBearerContextActivation.c b/openair-cn/NAS/UE/ESM/DefaultEpsBearerContextActivation.c
index b6b7fb13fa28df6fa5fa528e447a00f26f571983..18845904377a39edc1559347b4b362784767fee1 100755
--- a/openair-cn/NAS/UE/ESM/DefaultEpsBearerContextActivation.c
+++ b/openair-cn/NAS/UE/ESM/DefaultEpsBearerContextActivation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/EpsBearerContextDeactivation.c b/openair-cn/NAS/UE/ESM/EpsBearerContextDeactivation.c
index a8a5a4c95263c5a477fe6fc87986a28f86ed3f3a..bceeebeff1d7a6618ff0b4466b4df08188a6367b 100755
--- a/openair-cn/NAS/UE/ESM/EpsBearerContextDeactivation.c
+++ b/openair-cn/NAS/UE/ESM/EpsBearerContextDeactivation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/EsmStatusHdl.c b/openair-cn/NAS/UE/ESM/EsmStatusHdl.c
index 8ff3a21b0b8fce8783d704bbaf60114ba37c2cbd..9aafc271ddf40fa79829c44264ae73b5fe0beffe 100755
--- a/openair-cn/NAS/UE/ESM/EsmStatusHdl.c
+++ b/openair-cn/NAS/UE/ESM/EsmStatusHdl.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/PdnConnectivity.c b/openair-cn/NAS/UE/ESM/PdnConnectivity.c
index 2cfc2f58f0557966eed6796a049c659b346218fe..8c9d123209ff2138daeddcebbe3d2393dffad8ae 100755
--- a/openair-cn/NAS/UE/ESM/PdnConnectivity.c
+++ b/openair-cn/NAS/UE/ESM/PdnConnectivity.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/PdnDisconnect.c b/openair-cn/NAS/UE/ESM/PdnDisconnect.c
index 54105a1c3bab2217ac63729cdd76dfe7d3b96f18..e9ab748f8dc352ea3e85bc76930a0d8038920e7c 100755
--- a/openair-cn/NAS/UE/ESM/PdnDisconnect.c
+++ b/openair-cn/NAS/UE/ESM/PdnDisconnect.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/SAP/esm_recv.c b/openair-cn/NAS/UE/ESM/SAP/esm_recv.c
index 77805030a75c08c3b9d7bf264f5d19bccf023c24..72b322e966c1ddaa425d60c0154f6e4f70789bc5 100755
--- a/openair-cn/NAS/UE/ESM/SAP/esm_recv.c
+++ b/openair-cn/NAS/UE/ESM/SAP/esm_recv.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/SAP/esm_recv.h b/openair-cn/NAS/UE/ESM/SAP/esm_recv.h
index f3c6a174d074d34327febe71d3826e7be1900f5b..35e3ee49ce7c34dc0b143dcf32751459e1ada5f0 100755
--- a/openair-cn/NAS/UE/ESM/SAP/esm_recv.h
+++ b/openair-cn/NAS/UE/ESM/SAP/esm_recv.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/SAP/esm_sap.c b/openair-cn/NAS/UE/ESM/SAP/esm_sap.c
index dd0c0114a971efab5d8529a810fce0aa15748628..d23aa07390f6b62f6adecd65b137df2536bb5177 100755
--- a/openair-cn/NAS/UE/ESM/SAP/esm_sap.c
+++ b/openair-cn/NAS/UE/ESM/SAP/esm_sap.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/SAP/esm_sap.h b/openair-cn/NAS/UE/ESM/SAP/esm_sap.h
index c2d900a4ae3a239dac0f2f3ff1fe9546752d612c..693185c473da07c867dabf9af60aeda5765c24b3 100755
--- a/openair-cn/NAS/UE/ESM/SAP/esm_sap.h
+++ b/openair-cn/NAS/UE/ESM/SAP/esm_sap.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/SAP/esm_sapDef.h b/openair-cn/NAS/UE/ESM/SAP/esm_sapDef.h
index e36d1faed56500993b7ba31281194863721e804c..24306963192839dd6069b49eb58c986be8ef4923 100755
--- a/openair-cn/NAS/UE/ESM/SAP/esm_sapDef.h
+++ b/openair-cn/NAS/UE/ESM/SAP/esm_sapDef.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/SAP/esm_send.c b/openair-cn/NAS/UE/ESM/SAP/esm_send.c
index c5de9958cac2a84cb84a289cddec948d540b0ecd..ab5341062a697d78286d9037913f3cf228a74bc5 100755
--- a/openair-cn/NAS/UE/ESM/SAP/esm_send.c
+++ b/openair-cn/NAS/UE/ESM/SAP/esm_send.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/SAP/esm_send.h b/openair-cn/NAS/UE/ESM/SAP/esm_send.h
index 4e261300c5bf9aaf8800b83a639f8c507c6de7b4..8f4056df6ff866ba1b17137bfe80dd69aa8fd7c7 100755
--- a/openair-cn/NAS/UE/ESM/SAP/esm_send.h
+++ b/openair-cn/NAS/UE/ESM/SAP/esm_send.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esmData.h b/openair-cn/NAS/UE/ESM/esmData.h
index 9726e83e8ac8a08736a9c36a969cdde0dac27234..7571e25e64e17769c0469354cb5633824bf08602 100755
--- a/openair-cn/NAS/UE/ESM/esmData.h
+++ b/openair-cn/NAS/UE/ESM/esmData.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_ebr.c b/openair-cn/NAS/UE/ESM/esm_ebr.c
index d7a36cc6dbfb02a41e12a0139542791cfe579be1..b305dc778b15034ff3d3c2aae979efbbd07fc8e7 100755
--- a/openair-cn/NAS/UE/ESM/esm_ebr.c
+++ b/openair-cn/NAS/UE/ESM/esm_ebr.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_ebr.h b/openair-cn/NAS/UE/ESM/esm_ebr.h
index 163983f8c0355754f2dd9abd66ee5ca1cdf88377..1298aa1243ee75e202983d3f8f2d6fb7a41fa734 100755
--- a/openair-cn/NAS/UE/ESM/esm_ebr.h
+++ b/openair-cn/NAS/UE/ESM/esm_ebr.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_ebr_context.c b/openair-cn/NAS/UE/ESM/esm_ebr_context.c
index cbc46a9461ddc6694ab8e4e29389e52366b8af09..fcf278a2e47216c75627290f01c3308675698578 100755
--- a/openair-cn/NAS/UE/ESM/esm_ebr_context.c
+++ b/openair-cn/NAS/UE/ESM/esm_ebr_context.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_ebr_context.h b/openair-cn/NAS/UE/ESM/esm_ebr_context.h
index 2a9d55a197ca08cd63caf3b8bd4f563558f04466..a93fb94eb1f5b0bb27d890d3c5d9b217c8ef6844 100755
--- a/openair-cn/NAS/UE/ESM/esm_ebr_context.h
+++ b/openair-cn/NAS/UE/ESM/esm_ebr_context.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_ip.c b/openair-cn/NAS/UE/ESM/esm_ip.c
index b2fb84b9708787a14fcb5af40e7bad5155914827..041d186b8dd975c7d7f05547df30779127718e46 100755
--- a/openair-cn/NAS/UE/ESM/esm_ip.c
+++ b/openair-cn/NAS/UE/ESM/esm_ip.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_main.c b/openair-cn/NAS/UE/ESM/esm_main.c
index 2d2124e49583d9c2b1fc550aa52d0ad69adceeaa..f507b0a53fc046eb10757ad425d44cb821bb32ec 100755
--- a/openair-cn/NAS/UE/ESM/esm_main.c
+++ b/openair-cn/NAS/UE/ESM/esm_main.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_main.h b/openair-cn/NAS/UE/ESM/esm_main.h
index 2fd2e58939c1e75fcda4428dcef311f355665261..de95ba26f9a311d7c4e6a50bb52715e2c18aa4c9 100755
--- a/openair-cn/NAS/UE/ESM/esm_main.h
+++ b/openair-cn/NAS/UE/ESM/esm_main.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_proc.h b/openair-cn/NAS/UE/ESM/esm_proc.h
index f4721aa00cd8d5890be4805ef83e61e2d603acd1..094907257b242b8ed145b041e11b3073a07a8998 100755
--- a/openair-cn/NAS/UE/ESM/esm_proc.h
+++ b/openair-cn/NAS/UE/ESM/esm_proc.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_pt.c b/openair-cn/NAS/UE/ESM/esm_pt.c
index 954049203ce5266acd4a0ae2d841a92460f6e1f6..9b2f4f7451de0661145c04369076fea67f215a13 100755
--- a/openair-cn/NAS/UE/ESM/esm_pt.c
+++ b/openair-cn/NAS/UE/ESM/esm_pt.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/ESM/esm_pt.h b/openair-cn/NAS/UE/ESM/esm_pt.h
index 0abe6ea55843c99ceebd4211c8966efb80ce59c2..8821b3be919a6ec56dead80ef76e15dba967325d 100755
--- a/openair-cn/NAS/UE/ESM/esm_pt.h
+++ b/openair-cn/NAS/UE/ESM/esm_pt.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/UEprocess.c b/openair-cn/NAS/UE/UEprocess.c
index d42699eddb6f7c5f4984789f3248f31bc44b851f..0f45697f18c5831b1977e9ddf7557ed2b8ded880 100644
--- a/openair-cn/NAS/UE/UEprocess.c
+++ b/openair-cn/NAS/UE/UEprocess.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_itti_messaging.c b/openair-cn/NAS/UE/nas_itti_messaging.c
index d832585ebdf5c7b8583f321f47f2182c95438363..7b8f630b8985a5fe0c4a60566b4e21b3b3c8f60e 100755
--- a/openair-cn/NAS/UE/nas_itti_messaging.c
+++ b/openair-cn/NAS/UE/nas_itti_messaging.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_itti_messaging.h b/openair-cn/NAS/UE/nas_itti_messaging.h
index 4165119570ca4bd2046e4bc12946d924033a5614..9ea80f63c09f8f192f2d7d240311149600558b0d 100755
--- a/openair-cn/NAS/UE/nas_itti_messaging.h
+++ b/openair-cn/NAS/UE/nas_itti_messaging.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_network.c b/openair-cn/NAS/UE/nas_network.c
index 5c63d560678a2dade67141c907ec512d9a1f3806..d6aa625b363df8482cd30137f7386ec44a4f55a3 100755
--- a/openair-cn/NAS/UE/nas_network.c
+++ b/openair-cn/NAS/UE/nas_network.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_network.h b/openair-cn/NAS/UE/nas_network.h
index 25a8729eace544d3623c974d586ae35e683637f6..d56542ba428e2806a2f2799af1dc162b394a0399 100755
--- a/openair-cn/NAS/UE/nas_network.h
+++ b/openair-cn/NAS/UE/nas_network.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_parser.c b/openair-cn/NAS/UE/nas_parser.c
index aae894b7832d15f9e9f7cc7cd9fcc9c6231e10b8..40ba7152b3b343a214da2eb1a80774b9527db597 100755
--- a/openair-cn/NAS/UE/nas_parser.c
+++ b/openair-cn/NAS/UE/nas_parser.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_parser.h b/openair-cn/NAS/UE/nas_parser.h
index 4e9be0aa28c94596ff0e16d87ab1213c19d9b182..003dd0895ead48c571245bdba93ab69d317f1b9e 100755
--- a/openair-cn/NAS/UE/nas_parser.h
+++ b/openair-cn/NAS/UE/nas_parser.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_proc.c b/openair-cn/NAS/UE/nas_proc.c
index f6327fd627f94355a18a7aeec9fc4a0b3ce289c4..e9f61b9d8b65fc4ad7a2d6979cc16b6b469f9915 100755
--- a/openair-cn/NAS/UE/nas_proc.c
+++ b/openair-cn/NAS/UE/nas_proc.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_proc.h b/openair-cn/NAS/UE/nas_proc.h
index 8d4897eddbd9228529f802849a2a45d8d05fc1fb..666c97f6dc799a33edc5eb5d0dad06d7a601e679 100755
--- a/openair-cn/NAS/UE/nas_proc.h
+++ b/openair-cn/NAS/UE/nas_proc.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_ue_task.c b/openair-cn/NAS/UE/nas_ue_task.c
index 48c15a4835c65b6924fc0b26b452853bfdf3ee38..ff579019706b22c4ebcbf68ee111c6f5e5bcb999 100644
--- a/openair-cn/NAS/UE/nas_ue_task.c
+++ b/openair-cn/NAS/UE/nas_ue_task.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_user.c b/openair-cn/NAS/UE/nas_user.c
index 4abb2f40407a8175fe106190b4512d8427d64968..447198b89742752a3280aab810d9fccb9d924507 100644
--- a/openair-cn/NAS/UE/nas_user.c
+++ b/openair-cn/NAS/UE/nas_user.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NAS/UE/nas_user.h b/openair-cn/NAS/UE/nas_user.h
index 21f66802603956401dfd0a09d1bb33fe4e8e8353..24603f31609780c0e0b7e0a6cccb5a484425ba37 100644
--- a/openair-cn/NAS/UE/nas_user.h
+++ b/openair-cn/NAS/UE/nas_user.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/NEWS b/openair-cn/NEWS
deleted file mode 100644
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000
--- a/openair-cn/NEWS
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/openair-cn/OAISIM_MME/COPYING b/openair-cn/OAISIM_MME/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OAISIM_MME/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OAISIM_MME/Makefile.am b/openair-cn/OAISIM_MME/Makefile.am
deleted file mode 100644
index 5fb6fd5009a9f8a5b16d9b5ae61c315a293dead0..0000000000000000000000000000000000000000
--- a/openair-cn/OAISIM_MME/Makefile.am
+++ /dev/null
@@ -1,76 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-if !STANDALONE_EPC
-AM_CFLAGS = @ADD_CFLAGS@ \
-	-I$(top_srcdir)/COMMON				\
-	-I$(top_srcdir)/GTPV1-U				\
-	-I$(top_srcdir)/GTPV1-U/nw-gtpv1u/include	\
-	-I$(top_srcdir)/GTPV1-U/nw-gtpv1u/shared	\
-	-I$(top_srcdir)/SCTP				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE		\
-	-I$(top_srcdir)/SGI				\
-	-I$(top_srcdir)/MME_APP				\
-	-I$(top_srcdir)/NAS				\
-	-I$(top_srcdir)/S11				\
-	-I$(top_builddir)/S1AP/MESSAGES			\
-	-I$(top_srcdir)/S1AP				\
-	-I$(top_srcdir)/S6A				\
-	-I$(top_srcdir)/SECU				\
-	-I$(top_srcdir)/SGW-LITE			\
-	-I$(top_srcdir)/UDP				\
-	-I$(top_srcdir)/UTILS				\
-	-I$(top_srcdir)/UTILS/HASHTABLE
-
-oaisim_mme_LDADD = \
-	$(top_builddir)/INTERTASK_INTERFACE/libitti.la	\
-	$(top_builddir)/NAS/libnas.la	\
-	$(top_builddir)/S11/libs11.la	\
-	$(top_builddir)/S1AP/libs1ap.la	\
-	$(top_builddir)/S6A/libs6a.la	\
-	$(top_builddir)/SCTP/libsctpserver.la	\
-	$(top_builddir)/UTILS/HASHTABLE/libhashtable.la \
-	$(top_builddir)/UDP/libudpserver.la	\
-	$(top_builddir)/MME_APP/libmmeapp.la	\
-	$(top_builddir)/SECU/libsecu.la	\
-	$(top_builddir)/UTILS/libutils.la	\
-	$(top_builddir)/GTPV2-C/nwgtpv2c-0.11/src/libNwGtpv2c.a	\
-	$(abs_top_builddir)/INTERTASK_INTERFACE/UTIL/LFDS/liblfds6.1.1/liblfds611/bin/liblfds611.a
-
-oaisim_mme_SOURCES = \
-	oai_mme_log.c	\
-	oaisim_mme.c
-
-bin_PROGRAMS = oaisim_mme
-endif
diff --git a/openair-cn/OAISIM_MME/oai_mme_log.c b/openair-cn/OAISIM_MME/oai_mme_log.c
deleted file mode 100644
index 533719977ace84aa0c1cfb671629981d9f580e66..0000000000000000000000000000000000000000
--- a/openair-cn/OAISIM_MME/oai_mme_log.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "oaisim_mme.h"
-#include "log.h"
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdcore.h>
-
-int oai_mme_log_specific(int log_level)
-{
-  if (log_level == 1) {
-    asn_debug = 0;
-    asn1_xer_print = 1;
-    fd_g_debug_lvl = INFO;
-  } else if (log_level == 2) {
-    asn_debug = 1;
-    asn1_xer_print = 1;
-    fd_g_debug_lvl = ANNOYING;
-  } else {
-    asn1_xer_print = 0;
-    asn_debug = 0;
-    fd_g_debug_lvl = NONE;
-  }
-
-  return 0;
-}
diff --git a/openair-cn/OAISIM_MME/oaisim_mme.c b/openair-cn/OAISIM_MME/oaisim_mme.c
deleted file mode 100644
index 14a9871e58ac3d8351a7eab64dca4a3aebc1c20b..0000000000000000000000000000000000000000
--- a/openair-cn/OAISIM_MME/oaisim_mme.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "assertions.h"
-#include "mme_config.h"
-#include "gtpv1u_sgw_defs.h"
-
-#include "intertask_interface_init.h"
-
-#include "sctp_primitives_server.h"
-#include "udp_primitives_server.h"
-#include "s1ap_mme.h"
-#include "log.h"
-#include "timer.h"
-#include "sgw_lite_defs.h"
-#include "mme_app_extern.h"
-#include "nas_defs.h"
-#include "s11_mme.h"
-
-/* FreeDiameter headers for support of S6A interface */
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdcore.h>
-#include "s6a_defs.h"
-
-#include "oaisim_mme.h"
-
-int main(int argc, char *argv[])
-{
-  /* Parse the command line for options and set the mme_config accordingly. */
-  CHECK_INIT_RETURN(config_parse_opt_line(argc, argv, &mme_config));
-
-  /* Calling each layer init function */
-  CHECK_INIT_RETURN(log_init(&mme_config, oai_mme_log_specific));
-  CHECK_INIT_RETURN(itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL));
-
-  CHECK_INIT_RETURN(nas_init(&mme_config));
-  CHECK_INIT_RETURN(sctp_init(&mme_config));
-  CHECK_INIT_RETURN(udp_init(&mme_config));
-  CHECK_INIT_RETURN(s11_mme_init(&mme_config));
-  CHECK_INIT_RETURN(s1ap_mme_init(&mme_config));
-  //     if (gtpv1u_init(&mme_config) < 0) return -1;
-  CHECK_INIT_RETURN(mme_app_init(&mme_config));
-
-  CHECK_INIT_RETURN(s6a_init(&mme_config));
-
-  /* Handle signals here */
-  itti_wait_tasks_end();
-
-  return 0;
-}
diff --git a/openair-cn/OAISIM_MME/oaisim_mme.h b/openair-cn/OAISIM_MME/oaisim_mme.h
deleted file mode 100644
index 5b389d75d172cf7faf86d194d864f864ca7960ae..0000000000000000000000000000000000000000
--- a/openair-cn/OAISIM_MME/oaisim_mme.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/** @mainpage
-
-  @section intro Introduction
-
-  openair-mme project tends to provide an implementation of LTE core network.
-
-  @section scope Scope
-
-
-  @section design Design Philosophy
-
-  Included protocol stacks:
-  - SCTP RFC####
-  - S1AP 3GPP TS 36.413 R10.5
-  - S11 abstraction between MME and S-GW
-  - 3GPP TS 23.401 R10.5
-  - nw-gtpv1u for s1-u (http://amitchawre.net/)
-  - freeDiameter project (http://www.freediameter.net/) 3GPP TS 29.272 R10.5
-
-  @section applications Applications and Usage
-
-  Please use the script to start LTE epc in root src directory
-
- */
-
-#ifndef OAISIM_MME_H_
-#define OAISIM_MME_H_
-
-int main(int argc, char *argv[]);
-
-int oai_mme_log_specific(int log_level);
-
-#endif /* OAISIM_MME_H_ */
diff --git a/openair-cn/OAI_EPC/COPYING b/openair-cn/OAI_EPC/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_EPC/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OAI_EPC/Makefile.am b/openair-cn/OAI_EPC/Makefile.am
deleted file mode 100644
index 1a192009d0437e0957ffe84aaa9f3a810da02fb8..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_EPC/Makefile.am
+++ /dev/null
@@ -1,78 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-if STANDALONE_EPC
-AM_CFLAGS = @ADD_CFLAGS@ \
-	-I$(top_srcdir)/COMMON				\
-	-I$(top_srcdir)/GTPV1-U				\
-	-I$(top_srcdir)/GTPV1-U/nw-gtpv1u/include	\
-	-I$(top_srcdir)/GTPV1-U/nw-gtpv1u/shared	\
-	-I$(top_srcdir)/SCTP				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE		\
-	-I$(top_srcdir)/SGI				\
-	-I$(top_srcdir)/MME_APP				\
-	-I$(top_srcdir)/NAS				\
-	-I$(top_builddir)/S1AP/MESSAGES			\
-	-I$(top_srcdir)/S1AP				\
-	-I$(top_srcdir)/S6A				\
-	-I$(top_srcdir)/SECU				\
-	-I$(top_srcdir)/SGW-LITE			\
-	-I$(top_srcdir)/UDP				\
-	-I$(top_srcdir)/UTILS				\
-	-I$(top_srcdir)/UTILS/HASHTABLE			\
-	-I$(top_srcdir)/UTILS/TIMER
-
-oai_epc_LDADD = \
-	$(top_builddir)/GTPV1-U/libgtpv1u.la	\
-	$(top_builddir)/GTPV2-C/nwgtpv2c-0.11/src/libNwGtpv2c.a	\
-	$(top_builddir)/INTERTASK_INTERFACE/libitti.la	\
-	$(top_builddir)/SGI/libsgi.la	\
-	$(top_builddir)/NAS/libnas.la	\
-	$(top_builddir)/S6A/libs6a.la	\
-	$(top_builddir)/SGW-LITE/libsgw_lite.la	\
-	$(top_builddir)/SCTP/libsctpserver.la	\
-	$(top_builddir)/UTILS/HASHTABLE/libhashtable.la \
-	$(top_builddir)/UDP/libudpserver.la	\
-	$(top_builddir)/MME_APP/libmmeapp.la	\
-	$(top_builddir)/SECU/libsecu.la	\
-	$(top_builddir)/UTILS/libutils.la	\
-	$(top_builddir)/S1AP/libs1ap.la	\
-	$(abs_top_builddir)/INTERTASK_INTERFACE/UTIL/LFDS/liblfds6.1.1/liblfds611/bin/liblfds611.a
-
-oai_epc_SOURCES = \
-	oai_epc_log.c	\
-	oai_epc.c
-
-bin_PROGRAMS = oai_epc
-endif
diff --git a/openair-cn/OAI_EPC/oai_epc.c b/openair-cn/OAI_EPC/oai_epc.c
deleted file mode 100644
index f2fe6776be84b977e27188ba5f82a39d9b1609d1..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_EPC/oai_epc.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! @file  oai_epc.c
- *  @brief Entry point for EPC environement gathering MME, S-GW and P-GW in
- *         a single executable
- */
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "mme_config.h"
-#include "gtpv1u_sgw_defs.h"
-
-#include "assertions.h"
-
-#include "intertask_interface_init.h"
-
-#include "sctp_primitives_server.h"
-#include "udp_primitives_server.h"
-#include "s1ap_mme.h"
-#include "log.h"
-#include "timer.h"
-#include "sgw_lite_defs.h"
-#include "mme_app_extern.h"
-#include "nas_defs.h"
-
-/* FreeDiameter headers for support of S6A interface */
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdcore.h>
-#include "s6a_defs.h"
-
-#include "oai_epc.h"
-#include "msc.h"
-
-int main(int argc, char *argv[])
-{
-
-  CHECK_INIT_RETURN(itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX,
-                              tasks_info, messages_info, messages_definition_xml,
-                              mme_config.itti_config.log_file));
-  /* Parse the command line for options and set the mme_config accordingly. */
-  CHECK_INIT_RETURN(config_parse_opt_line(argc, argv, &mme_config) < 0);
-  MSC_INIT(MSC_MME_GW, THREAD_MAX+TASK_MAX);
-
-  /* Calling each layer init function */
-  CHECK_INIT_RETURN(log_init(&mme_config, oai_epc_log_specific));
-  CHECK_INIT_RETURN(nas_init(&mme_config));
-  CHECK_INIT_RETURN(sctp_init(&mme_config));
-  CHECK_INIT_RETURN(udp_init(&mme_config));
-  CHECK_INIT_RETURN(gtpv1u_init(&mme_config));
-  CHECK_INIT_RETURN(s1ap_mme_init(&mme_config));
-  CHECK_INIT_RETURN(mme_app_init(&mme_config));
-  CHECK_INIT_RETURN(s6a_init(&mme_config));
-  CHECK_INIT_RETURN(sgw_lite_init(mme_config.config_file));
-  /* Handle signals here */
-  itti_wait_tasks_end();
-
-  return 0;
-}
diff --git a/openair-cn/OAI_EPC/oai_epc.h b/openair-cn/OAI_EPC/oai_epc.h
deleted file mode 100644
index ab378bf7d98e6e08cd05d8ebda1535cbb4c7ff90..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_EPC/oai_epc.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/** @mainpage
-
-  @section intro Introduction
-
-  openair-mme project tends to provide an implementation of LTE core network.
-
-  @section scope Scope
-
-
-  @section design Design Philosophy
-
-  Included protocol stacks:
-  - SCTP RFC####
-  - S1AP 3GPP TS 36.413 R10.5
-  - S11 abstraction between MME and S-GW
-  - 3GPP TS 23.401 R10.5
-  - nw-gtpv1u for s1-u (http://amitchawre.net/)
-  - freeDiameter project (http://www.freediameter.net/) 3GPP TS 29.272 R10.5
-
-  @section applications Applications and Usage
-
-  Please use the script to start LTE epc in root src directory
-
- */
-
-#ifndef OAI_EPC_H_
-#define OAI_EPC_H_
-
-int oai_epc_log_specific(int log_level);
-
-int main(int argc, char *argv[]);
-
-#endif /* OAI_EPC_H_ */
diff --git a/openair-cn/OAI_EPC/oai_epc_log.c b/openair-cn/OAI_EPC/oai_epc_log.c
deleted file mode 100644
index 9bcf3fcbf077997daa8340efdb08604576c44bcb..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_EPC/oai_epc_log.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include "oai_epc.h"
-#include "log.h"
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdcore.h>
-
-int oai_epc_log_specific(int log_level)
-{
-  if (log_level == 1) {
-    asn_debug = 0;
-    asn1_xer_print = 1;
-    fd_g_debug_lvl = INFO;
-  } else if (log_level == 2) {
-    asn_debug = 1;
-    asn1_xer_print = 1;
-    fd_g_debug_lvl = ANNOYING;
-  } else {
-    asn1_xer_print = 0;
-    asn_debug = 0;
-    fd_g_debug_lvl = NONE;
-  }
-
-  return 0;
-}
diff --git a/openair-cn/OAI_SGW/COPYING b/openair-cn/OAI_SGW/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_SGW/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OAI_SGW/Makefile.am b/openair-cn/OAI_SGW/Makefile.am
deleted file mode 100644
index 4190c1dc8e20e7678a30754f70724f3bbc72a3fc..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_SGW/Makefile.am
+++ /dev/null
@@ -1,67 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-if !STANDALONE_EPC
-AM_CFLAGS = @ADD_CFLAGS@ \
-	-I$(top_srcdir)/COMMON				\
-	-I$(top_srcdir)/GTPV1-U				\
-	-I$(top_srcdir)/GTPV1-U/nw-gtpv1u/include	\
-	-I$(top_srcdir)/GTPV1-U/nw-gtpv1u/shared	\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE		\
-	-I$(top_srcdir)/S11				\
-	-I$(top_srcdir)/SGI				\
-	-I$(top_srcdir)/SGW-LITE			\
-	-I$(top_srcdir)/UDP				\
-	-I$(top_srcdir)/UTILS				\
-	-I$(top_srcdir)/UTILS/HASHTABLE
-
-oai_sgw_LDADD = \
-	$(top_builddir)/GTPV1-U/libgtpv1u.la	\
-	$(top_builddir)/INTERTASK_INTERFACE/libitti.la	\
-	$(top_builddir)/S11/libs11.la	\
-	$(top_builddir)/GTPV2-C/nwgtpv2c-0.11/src/libNwGtpv2c.a	\
-	$(top_builddir)/SGI/libsgi.la	\
-	$(top_builddir)/SGW-LITE/libsgw_lite.la	\
-	$(top_builddir)/UTILS/HASHTABLE/libhashtable.la \
-	$(top_builddir)/UDP/libudpserver.la	\
-	$(top_builddir)/SECU/libsecu.la	\
-	$(top_builddir)/UTILS/libutils.la	\
-	$(abs_top_builddir)/INTERTASK_INTERFACE/UTIL/LFDS/liblfds6.1.1/liblfds611/bin/liblfds611.a
-
-oai_sgw_SOURCES = \
-	oai_sgw_log.c	\
-	oai_sgw.c
-
-bin_PROGRAMS = oai_sgw
-endif
diff --git a/openair-cn/OAI_SGW/oai_sgw.c b/openair-cn/OAI_SGW/oai_sgw.c
deleted file mode 100644
index 902c4c24c1cc3ecb1915d198139dd4e6c3ea4654..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_SGW/oai_sgw.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file oai_sgw.c
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "assertions.h"
-#include "mme_config.h"
-
-#include "intertask_interface_init.h"
-
-#include "udp_primitives_server.h"
-#include "log.h"
-#include "timer.h"
-#include "s11_sgw.h"
-#include "sgw_lite_defs.h"
-#include "gtpv1u_sgw_defs.h"
-
-#include "oai_sgw.h"
-
-int main(int argc, char *argv[])
-{
-  /* Parse the command line for options and set the mme_config accordingly. */
-  CHECK_INIT_RETURN(config_parse_opt_line(argc, argv, &mme_config));
-
-  /* Calling each layer init function */
-  CHECK_INIT_RETURN(log_init(&mme_config, oai_sgw_log_specific));
-  CHECK_INIT_RETURN(itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL));
-
-  CHECK_INIT_RETURN(udp_init(&mme_config));
-  CHECK_INIT_RETURN(s11_sgw_init(&mme_config));
-  CHECK_INIT_RETURN(gtpv1u_init(&mme_config));
-
-  CHECK_INIT_RETURN(sgw_lite_init(mme_config.config_file));
-
-  /* Handle signals here */
-  itti_wait_tasks_end();
-
-  return 0;
-}
diff --git a/openair-cn/OAI_SGW/oai_sgw.h b/openair-cn/OAI_SGW/oai_sgw.h
deleted file mode 100644
index 5647b01790f0b99c360a7dc3f492bb7dbd3d1a4d..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_SGW/oai_sgw.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file oai_sgw.h
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-
-#ifndef OAI_SGW_H_
-#define OAI_SGW_H_
-
-int main(int argc, char *argv[]);
-
-int oai_sgw_log_specific(int log_level);
-
-#endif /* OAI_SGW_H_ */
diff --git a/openair-cn/OAI_SGW/oai_sgw_log.c b/openair-cn/OAI_SGW/oai_sgw_log.c
deleted file mode 100644
index 1cfb05b7c962545354047ff8eb71cdbe91cf032a..0000000000000000000000000000000000000000
--- a/openair-cn/OAI_SGW/oai_sgw_log.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file oai_sgw_log.c
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#include "oai_sgw.h"
-#include "log.h"
-
-int oai_sgw_log_specific(int log_level)
-{
-  return 0;
-}
diff --git a/openair-cn/OPENAIRHSS/AUTHORS b/openair-cn/OPENAIRHSS/AUTHORS
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/OPENAIRHSS/ChangeLog b/openair-cn/OPENAIRHSS/ChangeLog
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/OPENAIRHSS/INSTALL b/openair-cn/OPENAIRHSS/INSTALL
deleted file mode 100644
index 2099840756e6302d837dcd51b5dcd6262f7adb16..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/INSTALL
+++ /dev/null
@@ -1,370 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
-Inc.
-
-   Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.  This file is offered as-is,
-without warranty of any kind.
-
-Basic Installation
-==================
-
-   Briefly, the shell command `./configure && make && make install'
-should configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below.  The lack of an optional feature in a given package is not
-necessarily a bug.  More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
-   The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
-
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package, generally using the just-built uninstalled binaries.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.  When installing into a prefix owned by root, it is
-     recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
-     privileges.
-
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
-     this time using the binaries in their final installed location.
-     This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
-     root privileges, verifies that the installation completed
-     correctly.
-
-  6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-  7. Often, you can also type `make uninstall' to remove the installed
-     files again.  In practice, not all packages have tested that
-     uninstallation works correctly, even though it is required by the
-     GNU Coding Standards.
-
-  8. Some packages, particularly those that use Automake, provide `make
-     distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
-     This target is generally not run by end users.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
-for details on some of the pertinent environment variables.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
-
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
-   *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
-
-   With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
-   On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor.  Like
-this:
-
-     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CPP="gcc -E" CXXCPP="g++ -E"
-
-   This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
-
-Installation Names
-==================
-
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
-absolute file name.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
-specifications that were not explicitly provided.
-
-   The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
-both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
-having to reconfigure or recompile.
-
-   The first method involves providing an override variable for each
-affected directory.  For example, `make install
-prefix=/alternate/directory' will choose an alternate location for all
-directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
-does not work on platforms that have drive letters.  On the other hand,
-it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
-
-Optional Features
-=================
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-   Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
-
-Particular systems
-==================
-
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
-     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
-   HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved.  Use GNU `make'
-instead.
-
-   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
-
-     ./configure CC="cc"
-
-and if that doesn't work, try
-
-     ./configure CC="cc -nodtk"
-
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
-directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
-
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
-
-     ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS
-     KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-   Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
-
-     ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation.  Until the limitation is lifted, you can use
-this workaround:
-
-     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
-
-`--help=short'
-`--help=recursive'
-     Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
-
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`--cache-file=FILE'
-     Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
-     disable caching.
-
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
-
-`--no-create'
-`-n'
-     Run the configure checks, but stop before creating any output
-     files.
-
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
diff --git a/openair-cn/OPENAIRHSS/Makefile.am b/openair-cn/OPENAIRHSS/Makefile.am
deleted file mode 100644
index 327a0a00b9b55c11a8d2cd8a15dbc07a159c2035..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/Makefile.am
+++ /dev/null
@@ -1,54 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-ACLOCAL_AMFLAGS = -I m4
-
-SUBDIRS = access_restriction auc db s6a utils tests .
-
-AM_CFLAGS = @ADD_CFLAGS@ \
-    -I$(top_srcdir)/access_restriction  \
-	-I$(top_srcdir)/auc	\
-	-I$(top_srcdir)/db	\
-	-I$(top_srcdir)/s6a	\
-	-I$(top_srcdir)/utils
-
-bin_PROGRAMS = openair-hss
-
-openair_hssdir=$(sysconfdir)/openair-hss
-openair_hss_DATA = $(top_builddir)/conf/hss.conf $(top_srcdir)/conf/hss_fd.conf
-
-openair_hss_LDADD = \
-	$(top_builddir)/s6a/libs6a.la	\
-	$(top_builddir)/db/libdb.la	\
-	$(top_builddir)/auc/libauc.la	\
-	$(top_builddir)/access_restriction/libaccess_restriction.la	\
-	$(top_builddir)/utils/libutils.la
-
-openair_hss_SOURCES = \
-	hss_config.h	\
-	hss_main.c
diff --git a/openair-cn/OPENAIRHSS/NEWS b/openair-cn/OPENAIRHSS/NEWS
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/OPENAIRHSS/README b/openair-cn/OPENAIRHSS/README
deleted file mode 100644
index 3f48e97d5f3675dcb1047222755b05c7ab7d3e03..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/README
+++ /dev/null
@@ -1,24 +0,0 @@
-Please follow the steps below to install hss:
-
-1) install the hss using the scripts/install_hss.sh 
-2) run autogen.sh
-3) mkdir objs
-4) cd objs; ../configure 
-5) make -j2
-6) make 
-7) sudo apt-get install mysql-client-core-5.5 mysql-server-core-5.5 mysql-server-5.5 phpmyadmin
-   set the password for mysql server
-   open a browser and connet to the phpmyadmin: localhost/phpmyadmin
-   create the oai_db database using database menu
-   select the oai_db and import db/oai_db.sql
-   select the users, and insert the data
-   or mannully use the cmd: sudo mysql -u root -p
-   update the oai_db tables for users,pgw, pdn, and mmeidentity
-   create a new phpmyadmin user, and name it hssadmin, with admin password, grant all the global privilages on DATA as well as create, alter, and index for the structure
-   mysql -u root -p and add the following cmd
-   grant all privileges ON *.* TO 'hssadmin'@'%' WITH GRANT OPTION;	
-   flush privileges;
-8) download and install php-myadmin or lampp from http://www.apachefriends.org/en/xampp-linux.html
-   copy the file in /opt
-   chmod 755 xampp-linux-1.8.2-0-installer.run
-   ./xampp-linux-1.8.2-0-installer.run
diff --git a/openair-cn/OPENAIRHSS/access_restriction/COPYING b/openair-cn/OPENAIRHSS/access_restriction/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/access_restriction/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OPENAIRHSS/access_restriction/Makefile.am b/openair-cn/OPENAIRHSS/access_restriction/Makefile.am
deleted file mode 100644
index 31d146bc612e163a12180eda148b2eb4960bca28..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/access_restriction/Makefile.am
+++ /dev/null
@@ -1,37 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AM_CFLAGS = @ADD_CFLAGS@ 	\
-	-I$(top_srcdir)		\
-	-I$(top_srcdir)/utils
-
-noinst_LTLIBRARIES = libaccess_restriction.la
-
-libaccess_restriction_la_LDFLAGS = -all-static
-libaccess_restriction_la_SOURCES = \
-	access_restriction.c	access_restriction.h
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/access_restriction/access_restriction.c b/openair-cn/OPENAIRHSS/access_restriction/access_restriction.c
deleted file mode 100644
index ec049b0c10c798f4d390bea47c1405cb60aa1c00..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/access_restriction/access_restriction.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdint.h>
-
-#include "conversion.h"
-#include "access_restriction.h"
-
-/* TODO: identification of MCC and MNC within an IMSI should be done according
- * to a table that maps MCC to 2 or 3 digits expected...
- * By default we will assume there is only 2 digits for our use.
- */
-
-/* Split a PLMN formed of <MCC><MNC> to mcc and mnc.
- * In case MNC is formed of only two digits a 0 is inserted at the most significant
- * digit.
- * When PLMN is represented using european convention it contains only two digits,
- * while three digits are used in North American Standard.
- * Encoding of PLMN is defined in ITU E.212.
- * @param plmn string either 5 or 6 digits resulting of the concatenation of
- * MCC and MNC.
- */
-int split_plmn(uint8_t plmn[3], uint8_t mcc[3], uint8_t mnc[3])
-{
-  if (plmn == NULL) {
-    return -1;
-  }
-
-  mcc[0] =  plmn[0] & 0x0F;
-  mcc[1] = (plmn[0] & 0xF0) >> 4;
-  mcc[2] =  plmn[1] & 0x0F;
-
-  if ((plmn[1] & 0xF0) == 0xF0) {
-    /* Only 2 digits case */
-    mnc[1] =  plmn[2] & 0x0F;
-    mnc[2] = (plmn[2] & 0xF0) >> 4;
-    mnc[0] = 0;
-  } else {
-    mnc[0] =   plmn[2] & 0x0F;
-    mnc[1] =  (plmn[2] & 0xF0) >> 4;
-    mnc[2] = ((plmn[1] & 0xF0) >> 4);
-  }
-
-  return 0;
-}
-
-/* Apply restriction (if any) to current 'visited' PLMN for this user.
- * Criterias are based on ODB (operator determined barring), visited PLMN
- * and user PLMN (obtain from IMSI).
- * @param imsi is the user identity formed of MCC.MNC.MSIN (14 or 15 digits long)
- * @param vplmn is the plmn of the cell the UE is currently attached to
- */
-#define FORMAT_MCC(mCC) (mCC[0] * 100 + mCC[1] * 10 + mCC[2])
-#define FORMAT_MNC(mNC) (mNC[0] * 100 + mNC[1] * 10 + mNC[2])
-
-int apply_access_restriction(char *imsi, uint8_t *vplmn)
-{
-  uint8_t vmcc[3], vmnc[3];
-  uint8_t hmcc[3], hmnc[3];
-
-  uint8_t imsi_hex[15];
-
-  if (bcd_to_hex(imsi_hex, imsi, strlen(imsi)) != 0) {
-    fprintf(stderr, "Failed to convert imsi %s to hex representation\n",
-            imsi);
-    return -1;
-  }
-
-  /* There is a problem while converting the PLMN... */
-  if (split_plmn(vplmn, vmcc, vmnc) != 0) {
-    fprintf(stderr, "Fail to convert vplmn %02x%02x%02x to mcc/mnc for imsi %s\n",
-            vplmn[0], vplmn[1], vplmn[2], imsi);
-    return -1;
-  }
-
-  fprintf(stderr, "Converted %02x%02x%02x to plmn %u.%u\n", vplmn[0], vplmn[1], vplmn[2],
-          FORMAT_MCC(vmcc), FORMAT_MNC(vmnc));
-
-  /* MCC is always 3 digits */
-  memcpy(hmcc, &imsi_hex[0], 3);
-
-  if (memcmp(vmcc, hmcc, 3) != 0) {
-    fprintf(stderr, "Only France MCC is handled for now, got imsi plmn %u.%u for a visited plmn %u.%u\n",
-            FORMAT_MCC(hmcc), FORMAT_MNC(hmnc), FORMAT_MCC(vmcc), FORMAT_MNC(vmnc));
-    /* Reject the association */
-    return -1;
-  }
-
-  /* In France MNC is composed of 2 digits and thus imsi by 14 digit */
-  hmnc[0] = 0;
-  memcpy(&hmnc[1], &imsi_hex[3], 2);
-
-  if ((memcmp(vmcc, hmcc, 3) != 0) && (memcmp(vmnc, hmnc, 3) != 0)) {
-    fprintf(stderr, "UE is roaming from %u.%u to %u.%u which is not allowed"
-            " by the ODB\n", FORMAT_MCC(hmcc), FORMAT_MNC(hmnc), FORMAT_MCC(vmcc), FORMAT_MNC(vmnc));
-    return -1;
-  }
-
-  /* User has successfully passed all the checking -> accept the association */
-  return 0;
-}
diff --git a/openair-cn/OPENAIRHSS/access_restriction/access_restriction.h b/openair-cn/OPENAIRHSS/access_restriction/access_restriction.h
deleted file mode 100644
index bd9394416b7183a6749070b39e34a240c58da90f..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/access_restriction/access_restriction.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef ACCESS_RESTRICTION_H_
-#define ACCESS_RESTRICTION_H_
-
-int split_plmn(uint8_t *plmn, uint8_t mcc[3], uint8_t mnc[3]);
-
-int apply_access_restriction(char *imsi, uint8_t *vplmn);
-
-#endif /* ACCESS_RESTRICTION_H_ */
diff --git a/openair-cn/OPENAIRHSS/auc/COPYING b/openair-cn/OPENAIRHSS/auc/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/auc/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OPENAIRHSS/auc/Makefile.am b/openair-cn/OPENAIRHSS/auc/Makefile.am
deleted file mode 100644
index 948cf4b1dc35934059b0e3504fda2f16b875e28f..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/auc/Makefile.am
+++ /dev/null
@@ -1,42 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AM_CFLAGS = @ADD_CFLAGS@ 	\
-	-I$(top_srcdir)		\
-	-I$(top_srcdir)/utils
-
-noinst_LTLIBRARIES = libauc.la
-
-libauc_la_LDFLAGS = -all-static
-libauc_la_SOURCES = \
-	auc.h	\
-	fx.c	\
-	kdf.c	\
-	random.c	\
-	rijndael.c	\
-	sequence_number.c
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/auc/auc.h b/openair-cn/OPENAIRHSS/auc/auc.h
deleted file mode 100644
index 00ca2b9dc7db35fc0af9f339d94ff128bf2859bd..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/auc/auc.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdint.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <gmp.h>
-
-#ifndef AUC_H_
-#define AUC_H_
-
-#define SQN_LENGTH_BITS   (48)
-#define SQN_LENGTH_OCTEST (SQN_LENGTH_BITS/8)
-#define IK_LENGTH_BITS   (128)
-#define IK_LENGTH_OCTETS (IK_LENGTH_BITS/8)
-#define RAND_LENGTH_OCTETS  (16)
-#define RAND_LENGTH_BITS    (RAND_LENGTH_OCTETS*8)
-#define XRES_LENGTH_OCTETS  (8)
-#define AUTN_LENGTH_OCTETS  (16)
-#define KASME_LENGTH_OCTETS (32)
-#define MAC_S_LENGTH        (8)
-
-extern uint8_t opc[16];
-
-typedef mpz_t random_t;
-typedef mpz_t sqn_t;
-
-typedef uint8_t uint8_t;
-
-typedef struct {
-  uint8_t rand[16];
-  uint8_t rand_new;
-  uint8_t xres[8];
-  uint8_t autn[16];
-  uint8_t kasme[32];
-} auc_vector_t;
-
-void RijndaelKeySchedule(const uint8_t const key[16]);
-void RijndaelEncrypt(const uint8_t const in[16], uint8_t out[16]);
-
-/* Sequence number functions */
-struct sqn_ue_s;
-struct sqn_ue_s *sqn_exists(uint64_t imsi);
-void sqn_insert(struct sqn_ue_s *item);
-void sqn_init(struct sqn_ue_s *item);
-struct sqn_ue_s *sqn_new(uint64_t imsi);
-void sqn_list_init(void);
-void sqn_get(uint64_t imsi, uint8_t sqn[6]);
-
-/* Random number functions */
-struct random_state_s;
-void random_init(void);
-void generate_random(uint8_t *random, ssize_t length);
-
-//void SetOP(char *opP);
-
-void ComputeOPc( const uint8_t const kP[16], const uint8_t const opP[16], uint8_t opcP[16] );
-
-void f1 ( const uint8_t const kP[16],const uint8_t const k[16], const uint8_t const rand[16], const uint8_t const sqn[6], const uint8_t const amf[2],
-          uint8_t mac_a[8] );
-void f1star( const uint8_t const kP[16],const uint8_t const k[16], const uint8_t const rand[16], const uint8_t const sqn[6], const uint8_t const amf[2],
-             uint8_t mac_s[8] );
-void f2345 ( const uint8_t const kP[16],const uint8_t const k[16], const uint8_t const rand[16],
-             uint8_t res[8], uint8_t ck[16], uint8_t ik[16], uint8_t ak[6] );
-void f5star( const uint8_t const kP[16],const uint8_t const k[16], const uint8_t const rand[16],
-             uint8_t ak[6] );
-
-void generate_autn(const uint8_t const sqn[6], const uint8_t const ak[6], const uint8_t const amf[2], const uint8_t const mac_a[8], uint8_t autn[16]);
-int generate_vector(const uint8_t const opc[16], uint64_t imsi, uint8_t key[16], uint8_t plmn[3],
-                    uint8_t sqn[6], auc_vector_t *vector);
-
-void kdf(uint8_t *key, uint16_t key_len, uint8_t *s, uint16_t s_len, uint8_t *out,
-         uint16_t out_len);
-
-void derive_kasme(uint8_t ck[16], uint8_t ik[16], uint8_t plmn[3], uint8_t sqn[6],
-                  uint8_t ak[6], uint8_t kasme[32]);
-
-uint8_t *sqn_ms_derive(const uint8_t const opc[16], uint8_t *key, uint8_t *auts, uint8_t *rand);
-
-static inline void print_buffer(const char *prefix, uint8_t *buffer, int length)
-{
-  int i;
-
-  fprintf(stdout, "%s", prefix);
-
-  for (i = 0; i < length; i++) {
-    fprintf(stdout, "%02x.", buffer[i]);
-  }
-
-  fprintf(stdout, "\n");
-}
-
-#endif /* AUC_H_ */
diff --git a/openair-cn/OPENAIRHSS/auc/fx.c b/openair-cn/OPENAIRHSS/auc/fx.c
deleted file mode 100644
index 31d8d05b224f28d410ee25f0c57c183eed3e301f..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/auc/fx.c
+++ /dev/null
@@ -1,298 +0,0 @@
-/*-------------------------------------------------------------------
- * Example algorithms f1, f1*, f2, f3, f4, f5, f5*
- *-------------------------------------------------------------------
- *
- * A sample implementation of the example 3GPP authentication and
- * key agreement functions f1, f1*, f2, f3, f4, f5 and f5*. This is
- * a byte-oriented implementation of the functions, and of the block
- * cipher kernel function Rijndael.
- *
- * This has been coded for clarity, not necessarily for efficiency.
- *
- * The functions f2, f3, f4 and f5 share the same inputs and have
- * been coded together as a single function. f1, f1* and f5* are
- * all coded separately.
- *
- *-----------------------------------------------------------------*/
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "auc.h"
-#include "hss_config.h"
-
-extern hss_config_t hss_config;
-
-/*--------- Operator Variant Algorithm Configuration Field --------*/
-
-
-/*--------------------------- prototypes --------------------------*/
-
-
-/*-------------------------------------------------------------------
- *
- *-------------------------------------------------------------------
- *-----------------------------------------------------------------*/
-void generate_autn(const uint8_t const sqn[6], const uint8_t const ak[6], const uint8_t const amf[2], const uint8_t const mac_a[8], uint8_t autn[16])
-{
-  int i;
-
-  for (i = 0; i < 6; i++) {
-    autn[i] = sqn[i] ^ ak[i];
-  }
-
-  memcpy(&autn[6], amf, 2);
-  memcpy(&autn[8], mac_a, 8);
-}
-
-/*-------------------------------------------------------------------
- * Algorithm f1
- *-------------------------------------------------------------------
- *
- * Computes network authentication code MAC-A from key K, random
- * challenge RAND, sequence number SQN and authentication management
- * field AMF.
- *
- *-----------------------------------------------------------------*/
-void f1 ( const uint8_t const opc[16], const uint8_t const k[16], const uint8_t const _rand[16], const uint8_t const sqn[6], const uint8_t const amf[2],
-          uint8_t mac_a[8] )
-{
-  uint8_t temp[16];
-  uint8_t in1[16];
-  uint8_t out1[16];
-  uint8_t rijndaelInput[16];
-  uint8_t i;
-  RijndaelKeySchedule( k );
-
-  for (i=0; i<16; i++)
-    rijndaelInput[i] = _rand[i] ^ opc[i];
-
-  RijndaelEncrypt( rijndaelInput, temp );
-
-  for (i=0; i<6; i++) {
-    in1[i] = sqn[i];
-    in1[i+8] = sqn[i];
-  }
-
-  for (i=0; i<2; i++) {
-    in1[i+6] = amf[i];
-    in1[i+14] = amf[i];
-  }
-
-  /* XOR op_c and in1, rotate by r1=64, and XOR *
-   * on the constant c1 (which is all zeroes) */
-  for (i=0; i<16; i++)
-    rijndaelInput[(i+8) % 16] = in1[i] ^ opc[i];
-
-  /* XOR on the value temp computed before */
-  for (i=0; i<16; i++)
-    rijndaelInput[i] ^= temp[i];
-
-  RijndaelEncrypt( rijndaelInput, out1 );
-
-  for (i=0; i<16; i++)
-    out1[i] ^= opc[i];
-
-  for (i=0; i<8; i++)
-    mac_a[i] = out1[i];
-
-  return;
-} /* end of function f1 */
-
-/*-------------------------------------------------------------------
- * Algorithms f2-f5
- *-------------------------------------------------------------------
- *
- * Takes key K and random challenge RAND, and returns response RES,
- * confidentiality key CK, integrity key IK and anonymity key AK.
- *
- *-----------------------------------------------------------------*/
-void f2345 ( const uint8_t const opc[16], const uint8_t const k[16], const uint8_t const _rand[16],
-             uint8_t res[8], uint8_t ck[16], uint8_t ik[16], uint8_t ak[6] )
-{
-  uint8_t temp[16];
-  uint8_t out[16];
-  uint8_t rijndaelInput[16];
-  uint8_t i;
-  RijndaelKeySchedule( k );
-
-  for (i=0; i<16; i++)
-    rijndaelInput[i] = _rand[i] ^ opc[i];
-
-  RijndaelEncrypt( rijndaelInput, temp );
-
-  /* To obtain output block OUT2: XOR OPc and TEMP, *
-   * rotate by r2=0, and XOR on the constant c2 (which *
-   * is all zeroes except that the last bit is 1). */
-  for (i=0; i<16; i++)
-    rijndaelInput[i] = temp[i] ^ opc[i];
-
-  rijndaelInput[15] ^= 1;
-  RijndaelEncrypt( rijndaelInput, out );
-
-  for (i=0; i<16; i++)
-    out[i] ^= opc[i];
-
-  for (i=0; i<8; i++)
-    res[i] = out[i+8];
-
-  for (i=0; i<6; i++)
-    ak[i] = out[i];
-
-  /* To obtain output block OUT3: XOR OPc and TEMP, *
-   * rotate by r3=32, and XOR on the constant c3 (which *
-   * is all zeroes except that the next to last bit is 1). */
-
-  for (i=0; i<16; i++)
-    rijndaelInput[(i+12) % 16] = temp[i] ^ opc[i];
-
-  rijndaelInput[15] ^= 2;
-  RijndaelEncrypt( rijndaelInput, out );
-
-  for (i=0; i<16; i++)
-    out[i] ^= opc[i];
-
-  for (i=0; i<16; i++)
-    ck[i] = out[i];
-
-  /* To obtain output block OUT4: XOR OPc and TEMP, *
-   * rotate by r4=64, and XOR on the constant c4 (which *
-   * is all zeroes except that the 2nd from last bit is 1). */
-  for (i=0; i<16; i++)
-    rijndaelInput[(i+8) % 16] = temp[i] ^ opc[i];
-
-  rijndaelInput[15] ^= 4;
-  RijndaelEncrypt( rijndaelInput, out );
-
-  for (i=0; i<16; i++)
-    out[i] ^= opc[i];
-
-  for (i=0; i<16; i++)
-    ik[i] = out[i];
-
-  return;
-} /* end of function f2345 */
-
-/*-------------------------------------------------------------------
- * Algorithm f1*
- *-------------------------------------------------------------------
- *
- * Computes resynch authentication code MAC-S from key K, random
- * challenge RAND, sequence number SQN and authentication management
- * field AMF.
- *
- *-----------------------------------------------------------------*/
-void f1star( const uint8_t const opc[16], const uint8_t const k[16], const uint8_t const _rand[16], const uint8_t const sqn[6], const uint8_t const amf[2],
-             uint8_t mac_s[8] )
-{
-  uint8_t temp[16];
-  uint8_t in1[16];
-  uint8_t out1[16];
-  uint8_t rijndaelInput[16];
-  uint8_t i;
-  RijndaelKeySchedule( k );
-
-  for (i=0; i<16; i++)
-    rijndaelInput[i] = _rand[i] ^ opc[i];
-
-  RijndaelEncrypt( rijndaelInput, temp );
-
-  for (i=0; i<6; i++) {
-    in1[i] = sqn[i];
-    in1[i+8] = sqn[i];
-  }
-
-  for (i=0; i<2; i++) {
-    in1[i+6] = amf[i];
-    in1[i+14] = amf[i];
-  }
-
-  /* XOR op_c and in1, rotate by r1=64, and XOR *
-   * on the constant c1 (which is all zeroes) */
-  for (i=0; i<16; i++)
-    rijndaelInput[(i+8) % 16] = in1[i] ^ opc[i];
-
-  /* XOR on the value temp computed before */
-  for (i=0; i<16; i++)
-    rijndaelInput[i] ^= temp[i];
-
-  RijndaelEncrypt( rijndaelInput, out1 );
-
-  for (i=0; i<16; i++)
-    out1[i] ^= opc[i];
-
-  for (i=0; i<8; i++)
-    mac_s[i] = out1[i+8];
-
-  return;
-} /* end of function f1star */
-
-/*-------------------------------------------------------------------
- * Algorithm f5*
- *-------------------------------------------------------------------
- *
- * Takes key K and random challenge RAND, and returns resynch
- * anonymity key AK.
- *
- *-----------------------------------------------------------------*/
-void f5star( const uint8_t const opc[16], const uint8_t const k[16], const uint8_t const _rand[16],
-             uint8_t ak[6] )
-{
-  uint8_t temp[16];
-  uint8_t out[16];
-  uint8_t rijndaelInput[16];
-  uint8_t i;
-
-  RijndaelKeySchedule( k );
-
-  for (i=0; i<16; i++)
-    rijndaelInput[i] = _rand[i] ^ opc[i];
-
-  RijndaelEncrypt( rijndaelInput, temp );
-
-  /* To obtain output block OUT5: XOR OPc and TEMP, *
-   * rotate by r5=96, and XOR on the constant c5 (which *
-   * is all zeroes except that the 3rd from last bit is 1). */
-  for (i=0; i<16; i++)
-    rijndaelInput[(i+4) % 16] = temp[i] ^ opc[i];
-
-  rijndaelInput[15] ^= 8;
-  RijndaelEncrypt( rijndaelInput, out );
-
-  for (i=0; i<16; i++)
-    out[i] ^= opc[i];
-
-  for (i=0; i<6; i++)
-    ak[i] = out[i];
-
-  return;
-} /* end of function f5star */
-
-/*-------------------------------------------------------------------
- * Function to compute OPc from OP and K.
- *-----------------------------------------------------------------*/
-void ComputeOPc( const uint8_t const kP[16], const uint8_t const opP[16], uint8_t opcP[16] )
-{
-  uint8_t i;
-
-  RijndaelKeySchedule( kP );
-  printf("Compute opc:\n\tK:\t%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X\n",
-		  kP[0],kP[1],kP[2],kP[3],kP[4],kP[5],kP[6],kP[7],
-		  kP[8],kP[9],kP[10],kP[11],kP[12],kP[13],kP[14],kP[15]);
-  RijndaelEncrypt( opP, opcP );
-  printf("\tIn:\t%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X\n\tRinj:\t%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X\n",
-		  opP[0],opP[1],opP[2],opP[3],opP[4],opP[5],opP[6],opP[7],
-		  opP[8],opP[9],opP[10],opP[11],opP[12],opP[13],opP[14],opP[15],
-	      opcP[0],opcP[1],opcP[2],opcP[3],opcP[4],opcP[5],opcP[6],opcP[7],
-	      opcP[8],opcP[9],opcP[10],opcP[11],opcP[12],opcP[13],opcP[14],opcP[15] );
-
-  for (i=0; i<16; i++)
-	  opcP[i] ^= opP[i];
-  printf("\tOut:\t%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X\n",
-	         opcP[0],opcP[1],opcP[2],opcP[3],opcP[4],opcP[5],opcP[6],opcP[7],
-	         opcP[8],opcP[9],opcP[10],opcP[11],opcP[12],opcP[13],opcP[14],opcP[15] );
-
-  return;
-} /* end of function ComputeOPc */
diff --git a/openair-cn/OPENAIRHSS/auc/kdf.c b/openair-cn/OPENAIRHSS/auc/kdf.c
deleted file mode 100644
index a806513cbc43a3c8e1d9b9d271d9494261e52d6a..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/auc/kdf.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-
-#include <gmp.h>
-#include <nettle/hmac.h>
-
-#include "auc.h"
-#include "hss_config.h"
-
-#define DEBUG_AUC_KDF 1
-extern hss_config_t hss_config;
-
-/*
- * @param key the input key
- * @param key_len length of the key
- * @param s string for key derivation as defined in 3GPP TS.33401 Annex A
- * @param s_len length of s
- * @param out buffer to place the output of kdf
- * @param ou_len expected length for the output key
- */
-inline
-void kdf(uint8_t *key, uint16_t key_len, uint8_t *s, uint16_t s_len, uint8_t *out,
-         uint16_t out_len)
-{
-  struct hmac_sha256_ctx ctx;
-
-  memset(&ctx, 0, sizeof(ctx));
-
-  hmac_sha256_set_key(&ctx, key_len, key);
-  hmac_sha256_update(&ctx, s_len, s);
-  hmac_sha256_digest(&ctx, out_len, out);
-}
-
-/*
- * Derive the Kasme using the KDF (key derive function).
- * See 3GPP TS.33401 Annex A.2
- * The input String S to the KDF is composed of 14 bytes:
- * FC = 0x10
- * P0 = SN id = PLMN
- * L0 = length(SN id) = 0x00 0x03
- * P1 = SQN xor AK
- * L1 = length(P1) = 0x00 0x06
- */
-inline
-void derive_kasme(uint8_t ck[16], uint8_t ik[16], uint8_t plmn[3], uint8_t sqn[6],
-                  uint8_t ak[6], uint8_t *kasme)
-{
-  uint8_t s[14];
-  int i;
-  uint8_t key[32];
-
-  /* The input key is equal to the concatenation of CK and IK */
-  memcpy(&key[0], ck, 16);
-  memcpy(&key[16], ik, 16);
-
-  /*if (hss_config.valid_opc == 0) {
-    SetOP(hss_config.operator_key);
-  }*/
-
-  /* FC */
-  s[0] = 0x10;
-
-  /* SN id is composed of MCC and MNC
-   * Octets:
-   *   1      MCC digit 2 | MCC digit 1
-   *   2      MNC digit 3 | MCC digit 3
-   *   3      MNC digit 2 | MNC digit 1
-   */
-  memcpy(&s[1], plmn, 3);
-
-  /* L0 */
-  s[4] = 0x00;
-  s[5] = 0x03;
-
-  /* P1 */
-  for (i = 0; i < 6; i++) {
-    s[6 + i] = sqn[i] ^ ak[i];
-  }
-
-  /* L1 */
-  s[12] = 0x00;
-  s[13] = 0x06;
-
-#if defined(DEBUG_AUC_KDF)
-
-  for (i = 0; i < 32; i++)
-    printf("0x%02x ", key[i]);
-
-  printf("\n");
-
-  for (i = 0; i < 14; i++)
-    printf("0x%02x ", s[i]);
-
-  printf("\n");
-#endif
-
-  kdf(key, 32, s, 14, kasme, 32);
-}
-
-int generate_vector(const uint8_t const opc[16], uint64_t imsi, uint8_t key[16], uint8_t plmn[3],
-                    uint8_t sqn[6], auc_vector_t *vector)
-{
-  /* in E-UTRAN an authentication vector is composed of:
-   * - RAND
-   * - XRES
-   * - AUTN
-   * - KASME
-   */
-
-  uint8_t amf[] = { 0x80, 0x00 };
-  uint8_t mac_a[8];
-  uint8_t ck[16];
-  uint8_t ik[16];
-  uint8_t ak[6];
-
-  if (vector == NULL) {
-    return EINVAL;
-  }
-
-  /* Compute MAC */
-  f1(opc, key, vector->rand, sqn, amf, mac_a);
-
-  print_buffer("MAC_A   : ", mac_a, 8);
-  print_buffer("SQN     : ", sqn, 6);
-  print_buffer("RAND    : ", vector->rand, 16);
-
-  /* Compute XRES, CK, IK, AK */
-  f2345(opc, key, vector->rand, vector->xres, ck, ik, ak);
-  print_buffer("AK      : ", ak, 6);
-  print_buffer("CK      : ", ck, 16);
-  print_buffer("IK      : ", ik, 16);
-  print_buffer("XRES    : ", vector->xres, 8);
-
-  /* AUTN = SQN ^ AK || AMF || MAC */
-  generate_autn(sqn, ak, amf, mac_a, vector->autn);
-
-  print_buffer("AUTN    : ", vector->autn, 16);
-
-  derive_kasme(ck, ik, plmn, sqn, ak, vector->kasme);
-  print_buffer("KASME   : ", vector->kasme, 32);
-
-  return 0;
-}
diff --git a/openair-cn/OPENAIRHSS/auc/random.c b/openair-cn/OPENAIRHSS/auc/random.c
deleted file mode 100644
index 5e71b324619e18346e6c8ae7e04726b7e523363d..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/auc/random.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <gmp.h>
-#include <sys/time.h>
-
-#include "auc.h"
-#include "hss_config.h"
-
-typedef struct random_state_s {
-  pthread_mutex_t lock;
-  gmp_randstate_t state;
-} random_state_t;
-
-random_state_t random_state;
-extern hss_config_t hss_config;
-
-void random_init(void)
-{
-  //    mpz_t number;
-  //    pthread_mutex_init(&random_state.lock, NULL);
-  //    mpz_init(number);
-  //    gmp_randinit_default(random_state.state);
-  //    srand(time(NULL));
-  struct timeval t1;
-  gettimeofday(&t1, NULL);
-  srand(t1.tv_usec * t1.tv_sec);
-}
-
-/* Generate a random number between 0 and 2^length - 1 where length is expressed
- * in bits.
- */
-void generate_random(uint8_t *random_p, ssize_t length)
-{
-  //    random_t random_nb;
-
-  //    mpz_init_set_ui(random_nb, 0);
-
-  //    pthread_mutex_lock(&random_state.lock);
-  //    mpz_urandomb(random_nb, random_state.state, 8 * length);
-  //    pthread_mutex_unlock(&random_state.lock);
-
-  //    mpz_export(random_p, NULL, 1, length, 0, 0, random_nb);
-  int i;//r = 0,  mask = 0, shift;
-  if (hss_config.random_bool > 0) {
-    for (i = 0; i < length; i ++) {
-    //        if ((i % sizeof(i)) == 0)
-    //            r = rand();
-    //        shift = 8 * (i % sizeof(i));
-    //        mask = 0xFF << shift;
-    //        random_p[i] = (r & mask) >> shift;
-	  random_p[i] = rand();
-    }
-  } else {
-    for (i = 0; i < length; i ++) {
-	  random_p[i] = 0;
-	}
-  }
-}
diff --git a/openair-cn/OPENAIRHSS/auc/rijndael.c b/openair-cn/OPENAIRHSS/auc/rijndael.c
deleted file mode 100644
index bbf1e57d30ccc533c00ddc238f4b276650ecb6b0..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/auc/rijndael.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdlib.h>
-#include <stdint.h>
-#include <gmp.h>
-
-#include "auc.h"
-
-typedef uint8_t  u8;
-typedef uint32_t u32;
-
-/*-------------------- Rijndael round subkeys ---------------------*/
-u8 roundKeys[11][4][4];
-/*--------------------- Rijndael S box table ----------------------*/
-u8 S[256] = {
-  99,124,119,123,242,107,111,197, 48, 1,103, 43,254,215,171,118,
-  202,130,201,125,250, 89, 71,240,173,212,162,175,156,164,114,192,
-  183,253,147, 38, 54, 63,247,204, 52,165,229,241,113,216, 49, 21,
-  4,199, 35,195, 24,150, 5,154, 7, 18,128,226,235, 39,178,117,
-  9,131, 44, 26, 27,110, 90,160, 82, 59,214,179, 41,227, 47,132,
-  83,209, 0,237, 32,252,177, 91,106,203,190, 57, 74, 76, 88,207,
-  208,239,170,251, 67, 77, 51,133, 69,249, 2,127, 80, 60,159,168,
-  81,163, 64,143,146,157, 56,245,188,182,218, 33, 16,255,243,210,
-  205, 12, 19,236, 95,151, 68, 23,196,167,126, 61,100, 93, 25,115,
-  96,129, 79,220, 34, 42,144,136, 70,238,184, 20,222, 94, 11,219,
-  224, 50, 58, 10, 73, 6, 36, 92,194,211,172, 98,145,149,228,121,
-  231,200, 55,109,141,213, 78,169,108, 86,244,234,101,122,174, 8,
-  186,120, 37, 46, 28,166,180,198,232,221,116, 31, 75,189,139,138,
-  112, 62,181,102, 72, 3,246, 14, 97, 53, 87,185,134,193, 29,158,
-  225,248,152, 17,105,217,142,148,155, 30,135,233,206, 85, 40,223,
-  140,161,137, 13,191,230, 66,104, 65,153, 45, 15,176, 84,187, 22,
-};
-/*------- This array does the multiplication by x in GF(2^8) ------*/
-u8 Xtime[256] = {
-  0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
-  32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62,
-  64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94,
-  96, 98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,
-  128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,
-  160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,
-  192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,
-  224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,
-  27, 25, 31, 29, 19, 17, 23, 21, 11, 9, 15, 13, 3, 1, 7, 5,
-  59, 57, 63, 61, 51, 49, 55, 53, 43, 41, 47, 45, 35, 33, 39, 37,
-  91, 89, 95, 93, 83, 81, 87, 85, 75, 73, 79, 77, 67, 65, 71, 69,
-  123,121,127,125,115,113,119,117,107,105,111,109, 99, 97,103,101,
-  155,153,159,157,147,145,151,149,139,137,143,141,131,129,135,133,
-  187,185,191,189,179,177,183,181,171,169,175,173,163,161,167,165,
-  219,217,223,221,211,209,215,213,203,201,207,205,195,193,199,197,
-  251,249,255,253,243,241,247,245,235,233,239,237,227,225,231,229
-};
-/*-------------------------------------------------------------------
- * Rijndael key schedule function. Takes 16-byte key and creates
- * all Rijndael's internal subkeys ready for encryption.
- *-----------------------------------------------------------------*/
-void RijndaelKeySchedule( const u8 const key[16] )
-{
-  u8 roundConst;
-  int i, j;
-
-  printf("RijndaelKeySchedule: K %02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X\n",
-		  key[0],key[1],key[2],key[3],key[4],key[5],key[6],key[7],
-		  key[8],key[9],key[10],key[11],key[12],key[13],key[14],key[15] );
-  /* first round key equals key */
-  for (i=0; i<16; i++)
-    roundKeys[0][i & 0x03][i>>2] = key[i];
-
-  roundConst = 1;
-
-  /* now calculate round keys */
-  for (i=1; i<11; i++) {
-    roundKeys[i][0][0] = S[roundKeys[i-1][1][3]]
-                         ^ roundKeys[i-1][0][0] ^ roundConst;
-    roundKeys[i][1][0] = S[roundKeys[i-1][2][3]]
-                         ^ roundKeys[i-1][1][0];
-    roundKeys[i][2][0] = S[roundKeys[i-1][3][3]]
-                         ^ roundKeys[i-1][2][0];
-    roundKeys[i][3][0] = S[roundKeys[i-1][0][3]]
-                         ^ roundKeys[i-1][3][0];
-
-    for (j=0; j<4; j++) {
-      roundKeys[i][j][1] = roundKeys[i-1][j][1] ^ roundKeys[i][j][0];
-      roundKeys[i][j][2] = roundKeys[i-1][j][2] ^ roundKeys[i][j][1];
-      roundKeys[i][j][3] = roundKeys[i-1][j][3] ^ roundKeys[i][j][2];
-    }
-
-    /* update round constant */
-    roundConst = Xtime[roundConst];
-  }
-
-  return;
-} /* end of function RijndaelKeySchedule */
-/* Round key addition function */
-void KeyAdd(u8 state[4][4], u8 roundKeys[11][4][4], int round)
-{
-  int i, j;
-
-  for (i=0; i<4; i++)
-    for (j=0; j<4; j++)
-      state[i][j] ^= roundKeys[round][i][j];
-
-  return;
-}
-/* Byte substitution transformation */
-int ByteSub(u8 state[4][4])
-{
-  int i, j;
-
-  for (i=0; i<4; i++)
-    for (j=0; j<4; j++)
-      state[i][j] = S[state[i][j]];
-
-  return 0;
-}
-/* Row shift transformation */
-void ShiftRow(u8 state[4][4])
-{
-  u8 temp;
-  /* left rotate row 1 by 1 */
-  temp = state[1][0];
-  state[1][0] = state[1][1];
-  state[1][1] = state[1][2];
-  state[1][2] = state[1][3];
-  state[1][3] = temp;
-  /* left rotate row 2 by 2 */
-  temp = state[2][0];
-  state[2][0] = state[2][2];
-  state[2][2] = temp;
-  temp = state[2][1];
-  state[2][1] = state[2][3];
-  state[2][3] = temp;
-  /* left rotate row 3 by 3 */
-  temp = state[3][0];
-  state[3][0] = state[3][3];
-  state[3][3] = state[3][2];
-  state[3][2] = state[3][1];
-  state[3][1] = temp;
-  return;
-}
-/* MixColumn transformation*/
-void MixColumn(u8 state[4][4])
-{
-  u8 temp, tmp, tmp0;
-  int i;
-
-  /* do one column at a time */
-  for (i=0; i<4; i++) {
-    temp = state[0][i] ^ state[1][i] ^ state[2][i] ^ state[3][i];
-    tmp0 = state[0][i];
-    /* Xtime array does multiply by x in GF2^8 */
-    tmp = Xtime[state[0][i] ^ state[1][i]];
-    state[0][i] ^= temp ^ tmp;
-    tmp = Xtime[state[1][i] ^ state[2][i]];
-    state[1][i] ^= temp ^ tmp;
-    tmp = Xtime[state[2][i] ^ state[3][i]];
-    state[2][i] ^= temp ^ tmp;
-    tmp = Xtime[state[3][i] ^ tmp0];
-    state[3][i] ^= temp ^ tmp;
-  }
-
-  return;
-}
-/*-------------------------------------------------------------------
- * Rijndael encryption function. Takes 16-byte input and creates
- * 16-byte output (using round keys already derived from 16-byte
- * key).
- *-----------------------------------------------------------------*/
-void RijndaelEncrypt( const u8 const input[16], u8 output[16] )
-{
-  u8 state[4][4];
-  int i, r;
-
-  /* initialise state array from input byte string */
-  for (i=0; i<16; i++)
-    state[i & 0x3][i>>2] = input[i];
-
-  /* add first round_key */
-  KeyAdd(state, roundKeys, 0);
-
-  /* do lots of full rounds */
-  for (r=1; r<=9; r++) {
-    ByteSub(state);
-    ShiftRow(state);
-    MixColumn(state);
-    KeyAdd(state, roundKeys, r);
-  }
-
-  /* final round */
-  ByteSub(state);
-  ShiftRow(state);
-  KeyAdd(state, roundKeys, r);
-
-  /* produce output byte string from state array */
-  for (i=0; i<16; i++) {
-    output[i] = state[i & 0x3][i>>2];
-  }
-
-  return;
-} /* end of function RijndaelEncrypt */
diff --git a/openair-cn/OPENAIRHSS/auc/sequence_number.c b/openair-cn/OPENAIRHSS/auc/sequence_number.c
deleted file mode 100644
index 2f53b98be0a7f380b626c68949b653f88df8cdb3..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/auc/sequence_number.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-
-#include "auc.h"
-#include "hss_config.h"
-
-extern hss_config_t hss_config;
-extern uint8_t op[16];
-
-uint8_t *sqn_ms_derive(const uint8_t const opc[16], uint8_t *key, uint8_t *auts, uint8_t *rand_p)
-{
-  /* AUTS = Conc(SQN MS ) || MAC-S
-   * Conc(SQN MS ) = SQN MS ^ f5* (RAND)
-   * MAC-S = f1* (SQN MS || RAND || AMF)
-   */
-  uint8_t  ak[6];
-  uint8_t *conc_sqn_ms;
-  uint8_t *mac_s;
-  uint8_t  mac_s_computed[MAC_S_LENGTH];
-  uint8_t *sqn_ms;
-  uint8_t  amf[2] = { 0, 0 };
-  int i;
-
-  conc_sqn_ms = auts;
-  mac_s = &auts[6];
-
-  sqn_ms = malloc(SQN_LENGTH_OCTEST);
-
-  /*if (hss_config.valid_opc == 0) {
-    SetOP(hss_config.operator_key);
-  }*/
-
-  /* Derive AK from key and rand */
-  f5star(opc, key, rand_p, ak);
-
-  for (i = 0; i < 6; i++) {
-    sqn_ms[i] = ak[i] ^ conc_sqn_ms[i];
-  }
-
-  print_buffer("sqn_ms_derive() KEY    : ", key, 16);
-  print_buffer("sqn_ms_derive() RAND   : ", rand_p, 16);
-  print_buffer("sqn_ms_derive() AUTS   : ", auts, 14);
-  print_buffer("sqn_ms_derive() AK     : ", ak, 6);
-  print_buffer("sqn_ms_derive() SQN_MS : ", sqn_ms, 6);
-  print_buffer("sqn_ms_derive() MAC_S  : ", mac_s, 8);
-
-  f1star(opc, key, rand_p, sqn_ms, amf, mac_s_computed);
-
-  print_buffer("MAC_S +: ", mac_s_computed, 8);
-
-  if (memcmp(mac_s_computed, mac_s, 8) != 0) {
-    fprintf(stderr, "Failed to verify computed SQN_MS\n");
-    free(sqn_ms);
-    return NULL;
-  }
-
-  return sqn_ms;
-}
diff --git a/openair-cn/OPENAIRHSS/autogen.sh b/openair-cn/OPENAIRHSS/autogen.sh
deleted file mode 100755
index fccf26a61e6958ab000d0d322f2fdcfb7f23775f..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/autogen.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-autoreconf --force --install -I m4
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/conf/COPYING b/openair-cn/OPENAIRHSS/conf/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/conf/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OPENAIRHSS/conf/demoCA/COPYING b/openair-cn/OPENAIRHSS/conf/demoCA/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/conf/demoCA/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OPENAIRHSS/conf/hss.conf.in b/openair-cn/OPENAIRHSS/conf/hss.conf.in
deleted file mode 100644
index 4c5e4c7d93c3b319a17ba4e4358bcd4b432ddeed..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/conf/hss.conf.in
+++ /dev/null
@@ -1,11 +0,0 @@
-## MySQL mandatory options
-MYSQL_server = "@MYSQL_server@";
-MYSQL_user   = "@MYSQL_user@";
-MYSQL_pass   = "@MYSQL_pass@";
-MYSQL_db     = "@MYSQL_db@";
-
-## HSS options
-OPERATOR_key = "@OPERATOR_key@";
-
-## Freediameter options
-FD_conf = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss_fd.conf";
diff --git a/openair-cn/OPENAIRHSS/conf/make_certs.sh b/openair-cn/OPENAIRHSS/conf/make_certs.sh
deleted file mode 100755
index 181c49912ddddfe2bdbac595c6cdadf0cb019726..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/conf/make_certs.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-################################################################################
-#    OpenAirInterface
-#    Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#   included in this distribution in the file called "COPYING". If not,
-#   see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-
-# ARG is REALM
-# BY DEFAULT REALM IS "eur"
-
-DEFAULTREALMVALUE="eur"
-REALM=${1:-$DEFAULTREALMVALUE}
-
-rm -rf demoCA
-mkdir demoCA
-echo 01 > demoCA/serial
-touch demoCA/index.txt
-
-user=$(whoami)
-HOSTNAME=$(hostname -f)
-
-echo "Creating HSS certificate for user '$HOSTNAME'.'$REALM'"
-# 
-# # CA self certificate
-# openssl req  -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out cacert.pem -keyout cakey.pem -subj /CN=test.fr/C=FR/ST=Biot/L=Aix/O=test.fr/OU=mobiles
-# 
-# openssl genrsa -out hss.key.pem 1024
-# openssl req -new -batch -out hss.csr.pem -key hss.key.pem -subj /CN=hss.test.fr/C=FR/ST=Biot/L=Aix/O=test.fr/OU=mobiles
-# openssl ca -cert cacert.pem -keyfile cakey.pem -in hss.csr.pem -out hss.cert.pem -outdir . -batch
-
-# Create a Root Certification Authority Certificate
-openssl req  -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out hss.cacert.pem -keyout hss.cakey.pem -subj /CN=$REALM/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
-# Generate a Private Key
-openssl genrsa -out hss.key.pem 1024
-
-# Generate a CSR (Certificate Signing Request) that will be self-signed
-openssl req -new -batch -out hss.csr.pem -key hss.key.pem -subj /CN=$HOSTNAME.$REALM/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
-# Certification authority
-openssl ca -cert hss.cacert.pem -keyfile hss.cakey.pem -in hss.csr.pem -out hss.cert.pem -outdir . -batch
-
-if [ ! -d /usr/local/etc/freeDiameter ]
-then
-    echo "Creating non existing directory: /usr/local/etc/freeDiameter/"
-    sudo mkdir /usr/local/etc/freeDiameter/
-fi
-
-sudo cp -upv hss.cakey.pem hss.cert.pem hss.cacert.pem hss.key.pem /usr/local/etc/freeDiameter/
-
-# openssl genrsa -out $hss.key.pem 1024
-# openssl req -new -batch -out $hss.csr.pem -key $hss.key.pem -subj /CN=$hss.test.fr/C=FR/ST=Biot/L=Aix/O=test.fr/OU=mobiles
-# openssl ca -cert cacert.pem -keyfile cakey.pem -in $hss.csr.pem -out $hss.cert.pem -outdir . -batch
diff --git a/openair-cn/OPENAIRHSS/configure.ac b/openair-cn/OPENAIRHSS/configure.ac
deleted file mode 100644
index 3aa0f11e8a305dc1727ef6b8cc9d45c9481ec36a..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/configure.ac
+++ /dev/null
@@ -1,200 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AC_PREREQ([2.65])
-
-define([svnversion], esyscmd([sh -c "svnversion ..|tr -d '\n'"]))
-
-AC_DEFINE(SVN_REVISION, "svnversion", [SVN Revision])
-
-AC_INIT([openair-hss], [1.0.0.svnversion], [openair_admin@eurecom.fr])
-AC_CANONICAL_BUILD
-AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE([1.11 silent-rules])
-
-AC_CONFIG_MACRO_DIR([m4])
-
-AC_CONFIG_HEADERS([config.h])
-
-AM_MAINTAINER_MODE
-
-AM_SILENT_RULES([yes])
-
-PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=true], [HAVE_CHECK=false])
-AM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xtrue)
-
-AM_PROG_LEX
-AM_PROG_LIBTOOL
-
-AC_PROG_YACC
-AC_PROG_CXX
-AC_PROG_RANLIB
-
-AC_TYPE_INT8_T
-AC_TYPE_INT16_T
-AC_TYPE_INT32_T
-AC_TYPE_UINT8_T
-AC_TYPE_UINT16_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
-
-AC_CHECK_HEADERS([libintl.h malloc.h netinet/in.h stddef.h])
-
-AC_CHECK_FUNCS([memset strdup strerror])
-AC_C_INLINE
-
-AC_FUNC_ALLOCA
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
-
-dnl *** Autoconf support ***
-AC_ARG_ENABLE(autoconf,
-  [  --disable-autoconf      disable automatic generation of configure script ],
-  enable_autoconf=$enableval, enable_autoconf=yes
-)
-AC_PATH_PROG(AUTOCONF, autoconf, @echo autoconf not available)
-AC_PATH_PROG(AUTOHEADER, autoheader, @echo autoheader not available)
-if test -z "$AUTOCONF"; then enable_autoconf=no ; fi
-if test -z "$AUTOHEADER"; then enable_autoconf=no ; fi
-if test x$enable_autoconf = xyes; then
-  CONFIGURE_DEPENDS="configure.in"
-fi
-AC_SUBST(CONFIGURE_DEPENDS)
-
-AC_CHECK_LIB([mysqlclient],
-             [mysql_init],
-             [],
-             [])
-
-dnl ***freediameter support***
-AC_CHECK_LIB([fdcore], [fd_core_initialize], [],
-                [AC_MSG_ERROR(Free diameter lib not installed)])
-AC_CHECK_LIB([fdproto], [fd_core_initialize], [],
-             [AC_MSG_ERROR(Free diameter lib not installed)])
-
-dnl *** Freediameter requirements ***
-AC_CHECK_HEADERS([signalent.h])
-AC_CHECK_FUNCS([ntohll strndup])
-AC_DEFINE([HAVE_AI_ADDRCONFIG], [],
-            [Define to 1 if you have AI_ADDRCONFIG defined in netdb.h])
-AC_DEFINE([HAVE_CLOCK_GETTIME], [],
-            [Define to 1 if you have clock_gettime in librt])
-AC_DEFINE([HAVE_PTHREAD_BAR], [],
-            [Define to 1 if you have pthread_barrier_wait in libpthread])
-AC_DEFINE([SCTP_CONNECTX_4_ARGS], [],
-            [Define to 1 if sctp_connectx function accepts 4 arguments])
-AC_CHECK_LIB([rt], [clock_gettime], [AC_DEFINE(HAVE_CLOCK_GETTIME, 1)], [])
-AC_CHECK_LIB([pthread], [pthread_barrier_wait],
-                [AC_DEFINE(HAVE_PTHREAD_BAR, 1)], [])
-AC_CHECK_DECL([AI_ADDRCONFIG],
-                [AC_DEFINE(HAVE_AI_ADDRCONFIG, 1)],
-                [], [[#include <netdb.h>]])
-AC_MSG_CHECKING(if sctp_connectx accepts 4 arguments)
-AC_LINK_IFELSE([
-    AC_LANG_SOURCE(
-        [[int main() { return sctp_connectx(0, NULL, 0, NULL); }]])
-], [AC_DEFINE(SCTP_CONNECTX_4_ARGS, 1)])
-AC_CHECK_LIB([gnutls],
-                [gnutls_hash],
-                [AC_DEFINE(GNUTLS_VERSION_210, 1,
-                        [Define to 1 if you have gnutls 2.10 installed])],
-                [])
-AC_CHECK_LIB([gnutls],
-                [gnutls_x509_trust_list_verify_crt],
-                [AC_DEFINE(GNUTLS_VERSION_300, 1,
-                        [Define to 1 if you have gnutls 3.0 installed])],
-                [])
-AC_CHECK_LIB([gnutls],
-                [gnutls_handshake_set_timeout],
-                [AC_DEFINE(GNUTLS_VERSION_310, 1,
-                        [Define to 1 if you have gnutls 3.1 installed])],
-                [])
-
-AC_DEFINE(FREE_DIAMETER_MINIMUM_VERSION, "1.1.5", [freeDiameter minimum version])
-
-AC_CHECK_LIB(gmp, __gmpz_init, ,
-             [AC_MSG_ERROR([GNU MP not found, see http://gmplib.org/])])
-AC_CHECK_LIB([nettle],
-             [nettle_hmac_sha256_set_key],
-             [],
-             [AC_MSG_ERROR(nettle is not installed)])
-AC_CHECK_LIB([pthread],
-             [pthread_getspecific],
-             [],
-             [AC_MSG_ERROR(lib pthread is not installed)])
-
-AC_SUBST(ADD_CFLAGS)
-
-dnl Add these flags
-CFLAGS="$CFLAGS -Wall"
-CFLAGS="$CFLAGS -Wshadow"
-CFLAGS="$CFLAGS -Wcast-align"
-CFLAGS="$CFLAGS -Wchar-subscripts"
-CFLAGS="$CFLAGS -Wmissing-prototypes"
-CFLAGS="$CFLAGS -Wmissing-declarations"
-CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
-
-AC_C_BIGENDIAN
-if test "x$ac_cv_c_bigendian" = "xyes"; then
-    CFLAGS="$CFLAGS -DBYTE_ORDER=BIG_ENDIAN"
-else
-    CFLAGS="$CFLAGS -DBYTE_ORDER=LITTLE_ENDIAN"
-fi
-
-AC_SUBST([AM_CFLAGS])
-
-AC_ARG_ENABLE(dh_install, AS_HELP_STRING([--enable-dh-install], [Replace some variables for installation]),
-              [],
-              [])
-
-if test x$enable_dh_install == xyes; then
-    AC_SUBST(AM_CONF_DIR, $sysconfdir/openair-hss)
-else
-    AC_SUBST(AM_CONF_DIR, $srcdir/conf)
-fi
-
-AC_OUTPUT(                          \
-    conf/hss.conf                   \
-    access_restriction/Makefile     \
-    auc/Makefile                    \
-    db/Makefile                     \
-    s6a/Makefile                    \
-    utils/Makefile                  \
-    tests/Makefile                  \
-    Makefile                        \
-)
-
-echo "
-($PACKAGE_NAME) version $PACKAGE_VERSION
-Prefix.........: $prefix
-C Compiler.....: $CC $CFLAGS
-Linker.........: $LD $LDFLAGS $LIBS
-Tests..........: ${HAVE_CHECK}
-"
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/db/COPYING b/openair-cn/OPENAIRHSS/db/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/db/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OPENAIRHSS/db/Makefile.am b/openair-cn/OPENAIRHSS/db/Makefile.am
deleted file mode 100644
index cc97c37a20b4c0ab62d2a5b73cf620aae9899ce2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/db/Makefile.am
+++ /dev/null
@@ -1,40 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AM_CFLAGS = @ADD_CFLAGS@ 	\
-	-I$(top_srcdir)		\
-	-I$(top_srcdir)/s6a	\
-	-I$(top_srcdir)/utils
-
-noinst_LTLIBRARIES = libdb.la
-
-libdb_la_LDFLAGS = -all-static
-libdb_la_SOURCES = \
-	db_proto.h	db_connector.c	\
-	db_subscription_data.c	\
-	db_epc_equipment.c
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/db/db_connector.c b/openair-cn/OPENAIRHSS/db/db_connector.c
deleted file mode 100644
index f96032896ac6978afb577bd14d10daded668592c..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/db/db_connector.c
+++ /dev/null
@@ -1,702 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <pthread.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <error.h>
-#include <inttypes.h>
-
-#include <mysql/mysql.h>
-
-#include "hss_config.h"
-#include "db_proto.h"
-
-extern void ComputeOPc( const uint8_t const kP[16], const uint8_t const opP[16], uint8_t opcP[16] );
-
-
-database_t *db_desc;
-
-static void print_buffer(const char *prefix, uint8_t *buffer, int length)
-{
-  int i;
-
-  fprintf(stdout, "%s", prefix);
-
-  for (i = 0; i < length; i++) {
-    fprintf(stdout, "%02x.", buffer[i]);
-  }
-
-  fprintf(stdout, "\n");
-}
-
-int hss_mysql_connect(const hss_config_t *hss_config_p)
-{
-  const int mysql_reconnect_val = 1;
-
-  if ((hss_config_p->mysql_server == NULL) ||
-      (hss_config_p->mysql_user == NULL) ||
-      (hss_config_p->mysql_password == NULL) ||
-      (hss_config_p->mysql_database == NULL)) {
-    DB_ERROR("An empty name is not allowed\n");
-    return EINVAL;
-  }
-
-  DB_DEBUG("Initializing db layer\n");
-
-  db_desc = malloc(sizeof(database_t));
-
-  if (db_desc == NULL) {
-    DB_DEBUG("An error occured on MALLOC\n");
-    return errno;
-  }
-
-  pthread_mutex_init(&db_desc->db_cs_mutex, NULL);
-
-  /* Copy database configuration from static hss config */
-  db_desc->server   = strdup(hss_config_p->mysql_server);
-  db_desc->user     = strdup(hss_config_p->mysql_user);
-  db_desc->password = strdup(hss_config_p->mysql_password);
-  db_desc->database = strdup(hss_config_p->mysql_database);
-
-  /* Init mySQL client */
-  db_desc->db_conn = mysql_init(NULL);
-
-  mysql_options(db_desc->db_conn, MYSQL_OPT_RECONNECT, &mysql_reconnect_val);
-
-  /* Try to connect to database */
-  if (!mysql_real_connect(db_desc->db_conn, db_desc->server, db_desc->user,
-                          db_desc->password, db_desc->database, 0, NULL, 0)) {
-    DB_ERROR("An error occured while connecting to db: %s\n",
-             mysql_error(db_desc->db_conn));
-    return -1;
-  }
-
-  /* Set the multi statement ON */
-  mysql_set_server_option(db_desc->db_conn, MYSQL_OPTION_MULTI_STATEMENTS_ON);
-
-  DB_DEBUG("Initializing db layer: DONE\n");
-
-  return 0;
-}
-
-void hss_mysql_disconnect(void)
-{
-  mysql_close(db_desc->db_conn);
-}
-
-int hss_mysql_update_loc(const char *imsi, mysql_ul_ans_t *mysql_ul_ans)
-{
-  MYSQL_RES *res;
-  MYSQL_ROW row;
-  char query[1000];
-  int ret = 0;
-
-  if ((db_desc->db_conn == NULL) || (mysql_ul_ans == NULL)) {
-    return EINVAL;
-  }
-
-  if (strlen(imsi) > 15) {
-    return EINVAL;
-  }
-
-  sprintf(query, "SELECT `access_restriction`,`mmeidentity_idmmeidentity`,"
-          "`msisdn`,`ue_ambr_ul`,`ue_ambr_dl`,`rau_tau_timer` "
-          "FROM `users` WHERE `users`.`imsi`='%s' ", imsi);
-
-  memcpy(mysql_ul_ans->imsi, imsi, strlen(imsi) + 1);
-
-  DB_DEBUG("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    DB_ERROR("Query execution failed: %s\n",
-             mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  res = mysql_store_result(db_desc->db_conn);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  if ((row = mysql_fetch_row(res)) != NULL) {
-    int mme_id;
-    /* MSISDN may be NULL */
-    mysql_ul_ans->access_restriction = atoi(row[0]);
-
-    if ((mme_id = atoi(row[1])) > 0) {
-      ret = hss_mysql_query_mmeidentity(mme_id, &mysql_ul_ans->mme_identity);
-    } else {
-      mysql_ul_ans->mme_identity.mme_host[0] = '\0';
-      mysql_ul_ans->mme_identity.mme_realm[0] = '\0';
-    }
-
-    if (row[2] != 0) {
-      memcpy(mysql_ul_ans->msisdn, row[2], strlen(row[2]));
-    }
-
-    mysql_ul_ans->aggr_ul = atoi(row[3]);
-    mysql_ul_ans->aggr_dl = atoi(row[4]);
-    mysql_ul_ans->rau_tau = atoi(row[5]);
-
-    mysql_free_result(res);
-    mysql_thread_end();
-    return ret;
-  }
-
-  mysql_free_result(res);
-  mysql_thread_end();
-  return EINVAL;
-}
-
-int hss_mysql_purge_ue(mysql_pu_req_t *mysql_pu_req,
-                       mysql_pu_ans_t *mysql_pu_ans)
-{
-  MYSQL_RES *res;
-  MYSQL_ROW row;
-  char query[1000];
-  int ret = 0;
-
-  if ((db_desc->db_conn == NULL) ||
-      (mysql_pu_req == NULL) ||
-      (mysql_pu_ans == NULL)) {
-    return EINVAL;
-  }
-
-  if (strlen(mysql_pu_req->imsi) > 15) {
-    return EINVAL;
-  }
-
-  sprintf(query, "UPDATE `users` SET `users`.`ms_ps_status`=\"PURGED\" "
-          "WHERE `users`.`imsi`='%s'; "
-          "SELECT `users`.`mmeidentity_idmmeidentity` FROM `users` "
-          "WHERE `users`.`imsi`=%s ",
-          mysql_pu_req->imsi, mysql_pu_req->imsi);
-
-  DB_DEBUG("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    DB_ERROR("Query execution failed: %s\n",
-             mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  res = mysql_store_result(db_desc->db_conn);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  if ((row = mysql_fetch_row(res)) != NULL) {
-    int mme_id;
-
-    if ((mme_id = atoi(row[0])) > 0) {
-      ret = hss_mysql_query_mmeidentity(mme_id, mysql_pu_ans);
-    } else {
-      mysql_pu_ans->mme_host[0] = '\0';
-      mysql_pu_ans->mme_realm[0] = '\0';
-    }
-
-    mysql_free_result(res);
-    mysql_thread_end();
-    return ret;
-  }
-
-  mysql_free_result(res);
-  mysql_thread_end();
-  return EINVAL;
-}
-
-int hss_mysql_get_user(const char *imsi)
-{
-  MYSQL_RES *res;
-  MYSQL_ROW row;
-  char query[1000];
-
-  if (db_desc->db_conn == NULL) {
-    return EINVAL;
-  }
-
-  sprintf(query, "SELECT `imsi` FROM `users` WHERE `users`.`imsi`=%s ", imsi);
-
-  DB_DEBUG("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    DB_ERROR("Query execution failed: %s\n",
-             mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  res = mysql_store_result(db_desc->db_conn);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  if ((row = mysql_fetch_row(res)) != NULL) {
-    mysql_free_result(res);
-    mysql_thread_end();
-    return 0;
-  }
-
-  mysql_free_result(res);
-  mysql_thread_end();
-
-  return EINVAL;
-}
-
-int mysql_push_up_loc(mysql_ul_push_t *ul_push_p)
-{
-  MYSQL_RES *res;
-  char query[1000];
-  int query_length = 0;
-  int status;
-
-  if ((db_desc->db_conn == NULL) || (ul_push_p == NULL)) {
-    return EINVAL;
-  }
-
-  // TODO: multi-statement check results
-
-  if (ul_push_p->mme_identity_present == MME_IDENTITY_PRESENT) {
-    query_length += sprintf(&query[query_length], "INSERT INTO `mmeidentity`"
-                            " (`mmehost`,`mmerealm`) SELECT '%s','%s' FROM `mmeidentity` WHERE NOT"
-                            " EXISTS (SELECT * FROM `mmeidentity` WHERE `mmehost`='%s'"
-                            " AND `mmerealm`='%s') LIMIT 1;", ul_push_p->mme_identity.mme_host,
-                            ul_push_p->mme_identity.mme_realm, ul_push_p->mme_identity.mme_host,
-                            ul_push_p->mme_identity.mme_realm);
-  }
-
-  query_length += sprintf(&query[query_length], "UPDATE `users`%s SET ",
-                          ul_push_p->mme_identity_present == MME_IDENTITY_PRESENT ?
-                          ",`mmeidentity`" : "");
-
-  if (ul_push_p->imei_present == IMEI_PRESENT) {
-    query_length += sprintf(&query[query_length], "`imei`='%s',",
-                            ul_push_p->imei);
-  }
-
-  if (ul_push_p->sv_present == SV_PRESENT) {
-    query_length += sprintf(&query[query_length], "`imeisv`='%*s',", 2,
-                            ul_push_p->software_version);
-  }
-
-  if (ul_push_p->mme_identity_present == MME_IDENTITY_PRESENT) {
-    query_length += sprintf(&query[query_length],
-                            "`users`.`mmeidentity_idmmeidentity`=`mmeidentity`.`idmmeidentity`, "
-                            "`users`.`ms_ps_status`=\"NOT_PURGED\"");
-  }
-
-  query_length += sprintf(&query[query_length], " WHERE `users`.`imsi`='%s'",
-                          ul_push_p->imsi);
-
-  if (ul_push_p->mme_identity_present == MME_IDENTITY_PRESENT) {
-    query_length += sprintf(&query[query_length],
-                            " AND `mmeidentity`.`mmehost`='%s'"
-                            " AND `mmeidentity`.`mmerealm`='%s'",
-                            ul_push_p->mme_identity.mme_host, ul_push_p->mme_identity.mme_realm);
-  }
-
-  DB_DEBUG("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    fprintf(stderr, "Query execution failed: %s\n",
-            mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  /* process each statement result */
-  do {
-    /* did current statement return data? */
-    res = mysql_store_result(db_desc->db_conn);
-
-    if (res) {
-      /* yes; process rows and free the result set */
-      mysql_free_result(res);
-    } else {      /* no result set or error */
-      if (mysql_field_count(db_desc->db_conn) == 0) {
-        DB_ERROR("%lld rows affected\n",
-                 mysql_affected_rows(db_desc->db_conn));
-      } else { /* some error occurred */
-        DB_ERROR("Could not retrieve result set\n");
-        break;
-      }
-    }
-
-    /* more results? -1 = no, >0 = error, 0 = yes (keep looping) */
-    if ((status = mysql_next_result(db_desc->db_conn)) > 0)
-      DB_ERROR("Could not execute statement\n");
-  } while (status == 0);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  mysql_free_result(res);
-  mysql_thread_end();
-
-  return 0;
-}
-
-int hss_mysql_push_rand_sqn(const char *imsi, uint8_t *rand_p, uint8_t *sqn)
-{
-  int status = 0, i;
-  MYSQL_RES *res;
-  char query[1000];
-  int query_length = 0;
-  uint64_t sqn_decimal = 0;
-
-  if (db_desc->db_conn == NULL) {
-    return EINVAL;
-  }
-
-  if (rand_p == NULL || sqn == NULL) {
-    return EINVAL;
-  }
-
-  sqn_decimal = ((uint64_t)sqn[0] << 40) | ((uint64_t)sqn[1] << 32) |
-                ((uint64_t)sqn[2] << 24) | (sqn[3] << 16) |
-                (sqn[4] << 8) | sqn[5];
-
-  query_length = sprintf(query, "UPDATE `users` SET `rand`=UNHEX('");
-
-  for (i = 0; i < RAND_LENGTH; i ++) {
-    query_length += sprintf(&query[query_length], "%02x", rand_p[i]);
-  }
-
-  query_length += sprintf(&query[query_length], "'),`sqn`=%"PRIu64, sqn_decimal);
-  query_length += sprintf(&query[query_length], " WHERE `users`.`imsi`='%s'", imsi);
-
-  DB_DEBUG("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    DB_ERROR("Query execution failed: %s\n",
-             mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  /* process each statement result */
-  do {
-    /* did current statement return data? */
-    res = mysql_store_result(db_desc->db_conn);
-
-    if (res) {
-      /* yes; process rows and free the result set */
-      mysql_free_result(res);
-    } else {      /* no result set or error */
-      if (mysql_field_count(db_desc->db_conn) == 0) {
-        DB_ERROR("%lld rows affected\n",
-                 mysql_affected_rows(db_desc->db_conn));
-      } else { /* some error occurred */
-        DB_ERROR("Could not retrieve result set\n");
-        break;
-      }
-    }
-
-    /* more results? -1 = no, >0 = error, 0 = yes (keep looping) */
-    if ((status = mysql_next_result(db_desc->db_conn)) > 0)
-      DB_ERROR("Could not execute statement\n");
-  } while (status == 0);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  mysql_free_result(res);
-  mysql_thread_end();
-
-  return 0;
-}
-
-int hss_mysql_increment_sqn(const char *imsi)
-{
-  int status;
-  MYSQL_RES *res;
-  char query[1000];
-
-  if (db_desc->db_conn == NULL) {
-    return EINVAL;
-  }
-
-  if (imsi == NULL) {
-    return EINVAL;
-  }
-
-  /* + 32 = 2 ^ sizeof(IND) (see 3GPP TS. 33.102) */
-  sprintf(query, "UPDATE `users` SET `sqn` = `sqn` + 32 WHERE `users`.`imsi`=%s", imsi);
-
-  DB_DEBUG("Query: %s\n", query);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    DB_ERROR("Query execution failed: %s\n",
-             mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  /* process each statement result */
-  do {
-    /* did current statement return data? */
-    res = mysql_store_result(db_desc->db_conn);
-
-    if (res) {
-      /* yes; process rows and free the result set */
-      mysql_free_result(res);
-    } else {      /* no result set or error */
-      if (mysql_field_count(db_desc->db_conn) == 0) {
-        DB_ERROR("%lld rows affected\n",
-                 mysql_affected_rows(db_desc->db_conn));
-      } else { /* some error occurred */
-        DB_ERROR("Could not retrieve result set\n");
-        break;
-      }
-    }
-
-    /* more results? -1 = no, >0 = error, 0 = yes (keep looping) */
-    if ((status = mysql_next_result(db_desc->db_conn)) > 0)
-      DB_ERROR("Could not execute statement\n");
-  } while (status == 0);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  mysql_free_result(res);
-  mysql_thread_end();
-
-  return 0;
-}
-
-int hss_mysql_auth_info(mysql_auth_info_req_t  *auth_info_req,
-                        mysql_auth_info_resp_t *auth_info_resp)
-{
-  int ret = 0;
-  MYSQL_RES *res;
-  MYSQL_ROW row;
-  char query[1000];
-
-  if (db_desc->db_conn == NULL) {
-    return EINVAL;
-  }
-
-  if ((auth_info_req == NULL) || (auth_info_resp == NULL)) {
-    return EINVAL;
-  }
-
-  sprintf(query, "SELECT `key`,`sqn`,`rand`,`OPc` FROM `users` WHERE `users`.`imsi`=%s ",
-          auth_info_req->imsi);
-
-  DB_DEBUG("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    DB_ERROR("Query execution failed: %s\n",
-             mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  res = mysql_store_result(db_desc->db_conn);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  if ((row = mysql_fetch_row(res)) != NULL) {
-    if (row[0] == NULL || row[1] == NULL || row[2] == NULL || row[3] == NULL) {
-      ret = EINVAL;
-    }
-
-    if (row[0] != NULL) {
-      print_buffer("Key: ", (uint8_t*)row[0], KEY_LENGTH);
-      memcpy(auth_info_resp->key, row[0], KEY_LENGTH);
-    }
-
-    if (row[1] != NULL) {
-      uint64_t sqn = 0;
-
-      sqn = atoll(row[1]);
-      printf("Received SQN %s converted to %"PRIu64"\n", row[1], sqn);
-
-      auth_info_resp->sqn[0] = (sqn & (255UL << 40)) >> 40;
-      auth_info_resp->sqn[1] = (sqn & (255UL << 32)) >> 32;
-      auth_info_resp->sqn[2] = (sqn & (255UL << 24)) >> 24;
-      auth_info_resp->sqn[3] = (sqn & (255UL << 16)) >> 16;
-      auth_info_resp->sqn[4] = (sqn & (255UL << 8)) >> 8;
-      auth_info_resp->sqn[5] = (sqn & 0xFF);
-
-      print_buffer("SQN: ", auth_info_resp->sqn, SQN_LENGTH);
-    }
-
-    if (row[2] != NULL) {
-      print_buffer("RAND: ", (uint8_t*)row[2], RAND_LENGTH);
-      memcpy(auth_info_resp->rand, row[2], RAND_LENGTH);
-    }
-
-    if (row[3] != NULL) {
-        print_buffer("OPc: ", (uint8_t*)row[3], KEY_LENGTH);
-        memcpy(auth_info_resp->opc, row[3], KEY_LENGTH);
-    }
-
-    mysql_free_result(res);
-    mysql_thread_end();
-    return ret;
-  }
-
-  mysql_free_result(res);
-  mysql_thread_end();
-
-  return EINVAL;
-}
-
-int hss_mysql_check_opc_keys(const uint8_t const opP[16])
-{
-  int        ret   = 0;
-  MYSQL_RES *res   = NULL;
-  MYSQL_RES *res2  = NULL;
-  MYSQL_ROW  row;
-  char       query[1000];
-  char       update[1000];
-  uint8_t    k[16];
-  uint8_t    opc[16];
-  int        update_length = 0;
-  int        status        = 0;
-  int        i;
-
-  if (db_desc->db_conn == NULL) {
-	return EINVAL;
-  }
-
-  sprintf(query, "SELECT `imsi`,`key`,`OPc` FROM `users` ");
-
-  DB_DEBUG("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-	pthread_mutex_unlock(&db_desc->db_cs_mutex);
-	DB_ERROR("Query execution failed: %s\n",
-			 mysql_error(db_desc->db_conn));
-	mysql_thread_end();
-	return EINVAL;
-  }
-
-  res = mysql_store_result(db_desc->db_conn);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-
-  while ((row = mysql_fetch_row(res))) {
-    if (row[0] == NULL || row[1] == NULL ) {
-      DB_ERROR("Query execution failed: %s\n",
-    				 mysql_error(db_desc->db_conn));
-      ret = EINVAL;
-    } else {
-	  if (row[0] != NULL) {
-	    printf("IMSI: %s", (uint8_t*)row[0]);
-	  }
-	  if (row[1] != NULL) {
-	    print_buffer("Key: ", (uint8_t*)row[1], KEY_LENGTH);
-        memcpy(k, row[1], KEY_LENGTH);
-      }
-	  //if (row[3] != NULL)
-	  {
-	    print_buffer("OPc: ", (uint8_t*)row[2], KEY_LENGTH);
-	  //} else {
-	    ComputeOPc( k, opP, opc);
-	    update_length = sprintf(update, "UPDATE `users` SET `OPc`=UNHEX('");
-	    for (i = 0; i < KEY_LENGTH; i ++) {
-	    	update_length += sprintf(&update[update_length], "%02x", opc[i]);
-	    }
-	    update_length += sprintf(&update[update_length], "') WHERE `users`.`imsi`='%s'", (uint8_t*)row[0]);
-	    DB_DEBUG("Query: %s\n", update);
-
-	    if (mysql_query(db_desc->db_conn, update)) {
-	      DB_ERROR("Query execution failed: %s\n",
-	               mysql_error(db_desc->db_conn));
-	    } else {
-	        printf("IMSI %s Updated OPc ", (uint8_t*)row[0]);
-		    for (i = 0; i < KEY_LENGTH; i ++) {
-		    	printf("%02x", (uint8_t)(row[2][i]));
-		    }
-	        printf(" -> ");
-		    for (i = 0; i < KEY_LENGTH; i ++) {
-		    	printf("%02x", opc[i]);
-		    }
-	        printf("\n");
-
-	      /* process each statement result */
-	      do {
-	        /* did current statement return data? */
-	        res2 = mysql_store_result(db_desc->db_conn);
-
-	        if (res2) {
-	          /* yes; process rows and free the result set */
-	          mysql_free_result(res2);
-	        } else {      /* no result set or error */
-	          if (mysql_field_count(db_desc->db_conn) == 0) {
-	            DB_ERROR("%lld rows affected\n",
-	                   mysql_affected_rows(db_desc->db_conn));
-	          } else { /* some error occurred */
-	            DB_ERROR("Could not retrieve result set\n");
-	            break;
-	          }
-	        }
-
-	        /* more results? -1 = no, >0 = error, 0 = yes (keep looping) */
-	        if ((status = mysql_next_result(db_desc->db_conn)) > 0)
-	          DB_ERROR("Could not execute statement\n");
-	      } while (status == 0);
-	    }
-	  }
-    }
-  }
-
-  mysql_free_result(res);
-  mysql_thread_end();
-
-  return ret;
-
-}
-
-
diff --git a/openair-cn/OPENAIRHSS/db/db_epc_equipment.c b/openair-cn/OPENAIRHSS/db/db_epc_equipment.c
deleted file mode 100644
index 8b6c430e7c92c4e3590cedaec9c6b4f163c19506..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/db/db_epc_equipment.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <pthread.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <error.h>
-
-#include <mysql/mysql.h>
-
-#include "hss_config.h"
-#include "db_proto.h"
-
-int hss_mysql_query_mmeidentity(const int id_mme_identity,
-                                mysql_mme_identity_t *mme_identity_p)
-{
-  MYSQL_RES *res;
-  MYSQL_ROW row;
-  char query[1000];
-
-  if ((db_desc->db_conn == NULL) || (mme_identity_p == NULL)) {
-    return EINVAL;
-  }
-
-  memset(mme_identity_p, 0, sizeof(mysql_mme_identity_t));
-
-  sprintf(query, "SELECT mmehost,mmerealm FROM mmeidentity WHERE "
-          "mmeidentity.idmmeidentity='%d' ", id_mme_identity);
-
-  DB_DEBUG("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    DB_ERROR("Query execution failed: %s\n",
-             mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  res = mysql_store_result(db_desc->db_conn);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  if ((row = mysql_fetch_row(res)) != NULL) {
-    if (row[0] != NULL) {
-      memcpy(mme_identity_p->mme_host, row[0], strlen(row[0]));
-    } else {
-      mme_identity_p->mme_host[0] = '\0';
-    }
-
-    if (row[1] != NULL) {
-      memcpy(mme_identity_p->mme_realm, row[1], strlen(row[1]));
-    } else {
-      mme_identity_p->mme_realm[0] = '\0';
-    }
-
-    mysql_free_result(res);
-    mysql_thread_end();
-    return 0;
-  }
-
-  mysql_free_result(res);
-  mysql_thread_end();
-  return EINVAL;
-}
-
-int hss_mysql_check_epc_equipment(mysql_mme_identity_t *mme_identity_p)
-{
-  MYSQL_RES *res;
-  MYSQL_ROW row;
-  char query[1000];
-
-  if ((db_desc->db_conn == NULL) || (mme_identity_p == NULL)) {
-    return EINVAL;
-  }
-
-  sprintf(query, "SELECT idmmeidentity FROM mmeidentity WHERE mmeidentity.mmehost='%s' ",
-          mme_identity_p->mme_host);
-
-  DB_DEBUG("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    DB_ERROR("Query execution failed: %s\n",
-             mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  res = mysql_store_result(db_desc->db_conn);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  if ((row = mysql_fetch_row(res)) != NULL) {
-    mysql_free_result(res);
-    mysql_thread_end();
-    return 0;
-  }
-
-  mysql_free_result(res);
-  mysql_thread_end();
-  return EINVAL;
-}
diff --git a/openair-cn/OPENAIRHSS/db/db_proto.h b/openair-cn/OPENAIRHSS/db/db_proto.h
deleted file mode 100644
index d87ed461e59fb66f8c6528828cb0bb5eeddea0c0..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/db/db_proto.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdio.h>
-#include <stdint.h>
-#include <pthread.h>
-#include <mysql/mysql.h>
-
-#include <netinet/in.h> /* To provide internet addresses strings helpers */
-
-#ifndef DB_PROTO_H_
-#define DB_PROTO_H_
-
-#define DB_DEBUG(fmt, args...) fprintf(stdout, "%s:%d: "fmt, __FILE__, __LINE__, ##args)
-#define DB_ERROR(fmt, args...) fprintf(stderr, "%s:%d: "fmt, __FILE__, __LINE__, ##args)
-
-typedef struct {
-  /* The mysql reference connector object */
-  MYSQL *db_conn;
-  char  *server;
-  char  *user;
-  char  *password;
-  char  *database;
-
-  pthread_mutex_t db_cs_mutex;
-} database_t;
-
-extern database_t *db_desc;
-
-typedef uint32_t pre_emp_vul_t;
-typedef uint32_t pre_emp_cap_t;
-typedef uint8_t  access_restriction_t;
-typedef uint32_t ambr_t;
-typedef uint8_t  qci_t;
-typedef uint8_t  prio_level_t;
-typedef uint32_t rau_tau_t;
-
-#define IMSI_LENGTH_MAX (15)
-
-typedef struct {
-  char imsi[IMSI_LENGTH_MAX + 1];
-} mysql_auth_info_req_t;
-
-/* Expressed in bytes */
-#define KEY_LENGTH  (16)
-#define SQN_LENGTH  (6)
-#define RAND_LENGTH (16)
-
-typedef struct mysql_auth_info_resp_s{
-  uint8_t key[KEY_LENGTH];
-  uint8_t sqn[SQN_LENGTH];
-  /* RAND should not be here... */
-  uint8_t rand[RAND_LENGTH];
-  uint8_t opc[KEY_LENGTH];
-} mysql_auth_info_resp_t;
-
-typedef struct mysql_opc_push_s{
-  char imsi[IMSI_LENGTH_MAX + 1];
-  /* New computed SQN that will be used on next auth info req */
-  uint8_t sqn[SQN_LENGTH];
-} mysql_opc_push_t;
-
-typedef struct mysql_sqn_push_s{
-  char imsi[IMSI_LENGTH_MAX + 1];
-  /* New computed SQN that will be used on next auth info req */
-  uint8_t sqn[SQN_LENGTH];
-} mysql_sqn_push_t;
-
-typedef struct mysql_mme_identity_s{
-  /* An MME may have already been registered as serving the UE. */
-  char mme_host[255];
-  char mme_realm[200];
-} mysql_mme_identity_t;
-
-typedef struct mysql_ul_ans_s{
-  char imsi[16];
-  /* MSISDN this parameter may be NULL */
-  char msisdn[16];
-
-  /* Maximum aggregated bitrates for the user */
-  ambr_t aggr_ul;
-  ambr_t aggr_dl;
-
-  /* Subscribed RAU-TAU timer */
-  rau_tau_t rau_tau;
-
-  access_restriction_t access_restriction;
-  mysql_mme_identity_t mme_identity;
-} mysql_ul_ans_t;
-
-typedef struct mysql_ul_push_s{
-  /* Bit masks indicating presence of optional fields */
-#define MME_IDENTITY_PRESENT           (0x1)
-#define MME_SUPPORTED_FEATURES_PRESENT (0x1)
-#define IMEI_PRESENT                   (0x1)
-#define SV_PRESENT                     (0x1)
-#define UE_SRVCC_PRESENT               (0x1)
-
-  unsigned mme_identity_present:1;
-  unsigned mme_supported_features_present:1;
-  unsigned imei_present:1;
-  unsigned sv_present:1;
-  unsigned ue_srvcc_present:1;
-
-  /* IMSI */
-  char imsi[16];
-  /* Origin host and realm */
-  mysql_mme_identity_t mme_identity;
-  /* IMEISV */
-  char imei[16];
-  char software_version[2];
-
-  uint32_t ue_srvcc;
-  uint32_t mme_supported_features;
-} mysql_ul_push_t;
-
-typedef enum {
-  IPV4         = 0,
-  IPV6         = 1,
-  IPV4V6       = 2,
-  IPV4_OR_IPV6 = 3,
-} pdn_type_t;
-
-typedef struct pdn_address_s{
-  char ipv4_address[INET_ADDRSTRLEN];
-  char ipv6_address[INET6_ADDRSTRLEN];
-} pdn_address_t;
-
-typedef struct mysql_pdn_s{
-  char          apn[61];
-  pdn_type_t    pdn_type;
-  pdn_address_t pdn_address;
-  ambr_t        aggr_ul;
-  ambr_t        aggr_dl;
-  qci_t         qci;
-  prio_level_t  priority_level;
-  pre_emp_cap_t pre_emp_cap;
-  pre_emp_vul_t pre_emp_vul;
-} mysql_pdn_t;
-
-typedef struct mysql_pu_req_s{
-  /* IMSI */
-  char imsi[16];
-} mysql_pu_req_t;
-
-typedef mysql_mme_identity_t mysql_pu_ans_t;
-
-int hss_mysql_connect(const hss_config_t *hss_config_p);
-
-void hss_mysql_disconnect(void);
-
-int hss_mysql_get_user(const char *imsi);
-
-int hss_mysql_update_loc(const char *imsi, mysql_ul_ans_t *mysql_ul_ans);
-
-int hss_mysql_query_mmeidentity(const int id_mme_identity,
-                                mysql_mme_identity_t *mme_identity_p);
-
-int hss_mysql_check_epc_equipment(mysql_mme_identity_t *mme_identity_p);
-
-int mysql_push_up_loc(mysql_ul_push_t *ul_push_p);
-
-int hss_mysql_purge_ue(mysql_pu_req_t *mysql_pu_req,
-                       mysql_pu_ans_t *mysql_pu_ans);
-
-int hss_mysql_query_pdns(const char   *imsi,
-                         mysql_pdn_t **pdns_p,
-                         uint8_t      *nb_pdns);
-
-int hss_mysql_auth_info(mysql_auth_info_req_t  *auth_info_req,
-                        mysql_auth_info_resp_t *auth_info_resp);
-
-int hss_mysql_push_rand_sqn(const char *imsi, uint8_t *rand_p, uint8_t *sqn);
-
-int hss_mysql_increment_sqn(const char *imsi);
-
-int hss_mysql_check_opc_keys(const uint8_t const opP[16]);
-
-
-#endif /* DB_PROTO_H_ */
diff --git a/openair-cn/OPENAIRHSS/db/db_subscription_data.c b/openair-cn/OPENAIRHSS/db/db_subscription_data.c
deleted file mode 100644
index dc06a011a8f0ba6e9aca5637dc87c211bb8917db..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/db/db_subscription_data.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <pthread.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <error.h>
-
-#include <mysql/mysql.h>
-
-#include "hss_config.h"
-#include "db_proto.h"
-
-int hss_mysql_query_pdns(const char   *imsi,
-                         mysql_pdn_t **pdns_p,
-                         uint8_t      *nb_pdns)
-{
-  int          ret;
-  MYSQL_RES   *res = NULL;
-  MYSQL_ROW    row;
-  char         query[1000];
-  mysql_pdn_t *pdn_array = NULL;
-
-  if (db_desc->db_conn == NULL) {
-    return EINVAL;
-  }
-
-  if (nb_pdns == NULL || pdns_p == NULL) {
-    return EINVAL;
-  }
-
-  sprintf(query, "SELECT * FROM `pdn` WHERE "
-          "`pdn`.`users_imsi`=%s LIMIT 10; ", imsi);
-
-  printf("Query: %s\n", query);
-
-  pthread_mutex_lock(&db_desc->db_cs_mutex);
-
-  if (mysql_query(db_desc->db_conn, query)) {
-    pthread_mutex_unlock(&db_desc->db_cs_mutex);
-    fprintf(stderr, "Query execution failed: %s\n",
-            mysql_error(db_desc->db_conn));
-    mysql_thread_end();
-    return EINVAL;
-  }
-
-  res = mysql_store_result(db_desc->db_conn);
-
-  pthread_mutex_unlock(&db_desc->db_cs_mutex);
-
-  *nb_pdns = 0;
-
-  while ((row = mysql_fetch_row(res)) != NULL) {
-    mysql_pdn_t *pdn_elm;   /* Local PDN element in array */
-    unsigned long *lengths;
-
-    lengths = mysql_fetch_lengths(res);
-
-    *nb_pdns += 1;
-
-    if (*nb_pdns == 1) {
-      /* First row, must malloc */
-      pdn_array = malloc(sizeof(mysql_pdn_t));
-    } else {
-      pdn_array = realloc(pdn_array, *nb_pdns * sizeof(mysql_pdn_t));
-    }
-
-    if (pdn_array == NULL) {
-      /* Error on malloc */
-      ret = ENOMEM;
-      goto err;
-    }
-
-    pdn_elm = &pdn_array[*nb_pdns - 1];
-    /* Copying the APN */
-    memset(pdn_elm, 0, sizeof(mysql_pdn_t));
-    memcpy(pdn_elm->apn, row[1], lengths[1]);
-
-    /* PDN Type + PDN address */
-    if (strcmp(row[2], "IPv6") == 0) {
-      pdn_elm->pdn_type = IPV6;
-      memcpy(pdn_elm->pdn_address.ipv6_address, row[4], lengths[4]);
-      pdn_elm->pdn_address.ipv6_address[lengths[4]] = '\0';
-    } else if (strcmp(row[2], "IPv4v6") == 0) {
-      pdn_elm->pdn_type = IPV4V6;
-      memcpy(pdn_elm->pdn_address.ipv4_address, row[3], lengths[3]);
-      pdn_elm->pdn_address.ipv4_address[lengths[3]] = '\0';
-      memcpy(pdn_elm->pdn_address.ipv6_address, row[4], lengths[4]);
-      pdn_elm->pdn_address.ipv6_address[lengths[4]] = '\0';
-    } else if (strcmp(row[2], "IPv4_or_IPv6") == 0) {
-      pdn_elm->pdn_type = IPV4_OR_IPV6;
-      memcpy(pdn_elm->pdn_address.ipv4_address, row[3], lengths[3]);
-      pdn_elm->pdn_address.ipv4_address[lengths[3]] = '\0';
-      memcpy(pdn_elm->pdn_address.ipv6_address, row[4], lengths[4]);
-      pdn_elm->pdn_address.ipv6_address[lengths[4]] = '\0';
-    } else {
-      pdn_elm->pdn_type = IPV4;
-      memcpy(pdn_elm->pdn_address.ipv4_address, row[3], lengths[3]);
-      pdn_elm->pdn_address.ipv4_address[lengths[3]] = '\0';
-    }
-
-    pdn_elm->aggr_ul = atoi(row[5]);
-    pdn_elm->aggr_dl = atoi(row[6]);
-    pdn_elm->qci     = atoi(row[9]);
-    pdn_elm->priority_level = atoi(row[10]);
-
-    if (strcmp(row[11], "ENABLED") == 0) {
-      pdn_elm->pre_emp_cap = 0;
-    } else {
-      pdn_elm->pre_emp_cap = 1;
-    }
-
-    if (strcmp(row[12], "DISABLED") == 0) {
-      pdn_elm->pre_emp_vul = 1;
-    } else {
-      pdn_elm->pre_emp_vul = 0;
-    }
-  }
-
-  mysql_free_result(res);
-  mysql_thread_end();
-
-  /* We did not find any APN for the requested IMSI */
-  if (*nb_pdns == 0) {
-    return EINVAL;
-  } else {
-    *pdns_p = pdn_array;
-    return 0;
-  }
-
-err:
-
-  if (pdn_array) {
-    free(pdn_array);
-  }
-
-  pdn_array = NULL;
-  *pdns_p = pdn_array;
-  *nb_pdns = 0;
-  mysql_free_result(res);
-  mysql_thread_end();
-  return ret;
-}
diff --git a/openair-cn/OPENAIRHSS/db/oai_db.sql b/openair-cn/OPENAIRHSS/db/oai_db.sql
deleted file mode 100644
index c763ce4afbd5166901ebd0d45226abe6edd4d055..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/db/oai_db.sql
+++ /dev/null
@@ -1,175 +0,0 @@
--- phpMyAdmin SQL Dump
--- version 4.0.10deb1
--- http://www.phpmyadmin.net
---
--- Host: localhost
--- Generation Time: May 28, 2015 at 02:32 PM
--- Server version: 5.5.43-0ubuntu0.14.04.1
--- PHP Version: 5.5.9-1ubuntu4.9
-
-SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
-SET time_zone = "+00:00";
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-
---
--- Database: `oai_db`
---
-
--- --------------------------------------------------------
-
---
--- Table structure for table `apn`
---
-
-CREATE TABLE IF NOT EXISTS `apn` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `apn-name` varchar(60) NOT NULL,
-  `pdn-type` enum('IPv4','IPv6','IPv4v6','IPv4_or_IPv6') NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `apn-name` (`apn-name`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `mmeidentity`
---
-
-CREATE TABLE IF NOT EXISTS `mmeidentity` (
-  `idmmeidentity` int(11) NOT NULL AUTO_INCREMENT,
-  `mmehost` varchar(255) DEFAULT NULL,
-  `mmerealm` varchar(200) DEFAULT NULL,
-  `UE-Reachability` tinyint(1) NOT NULL COMMENT 'Indicates whether the MME supports UE Reachability Notifcation',
-  PRIMARY KEY (`idmmeidentity`)
-) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=43 ;
-
---
--- Dumping data for table `mmeidentity`
---
-
-INSERT INTO `mmeidentity` (`idmmeidentity`, `mmehost`, `mmerealm`, `UE-Reachability`) VALUES
-(2, 'yang.openair4G.eur', 'openair4G.eur', 0),
-(1, 'ng40-erc.openair4G.eur', 'openair4G.eur', 0);
-
--- --------------------------------------------------------
-
---
--- Table structure for table `pdn`
---
-
-CREATE TABLE IF NOT EXISTS `pdn` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `apn` varchar(60) NOT NULL,
-  `pdn_type` enum('IPv4','IPv6','IPv4v6','IPv4_or_IPv6') NOT NULL DEFAULT 'IPv4',
-  `pdn_ipv4` varchar(15) DEFAULT '0.0.0.0',
-  `pdn_ipv6` varchar(45) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT '0:0:0:0:0:0:0:0',
-  `aggregate_ambr_ul` int(10) unsigned DEFAULT '50000000',
-  `aggregate_ambr_dl` int(10) unsigned DEFAULT '100000000',
-  `pgw_id` int(11) NOT NULL,
-  `users_imsi` varchar(15) NOT NULL,
-  `qci` tinyint(3) unsigned NOT NULL DEFAULT '9',
-  `priority_level` tinyint(3) unsigned NOT NULL DEFAULT '15',
-  `pre_emp_cap` enum('ENABLED','DISABLED') DEFAULT 'DISABLED',
-  `pre_emp_vul` enum('ENABLED','DISABLED') DEFAULT 'DISABLED',
-  `LIPA-Permissions` enum('LIPA-prohibited','LIPA-only','LIPA-conditional') NOT NULL DEFAULT 'LIPA-only',
-  PRIMARY KEY (`id`,`pgw_id`,`users_imsi`),
-  KEY `fk_pdn_pgw1_idx` (`pgw_id`),
-  KEY `fk_pdn_users1_idx` (`users_imsi`)
-) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=36 ;
-
---
--- Dumping data for table `pdn`
---
-
-INSERT INTO `pdn` (`id`, `apn`, `pdn_type`, `pdn_ipv4`, `pdn_ipv6`, `aggregate_ambr_ul`, `aggregate_ambr_dl`, `pgw_id`, `users_imsi`, `qci`, `priority_level`, `pre_emp_cap`, `pre_emp_vul`, `LIPA-Permissions`) VALUES
-(1, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '208930000000001', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only'),
-(11, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '20834123456789', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only'),
-(10, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '20810000001234', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only'),
-(12, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '31002890832150', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only'),
-(2, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '208950000000002', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only'),
-(3, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '001010123456789', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only');
-
--- --------------------------------------------------------
-
---
--- Table structure for table `pgw`
---
-
-CREATE TABLE IF NOT EXISTS `pgw` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `ipv4` varchar(15) NOT NULL,
-  `ipv6` varchar(39) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `ipv4` (`ipv4`),
-  UNIQUE KEY `ipv6` (`ipv6`)
-) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
-
---
--- Dumping data for table `pgw`
---
-
-INSERT INTO `pgw` (`id`, `ipv4`, `ipv6`) VALUES
-(1, '127.0.0.1', '0:0:0:0:0:0:0:1'),
-(2, '192.168.56.101', ''),
-(3, '10.0.0.2', '0');
-
--- --------------------------------------------------------
-
---
--- Table structure for table `terminal-info`
---
-
-CREATE TABLE IF NOT EXISTS `terminal-info` (
-  `imei` varchar(15) NOT NULL,
-  `sv` varchar(2) NOT NULL,
-  UNIQUE KEY `imei` (`imei`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `users`
---
-
-CREATE TABLE IF NOT EXISTS `users` (
-  `imsi` varchar(15) NOT NULL COMMENT 'IMSI is the main reference key.',
-  `msisdn` varchar(46) DEFAULT NULL COMMENT 'The basic MSISDN of the UE (Presence of MSISDN is optional).',
-  `imei` varchar(15) DEFAULT NULL COMMENT 'International Mobile Equipment Identity',
-  `imei_sv` varchar(2) DEFAULT NULL COMMENT 'International Mobile Equipment Identity Software Version Number',
-  `ms_ps_status` enum('PURGED','NOT_PURGED') DEFAULT 'PURGED' COMMENT 'Indicates that ESM and EMM status are purged from MME',
-  `rau_tau_timer` int(10) unsigned DEFAULT '120',
-  `ue_ambr_ul` bigint(20) unsigned DEFAULT '50000000' COMMENT 'The Maximum Aggregated uplink MBRs to be shared across all Non-GBR bearers according to the subscription of the user.',
-  `ue_ambr_dl` bigint(20) unsigned DEFAULT '100000000' COMMENT 'The Maximum Aggregated downlink MBRs to be shared across all Non-GBR bearers according to the subscription of the user.',
-  `access_restriction` int(10) unsigned DEFAULT '60' COMMENT 'Indicates the access restriction subscription information. 3GPP TS.29272 #7.3.31',
-  `mme_cap` int(10) unsigned zerofill DEFAULT NULL COMMENT 'Indicates the capabilities of the MME with respect to core functionality e.g. regional access restrictions.',
-  `mmeidentity_idmmeidentity` int(11) NOT NULL DEFAULT '0',
-  `key` varbinary(16) NOT NULL DEFAULT '0' COMMENT 'UE security key',
-  `RFSP-Index` smallint(5) unsigned NOT NULL DEFAULT '1' COMMENT 'An index to specific RRM configuration in the E-UTRAN. Possible values from 1 to 256',
-  `urrp_mme` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'UE Reachability Request Parameter indicating that UE activity notification from MME has been requested by the HSS.',
-  `sqn` bigint(20) unsigned zerofill NOT NULL,
-  `rand` varbinary(16) NOT NULL,
-  `OPc` varbinary(16) DEFAULT NULL COMMENT 'Can be computed by HSS',
-  PRIMARY KEY (`imsi`,`mmeidentity_idmmeidentity`),
-  KEY `fk_users_mmeidentity_idx1` (`mmeidentity_idmmeidentity`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `users`
---
-
-INSERT INTO `users` (`imsi`, `msisdn`, `imei`, `imei_sv`, `ms_ps_status`, `rau_tau_timer`, `ue_ambr_ul`, `ue_ambr_dl`, `access_restriction`, `mme_cap`, `mmeidentity_idmmeidentity`, `key`, `RFSP-Index`, `urrp_mme`, `sqn`, `rand`, `OPc`) VALUES
-('20834123456789', '380561234567', '12345678', '23', 'PURGED', 50, 40000000, 100000000, 47, 0000000000, 2, '+ÖEŸ‚ų\0•,IHÿH', 0, 0, 00000000000000000096, 'Px¼X \Z1¡Éx™ß', 'g퐐jS+Aq„‘§6Y'),
-('20810000001234', '33611123456', NULL, NULL, 'PURGED', 120, 40000000, 100000000, 47, 0000000000, 2, '‹¯G?/Ð”‡ÌË×	|hb', 1, 0, 00000281454575616097, 'sËÚæ$r®C¹f‰=:¾xÞ', 'Ž''¶¯i.u2fz;`]'),
-('31002890832150', '33638060059', '35611302209414', NULL, 'PURGED', 120, 40000000, 100000000, 47, 0000000000, 2, '‹¯G?/Ð”‡ÌË×	|hb', 1, 0, 00000000000000012416, '`ÏF®Ý†ôéD¢¼Ï›‰Á¼', 'Ž''¶¯i.u2fz;`]'),
-('001010123456789', '33600101789', NULL, NULL, 'PURGED', 120, 50000000, 100000000, 47, 0000000000, 2, '\0	\n\r', 1, 0, 00000000000000000351, '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', '$À_|/+6á%/%öÏÂ'),
-('208930000000001', '33638060008', NULL, NULL, 'PURGED', 120, 50000000, 100000000, 47, 0000000000, 2, '‹¯G?/Ð”‡ÌË×	|hb', 1, 0, 00000000000000006103, 'ëÐwq¬ègzW®Ð²áZ]', 'Ž''¶¯i.u2fz;`]'),
-('208950000000002', '33638060009', NULL, NULL, 'PURGED', 120, 50000000, 100000000, 47, 0000000000, 2, '‹¯G?/Ð”‡ÌË×	|hb', 1, 0, 00000000000000006391, 'U¶|Ç w±DÌü\Z…7', 'Ž''¶¯i.u2fz;`]');
-
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/openair-cn/OPENAIRHSS/db/pft_db.sql b/openair-cn/OPENAIRHSS/db/pft_db.sql
deleted file mode 100644
index e2eb8bfaa6cc416a9568de6e5bcf3d288c12f965..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/db/pft_db.sql
+++ /dev/null
@@ -1,173 +0,0 @@
--- phpMyAdmin SQL Dump
--- version 4.0.10deb1
--- http://www.phpmyadmin.net
---
--- Host: localhost
--- Generation Time: May 28, 2015 at 02:24 PM
--- Server version: 5.5.43-0ubuntu0.14.04.1
--- PHP Version: 5.5.9-1ubuntu4.9
-
-SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
-SET time_zone = "+00:00";
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-
---
--- Database: `oai_db`
---
-
--- --------------------------------------------------------
-
---
--- Table structure for table `apn`
---
-
-CREATE TABLE IF NOT EXISTS `apn` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `apn-name` varchar(60) NOT NULL,
-  `pdn-type` enum('IPv4','IPv6','IPv4v6','IPv4_or_IPv6') NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `apn-name` (`apn-name`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `mmeidentity`
---
-
-CREATE TABLE IF NOT EXISTS `mmeidentity` (
-  `idmmeidentity` int(11) NOT NULL AUTO_INCREMENT,
-  `mmehost` varchar(255) DEFAULT NULL,
-  `mmerealm` varchar(200) DEFAULT NULL,
-  `UE-Reachability` tinyint(1) NOT NULL COMMENT 'Indicates whether the MME supports UE Reachability Notifcation',
-  PRIMARY KEY (`idmmeidentity`)
-) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=43 ;
-
---
--- Dumping data for table `mmeidentity`
---
-
-INSERT INTO `mmeidentity` (`idmmeidentity`, `mmehost`, `mmerealm`, `UE-Reachability`) VALUES
-(2, 'yang.openair4G.eur', 'openair4G.eur', 0),
-(1, 'ng40-erc.openair4G.eur', 'openair4G.eur', 0);
-
--- --------------------------------------------------------
-
---
--- Table structure for table `pdn`
---
-
-CREATE TABLE IF NOT EXISTS `pdn` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `apn` varchar(60) NOT NULL,
-  `pdn_type` enum('IPv4','IPv6','IPv4v6','IPv4_or_IPv6') NOT NULL DEFAULT 'IPv4',
-  `pdn_ipv4` varchar(15) DEFAULT '0.0.0.0',
-  `pdn_ipv6` varchar(45) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT '0:0:0:0:0:0:0:0',
-  `aggregate_ambr_ul` int(10) unsigned DEFAULT '50000000',
-  `aggregate_ambr_dl` int(10) unsigned DEFAULT '100000000',
-  `pgw_id` int(11) NOT NULL,
-  `users_imsi` varchar(15) NOT NULL,
-  `qci` tinyint(3) unsigned NOT NULL DEFAULT '9',
-  `priority_level` tinyint(3) unsigned NOT NULL DEFAULT '15',
-  `pre_emp_cap` enum('ENABLED','DISABLED') DEFAULT 'DISABLED',
-  `pre_emp_vul` enum('ENABLED','DISABLED') DEFAULT 'DISABLED',
-  `LIPA-Permissions` enum('LIPA-prohibited','LIPA-only','LIPA-conditional') NOT NULL DEFAULT 'LIPA-only',
-  PRIMARY KEY (`id`,`pgw_id`,`users_imsi`),
-  KEY `fk_pdn_pgw1_idx` (`pgw_id`),
-  KEY `fk_pdn_users1_idx` (`users_imsi`)
-) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=36 ;
-
---
--- Dumping data for table `pdn`
---
-
-INSERT INTO `pdn` (`id`, `apn`, `pdn_type`, `pdn_ipv4`, `pdn_ipv6`, `aggregate_ambr_ul`, `aggregate_ambr_dl`, `pgw_id`, `users_imsi`, `qci`, `priority_level`, `pre_emp_cap`, `pre_emp_vul`, `LIPA-Permissions`) VALUES
-(8, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '208920000000008', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only'),
-(9, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '208920000000009', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only'),
-(11, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '208920000000053', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only'),
-(12, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '208920000000055', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only'),
-(16, 'oai.ipv4', 'IPv4', '0.0.0.0', '0:0:0:0:0:0:0:0', 50000000, 100000000, 3, '208920000000054', 9, 15, 'DISABLED', 'ENABLED', 'LIPA-only');
-
--- --------------------------------------------------------
-
---
--- Table structure for table `pgw`
---
-
-CREATE TABLE IF NOT EXISTS `pgw` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `ipv4` varchar(15) NOT NULL,
-  `ipv6` varchar(39) NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `ipv4` (`ipv4`),
-  UNIQUE KEY `ipv6` (`ipv6`)
-) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
-
---
--- Dumping data for table `pgw`
---
-
-INSERT INTO `pgw` (`id`, `ipv4`, `ipv6`) VALUES
-(1, '127.0.0.1', '0:0:0:0:0:0:0:1'),
-(2, '192.168.56.101', ''),
-(3, '10.0.0.2', '0');
-
--- --------------------------------------------------------
-
---
--- Table structure for table `terminal-info`
---
-
-CREATE TABLE IF NOT EXISTS `terminal-info` (
-  `imei` varchar(15) NOT NULL,
-  `sv` varchar(2) NOT NULL,
-  UNIQUE KEY `imei` (`imei`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `users`
---
-
-CREATE TABLE IF NOT EXISTS `users` (
-  `imsi` varchar(15) NOT NULL COMMENT 'IMSI is the main reference key.',
-  `msisdn` varchar(46) DEFAULT NULL COMMENT 'The basic MSISDN of the UE (Presence of MSISDN is optional).',
-  `imei` varchar(15) DEFAULT NULL COMMENT 'International Mobile Equipment Identity',
-  `imei_sv` varchar(2) DEFAULT NULL COMMENT 'International Mobile Equipment Identity Software Version Number',
-  `ms_ps_status` enum('PURGED','NOT_PURGED') DEFAULT 'PURGED' COMMENT 'Indicates that ESM and EMM status are purged from MME',
-  `rau_tau_timer` int(10) unsigned DEFAULT '120',
-  `ue_ambr_ul` bigint(20) unsigned DEFAULT '50000000' COMMENT 'The Maximum Aggregated uplink MBRs to be shared across all Non-GBR bearers according to the subscription of the user.',
-  `ue_ambr_dl` bigint(20) unsigned DEFAULT '100000000' COMMENT 'The Maximum Aggregated downlink MBRs to be shared across all Non-GBR bearers according to the subscription of the user.',
-  `access_restriction` int(10) unsigned DEFAULT '60' COMMENT 'Indicates the access restriction subscription information. 3GPP TS.29272 #7.3.31',
-  `mme_cap` int(10) unsigned zerofill DEFAULT NULL COMMENT 'Indicates the capabilities of the MME with respect to core functionality e.g. regional access restrictions.',
-  `mmeidentity_idmmeidentity` int(11) NOT NULL DEFAULT '0',
-  `key` varbinary(16) NOT NULL DEFAULT '0' COMMENT 'UE security key',
-  `RFSP-Index` smallint(5) unsigned NOT NULL DEFAULT '1' COMMENT 'An index to specific RRM configuration in the E-UTRAN. Possible values from 1 to 256',
-  `urrp_mme` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'UE Reachability Request Parameter indicating that UE activity notification from MME has been requested by the HSS.',
-  `sqn` bigint(20) unsigned zerofill NOT NULL,
-  `rand` varbinary(16) NOT NULL,
-  `OPc` varbinary(16) DEFAULT NULL COMMENT 'Can be computed by HSS',
-  PRIMARY KEY (`imsi`,`mmeidentity_idmmeidentity`),
-  KEY `fk_users_mmeidentity_idx1` (`mmeidentity_idmmeidentity`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `users`
---
-
-INSERT INTO `users` (`imsi`, `msisdn`, `imei`, `imei_sv`, `ms_ps_status`, `rau_tau_timer`, `ue_ambr_ul`, `ue_ambr_dl`, `access_restriction`, `mme_cap`, `mmeidentity_idmmeidentity`, `key`, `RFSP-Index`, `urrp_mme`, `sqn`, `rand`, `OPc`) VALUES
-('208920000000008', '33638060008', NULL, NULL, 'PURGED', 120, 40000000, 100000000, 47, 0000000000, 2, '‹¯G?/Ð”‡ÌË×	|hb', 1, 0, 00000000004294969388, '™Iðj„æ·>OƒO×K)', 'Ž''¶¯i.u2fz;`]'),
-('208920000000009', '33638060009', NULL, NULL, 'PURGED', 120, 40000000, 100000000, 47, 0000000000, 2, '‹¯G?/Ð”WdiHC×¾½', 1, 0, 00000000000000033361, '\ZM{™hÄÏ#‡\\*láà', '¾·¶¿xÈJø™	ÿ”'),
-('208920000000053', '33638060053', '35611302209415', NULL, 'PURGED', 120, 40000000, 100000000, 47, 0000000000, 2, '‹¯G?/Ð”6¦`FB&w', 1, 0, 00000000004294972622, 'o.Öq@Î#ë\0ï^ñÌ4¿', 'O¢Ñ~¤ï çî˜ÀÉ­ÓÏ'),
-('208920000000055', '33638060055', NULL, NULL, 'PURGED', 120, 40000000, 100000000, 47, 0000000000, 2, '‹¯G?/Ð”M_^r	v', 1, 0, 00000000004294969388, '™Iðj„æ·>OƒO×K)', 'NÓ0;ã­bCRÿÃòó_'),
-('208920000000054', '33638060054', NULL, NULL, 'PURGED', 120, 40000000, 100000000, 47, 0000000000, 2, '‹¯G?/Ð”M_^r	v', 1, 0, 00000000000000039820, 'B@W®Ø´JUÙ°To½C', 'NÓ0;ã­bCRÿÃòó_');
-
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/openair-cn/OPENAIRHSS/debian/changelog b/openair-cn/OPENAIRHSS/debian/changelog
deleted file mode 100644
index 5ce3ffbc174071dac9a4fed97b821f2b9e48c8ad..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/debian/changelog
+++ /dev/null
@@ -1,5 +0,0 @@
-openair-hss (1.0.0-1) UNRELEASED; urgency=low
-
-  * Initial release. (Closes: #XXXXXX)
-
- -- Sebastien Roux <roux@nord>  Wed, 10 Apr 2013 09:54:55 +0200
diff --git a/openair-cn/OPENAIRHSS/debian/compat b/openair-cn/OPENAIRHSS/debian/compat
deleted file mode 100644
index c7930257dfef505fd996e1d6f22f2f35149990d0..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-7
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/debian/control b/openair-cn/OPENAIRHSS/debian/control
deleted file mode 100644
index ff727b65face0bd6f59269d51ee962aabba069ea..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/debian/control
+++ /dev/null
@@ -1,15 +0,0 @@
-Source: openair-hss
-Maintainer: Sebastien ROUX <sebastien.roux@eurecom.fr>
-Section: misc
-Priority: optional
-Standards-Version: 3.9.2
-Build-Depends: debhelper (>= 8),
-    make, gcc, bison, flex, autotools,
-    libmysqlclient-dev, libsctp-dev,
-    freediameter-dev, freediameter-dictionary-s6a, freediameter-dictionary-mip6,
-    libgmp-dev, libnettle-dev
-
-Package: openair-hss
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: Implementation of R10 HSS for 3GPP LTE core network
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/debian/copyright b/openair-cn/OPENAIRHSS/debian/copyright
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/openair-cn/OPENAIRHSS/debian/dirs b/openair-cn/OPENAIRHSS/debian/dirs
deleted file mode 100644
index b01f7e5c00aca0524027cf592ec22e15a750c575..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/debian/dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/openair-hss/
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/debian/files b/openair-cn/OPENAIRHSS/debian/files
deleted file mode 100644
index 94dcd01645c1cdf03b1c039cabfa4447f3349edd..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/debian/files
+++ /dev/null
@@ -1 +0,0 @@
-openair-hss_1.0.0-1_i386.deb misc optional
diff --git a/openair-cn/OPENAIRHSS/debian/openair-hss.install b/openair-cn/OPENAIRHSS/debian/openair-hss.install
deleted file mode 100644
index 66a9d5fcb70b35b17f921bf618083c26f795ac7f..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/debian/openair-hss.install
+++ /dev/null
@@ -1,3 +0,0 @@
-conf/hss.conf
-conf/hss_fd.conf
-db/oai_db.sql
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/debian/rules b/openair-cn/OPENAIRHSS/debian/rules
deleted file mode 100755
index b6e44cb04dd5c491adf3e9b97d76f3dfb28406cc..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/debian/rules
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/make -f
-
-export DH_OPTIONS
-
-%:
-	dh $@
-
-override_dh_auto_configure:
-	dh_auto_configure -- --enable-dh-install LDFLAGS='-L/usr/local/lib'
-
-# Don't run tests:
-override_dh_auto_test:
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/hss_main.c b/openair-cn/OPENAIRHSS/hss_main.c
deleted file mode 100644
index 5a226bc0d93e8d0e40a466beb87835a44ca479e0..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/hss_main.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdio.h>
-#include <string.h>
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-#include "auc.h"
-
-hss_config_t hss_config;
-
-
-int main(int argc, char *argv[])
-{
-
-  memset(&hss_config, 0, sizeof(hss_config_t));
-
-  if (config_init(argc, argv, &hss_config) != 0) {
-    return -1;
-  }
-
-  if (hss_mysql_connect(&hss_config) != 0) {
-    return -1;
-  }
-
-  random_init();
-
-  if (hss_config.valid_op) {
-    hss_mysql_check_opc_keys((uint8_t*)hss_config.operator_key_bin);
-  }
-
-  s6a_init(&hss_config);
-
-  while(1) {
-    /* TODO: handle signals here */
-    sleep(1);
-  }
-
-  return 0;
-}
diff --git a/openair-cn/OPENAIRHSS/s6a/COPYING b/openair-cn/OPENAIRHSS/s6a/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OPENAIRHSS/s6a/Makefile.am b/openair-cn/OPENAIRHSS/s6a/Makefile.am
deleted file mode 100644
index bfd6a27fe690191339eed9d35d45128854bc018a..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/Makefile.am
+++ /dev/null
@@ -1,49 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AM_CFLAGS = @ADD_CFLAGS@ 	\
-	-I$(top_srcdir)		\
-	-I$(top_srcdir)/access_restriction	\
-	-I$(top_srcdir)/auc	\
-	-I$(top_srcdir)/db	\
-	-I$(top_srcdir)/utils
-
-noinst_LTLIBRARIES = libs6a.la
-
-libs6a_la_LDFLAGS = -all-static
-libs6a_la_SOURCES = \
-	s6a_common.c	\
-	s6a_fd.c s6a_proto.h	\
-	s6a_auth_info.c	\
-	s6a_up_loc.c	\
-	s6a_purge_ue.c	\
-	s6a_error.c	\
-	s6a_subscription_data.c	\
-	s6a_in_addr.c	\
-	s6a_peers.c	\
-	s6a_supported_features.h	s6a_supported_features.c
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_auth_info.c b/openair-cn/OPENAIRHSS/s6a/s6a_auth_info.c
deleted file mode 100644
index 718e48cce4f5820b4ed1a743373868e7acd4b72a..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_auth_info.c
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file s6a_auth_info.c
- * \brief Handle an authentication information request procedure and generate the answer
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdproto.h>
-#include <stdint.h>
-#include <string.h>
-#include <inttypes.h>
-#include <pthread.h>
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-#include "auc.h"
-#include "access_restriction.h"
-
-int s6a_auth_info_cb(struct msg **msg, struct avp *paramavp,
-                     struct session *sess, void *opaque,
-                     enum disp_action *act)
-{
-  struct msg *ans, *qry;
-  struct avp *avp, *failed_avp = NULL;
-
-  struct avp_hdr *hdr;
-  union avp_value value;
-
-  /* Database queries */
-  mysql_auth_info_req_t  auth_info_req;
-  mysql_auth_info_resp_t auth_info_resp;
-
-  /* Authentication vector */
-  auc_vector_t vector;
-
-  int ret = 0;
-  int result_code = ER_DIAMETER_SUCCESS;
-  int experimental = 0;
-  uint64_t imsi;
-  uint8_t *sqn = NULL, *auts = NULL;
-
-  if (msg == NULL) {
-    return EINVAL;
-  }
-
-  /* Create answer header */
-  qry = *msg;
-  CHECK_FCT(fd_msg_new_answer_from_req(fd_g_config->cnf_dict, msg, 0));
-  ans = *msg;
-
-  /* Retrieving IMSI AVP: User-Name */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_imsi, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    if (hdr->avp_value->os.len > IMSI_LENGTH_MAX) {
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-      goto out;
-    }
-
-    sprintf(auth_info_req.imsi, "%*s", (int)hdr->avp_value->os.len,
-            hdr->avp_value->os.data);
-    sscanf(auth_info_req.imsi, "%"SCNu64, &imsi);
-  } else {
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Retrieving Supported Features AVP. This is an optional AVP. */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_supported_features, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-  }
-
-  /* Retrieving the Requested-EUTRAN-Authentication-Info.
-   * If this AVP is not present, we have to check for
-   * Requested-GERAN-Authentication-Info AVP which will mean that the request
-   * comes from RAT other than E-UTRAN, case not handled by this HSS
-   * implementation.
-   */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_req_e_utran_auth_info, &avp));
-
-  if (avp) {
-    struct avp *child_avp;
-
-    /* Walk through childs avp */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_FIRST_CHILD, &child_avp, NULL));
-
-    while (child_avp) {
-      /* Retrieve the header of the child avp */
-      CHECK_FCT(fd_msg_avp_hdr(child_avp, &hdr));
-
-      switch(hdr->avp_code) {
-      case AVP_CODE_NUMBER_OF_REQ_VECTORS: {
-        /* We allow only one vector request */
-        if (hdr->avp_value->u32 != 1) {
-          result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-          failed_avp = child_avp;
-          goto out;
-        }
-      }
-      break;
-
-      case AVP_CODE_IMMEDIATE_RESP_PREF:
-        /* We always respond immediately to the request */
-        break;
-
-      case AVP_CODE_RE_SYNCHRONIZATION_INFO:
-
-        /* The resynchronization-info AVP is present.
-         * AUTS = Conc(SQN MS ) || MAC-S
-         */
-        if (avp) {
-          auts = hdr->avp_value->os.data;
-        }
-
-        break;
-
-      default: {
-        /* This AVP is not expected on s6a interface */
-        result_code = ER_DIAMETER_AVP_UNSUPPORTED;
-        failed_avp  = child_avp;
-        goto out;
-      }
-      }
-
-      /* Go to next AVP in the grouped AVP */
-      CHECK_FCT(fd_msg_browse(child_avp, MSG_BRW_NEXT, &child_avp, NULL));
-    }
-  } else {
-    CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_req_geran_auth_info, &avp));
-
-    if (avp) {
-      result_code = DIAMETER_ERROR_RAT_NOT_ALLOWED;
-      experimental = 1;
-      goto out;
-    } else {
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-      failed_avp = avp;
-      goto out;
-    }
-  }
-
-  /* Retrieving the Visited-PLMN-Id AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_visited_plmn_id, &avp));
-
-  if (avp) {
-    /* TODO: check PLMN and allow/reject connectivity depending on roaming */
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    if (hdr->avp_value->os.len == 3) {
-      if (apply_access_restriction(auth_info_req.imsi, hdr->avp_value->os.data) != 0) {
-        /* We found that user is roaming and has no right to do it ->
-        * reject the connection
-        */
-        result_code = DIAMETER_ERROR_ROAMING_NOT_ALLOWED;
-        experimental = 1;
-        goto out;
-      }
-    } else {
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-      goto out;
-    }
-  } else {
-    /* Mandatory AVP, raise an error if not present */
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Fetch User data */
-  if (hss_mysql_auth_info(&auth_info_req, &auth_info_resp) != 0) {
-    /* Database query failed... */
-    result_code = DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE;
-    experimental = 1;
-    goto out;
-  }
-
-  if (auts != NULL) {
-    /* Try to derive SQN_MS from previous RAND */
-    sqn = sqn_ms_derive(auth_info_resp.opc, auth_info_resp.key, auts, auth_info_resp.rand);
-
-    if (sqn != NULL) {
-      /* We succeeded to verify SQN_MS... */
-
-      /* Pick a new RAND and store SQN_MS + RAND in the HSS */
-      generate_random(vector.rand, RAND_LENGTH);
-      hss_mysql_push_rand_sqn(auth_info_req.imsi, auth_info_resp.rand, sqn);
-
-      hss_mysql_increment_sqn(auth_info_req.imsi);
-
-      free(sqn);
-    }
-
-    /* Fetch new user data */
-    if (hss_mysql_auth_info(&auth_info_req, &auth_info_resp) != 0) {
-      /* Database query failed... */
-      result_code = DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE;
-      experimental = 1;
-      goto out;
-    }
-
-    sqn = auth_info_resp.sqn;
-
-    memcpy(vector.rand, auth_info_resp.rand, RAND_LENGTH);
-  } else {
-    /* Pick a new RAND and store SQN_MS + RAND in the HSS */
-    generate_random(vector.rand, RAND_LENGTH);
-    sqn = auth_info_resp.sqn;
-    hss_mysql_push_rand_sqn(auth_info_req.imsi, vector.rand, sqn);
-  }
-
-  hss_mysql_increment_sqn(auth_info_req.imsi);
-
-  /* Generate authentication vector */
-  generate_vector(auth_info_resp.opc, imsi, auth_info_resp.key,
-                  hdr->avp_value->os.data, sqn, &vector);
-
-  /* We add the vector */
-  {
-    struct avp *e_utran_vector, *child_avp;
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_authentication_info, 0, &avp));
-
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_e_utran_vector, 0, &e_utran_vector));
-
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_rand, 0, &child_avp));
-    value.os.data = vector.rand;
-    value.os.len = RAND_LENGTH_OCTETS;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(e_utran_vector, MSG_BRW_LAST_CHILD, child_avp));
-
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_xres, 0, &child_avp));
-    value.os.data = vector.xres;
-    value.os.len = XRES_LENGTH_OCTETS;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(e_utran_vector, MSG_BRW_LAST_CHILD, child_avp));
-
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_autn, 0, &child_avp));
-    value.os.data = vector.autn;
-    value.os.len = AUTN_LENGTH_OCTETS;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(e_utran_vector, MSG_BRW_LAST_CHILD, child_avp));
-
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_kasme, 0, &child_avp));
-    value.os.data = vector.kasme;
-    value.os.len = KASME_LENGTH_OCTETS;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(e_utran_vector, MSG_BRW_LAST_CHILD, child_avp));
-
-    CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, e_utran_vector));
-
-    CHECK_FCT(fd_msg_avp_add(ans, MSG_BRW_LAST_CHILD, avp));
-  }
-
-out:
-  /* Add the Auth-Session-State AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_auth_session_state, &avp));
-  CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-  CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_auth_session_state, 0, &avp));
-  CHECK_FCT(fd_msg_avp_setvalue(avp, hdr->avp_value));
-  CHECK_FCT(fd_msg_avp_add(ans, MSG_BRW_LAST_CHILD, avp));
-
-  /* Append the result code to the answer */
-  CHECK_FCT(s6a_add_result_code(ans, failed_avp, result_code, experimental));
-
-  CHECK_FCT(fd_msg_send(msg, NULL, NULL ));
-  return ret;
-}
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_common.c b/openair-cn/OPENAIRHSS/s6a/s6a_common.c
deleted file mode 100644
index fa896dd8d424705c7a96e417dd2320bf7085b87b..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_common.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-
-int s6a_add_result_code(struct msg *ans, struct avp *failed_avp, int result_code, int experimental)
-{
-  struct avp *avp;
-  union avp_value value;
-
-  if (DIAMETER_ERROR_IS_VENDOR(result_code) && experimental != 0) {
-    struct avp *experimental_result;
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_experimental_result,
-                             0, &experimental_result));
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_vendor_id,
-                             0, &avp));
-    value.u32 = VENDOR_3GPP;
-    CHECK_FCT(fd_msg_avp_setvalue(avp, &value));
-    CHECK_FCT(fd_msg_avp_add(experimental_result, MSG_BRW_LAST_CHILD, avp));
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_experimental_result_code,
-                             0, &avp));
-    value.u32 = result_code;
-    CHECK_FCT(fd_msg_avp_setvalue(avp, &value));
-    CHECK_FCT(fd_msg_avp_add(experimental_result, MSG_BRW_LAST_CHILD, avp));
-    CHECK_FCT(fd_msg_avp_add(ans, MSG_BRW_LAST_CHILD, experimental_result));
-
-    /* Add Origin_Host & Origin_Realm AVPs */
-    CHECK_FCT(fd_msg_add_origin(ans, 0));
-  } else {
-    /* This is a code defined in the base protocol: result-code AVP should
-     * be used.
-     */
-    CHECK_FCT(fd_msg_rescode_set(ans, retcode_2_string(result_code), NULL,
-                                 failed_avp, 1));
-  }
-
-  return 0;
-}
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_error.c b/openair-cn/OPENAIRHSS/s6a/s6a_error.c
deleted file mode 100644
index 92d2465695ac60ec4ed60a3845b5ea6c0a40ab8f..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_error.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-
-char *experimental_retcode_2_string(int ret_code)
-{
-  switch(ret_code) {
-    /* Experimental-Result-Codes */
-  case DIAMETER_ERROR_USER_UNKNOWN:
-    return "DIAMETER_ERROR_USER_UNKNOWN";
-
-  case DIAMETER_ERROR_ROAMING_NOT_ALLOWED:
-    return "DIAMETER_ERROR_ROAMING_NOT_ALLOWED";
-
-  case DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION:
-    return "DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION";
-
-  case DIAMETER_ERROR_RAT_NOT_ALLOWED:
-    return "DIAMETER_ERROR_RAT_NOT_ALLOWED";
-
-  case DIAMETER_ERROR_EQUIPMENT_UNKNOWN:
-    return "DIAMETER_ERROR_EQUIPMENT_UNKNOWN";
-
-  case DIAMETER_ERROR_UNKOWN_SERVING_NODE:
-    return "DIAMETER_ERROR_UNKOWN_SERVING_NODE";
-
-  case DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE:
-    return "DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE";
-
-  default:
-    break;
-  }
-
-  return "DIAMETER_AVP_UNSUPPORTED";
-}
-
-char *retcode_2_string(int ret_code)
-{
-  switch(ret_code) {
-  case ER_DIAMETER_SUCCESS:
-    return "DIAMETER_SUCCESS";
-
-  case ER_DIAMETER_MISSING_AVP:
-    return "DIAMETER_MISSING_AVP";
-
-  case ER_DIAMETER_INVALID_AVP_VALUE:
-    return "DIAMETER_INVALID_AVP_VALUE";
-
-  default:
-    break;
-  }
-
-  return "DIAMETER_AVP_UNSUPPORTED";
-}
-
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_fd.c b/openair-cn/OPENAIRHSS/s6a/s6a_fd.c
deleted file mode 100644
index 8a8ea04812144096e848c999cfd1a80e2dfc6835..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_fd.c
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdcore.h>
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-
-/* session handler for s6a sessions state machine */
-static struct session_handler *s6a_reg = NULL;
-
-/* handler for s6a server callback */
-static struct disp_hdl *handle;
-s6a_cnf_t s6a_cnf;
-
-#if FREEDIAMETER_VERSION < 120
-void s6a_cli_sess_cleanup(void * arg, char * sid, void * opaque);
-
-void s6a_cli_sess_cleanup(void * arg, char * sid, void * opaque)
-{
-
-}
-#else
-void s6a_cli_sess_cleanup(struct sess_state * state, os0_t sid, void * opaque);
-void s6a_cli_sess_cleanup(struct sess_state * state, os0_t sid, void * opaque)
-{
-
-}
-
-#endif
-
-
-static int s6a_init_objs(void)
-{
-  vendor_id_t vendor_3gpp = VENDOR_3GPP;
-  application_id_t app_s6a = APP_S6A;
-
-  memset(&s6a_cnf, 0, sizeof(s6a_cnf));
-
-  /* Pre-loading vendor object */
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_VENDOR, VENDOR_BY_ID,
-                           (void*)&vendor_3gpp, &s6a_cnf.dataobj_s6a_vendor, ENOENT));
-  /* Pre-loading application object */
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_APPLICATION,
-                           APPLICATION_BY_ID, (void*)&app_s6a,
-                           &s6a_cnf.dataobj_s6a_app, ENOENT));
-
-  /* Pre-loading commands objects */
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                           CMD_BY_NAME, "Authentication-Information-Request",
-                           &s6a_cnf.dataobj_s6a_auth_cmd, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                           CMD_BY_NAME, "Update-Location-Request",
-                           &s6a_cnf.dataobj_s6a_loc_up, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                           CMD_BY_NAME, "Purge-UE-Request",
-                           &s6a_cnf.dataobj_s6a_purge_ue, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                           CMD_BY_NAME, "Cancel-Location-Request",
-                           &s6a_cnf.dataobj_s6a_cancel_loc_req, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                           CMD_BY_NAME, "Cancel-Location-Answer",
-                           &s6a_cnf.dataobj_s6a_cancel_loc_ans, ENOENT));
-
-  /* Pre-loading AVPs objects */
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME, "Origin-Host",
-                           &s6a_cnf.dataobj_s6a_origin_host, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME, "Origin-Realm",
-                           &s6a_cnf.dataobj_s6a_origin_realm, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "User-Name",
-                           &s6a_cnf.dataobj_s6a_imsi, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "IMEI",
-                           &s6a_cnf.dataobj_s6a_imei, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Software-Version",
-                           &s6a_cnf.dataobj_s6a_software_version, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Supported-Features",
-                           &s6a_cnf.dataobj_s6a_supported_features, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Requested-EUTRAN-Authentication-Info",
-                           &s6a_cnf.dataobj_s6a_req_e_utran_auth_info, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Number-Of-Requested-Vectors",
-                           &s6a_cnf.dataobj_s6a_req_nb_of_req_vectors, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Re-Synchronization-Info",
-                           &s6a_cnf.dataobj_s6a_req_resync_info, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Requested-UTRAN-GERAN-Authentication-Info",
-                           &s6a_cnf.dataobj_s6a_req_geran_auth_info, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Immediate-Response-Preferred",
-                           &s6a_cnf.dataobj_s6a_immediate_response_pref, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Visited-PLMN-Id",
-                           &s6a_cnf.dataobj_s6a_visited_plmn_id, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME, "Result-Code",
-                           &s6a_cnf.dataobj_s6a_result_code, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME, "Experimental-Result",
-                           &s6a_cnf.dataobj_s6a_experimental_result, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME, "Vendor-Id",
-                           &s6a_cnf.dataobj_s6a_vendor_id, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME, "Experimental-Result-Code",
-                           &s6a_cnf.dataobj_s6a_experimental_result_code, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Auth-Session-State",
-                           &s6a_cnf.dataobj_s6a_auth_session_state, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Authentication-Info",
-                           &s6a_cnf.dataobj_s6a_authentication_info, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "E-UTRAN-Vector",
-                           &s6a_cnf.dataobj_s6a_e_utran_vector, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "RAND",
-                           &s6a_cnf.dataobj_s6a_rand, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "XRES",
-                           &s6a_cnf.dataobj_s6a_xres, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "AUTN",
-                           &s6a_cnf.dataobj_s6a_autn, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "KASME",
-                           &s6a_cnf.dataobj_s6a_kasme, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "ULR-Flags",
-                           &s6a_cnf.dataobj_s6a_ulr_flags, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "ULA-Flags",
-                           &s6a_cnf.dataobj_s6a_ula_flags, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "PUR-Flags",
-                           &s6a_cnf.dataobj_s6a_pur_flags, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "PUA-Flags",
-                           &s6a_cnf.dataobj_s6a_pua_flags, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "RAT-Type",
-                           &s6a_cnf.dataobj_s6a_rat_type, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Terminal-Information",
-                           &s6a_cnf.dataobj_s6a_terminal_info, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "UE-SRVCC-Capability",
-                           &s6a_cnf.dataobj_s6a_ue_srvcc_cap, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "GMLC-Address",
-                           &s6a_cnf.dataobj_s6a_gmlc_addr, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Subscription-Data",
-                           &s6a_cnf.dataobj_s6a_subscription_data, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Subscriber-Status",
-                           &s6a_cnf.dataobj_s6a_subscriber_status, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "MSISDN",
-                           &s6a_cnf.dataobj_s6a_msisdn, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "AMBR",
-                           &s6a_cnf.dataobj_s6a_ambr, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Network-Access-Mode",
-                           &s6a_cnf.dataobj_s6a_network_access_mode, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Access-Restriction-Data",
-                           &s6a_cnf.dataobj_s6a_access_restriction_data, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "APN-Configuration-Profile",
-                           &s6a_cnf.dataobj_s6a_apn_configuration_profile, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Subscribed-Periodic-RAU-TAU-Timer",
-                           &s6a_cnf.dataobj_s6a_subscribed_rau_tau_timer, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Context-Identifier",
-                           &s6a_cnf.dataobj_s6a_context_identifier, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "All-APN-Configurations-Included-Indicator",
-                           &s6a_cnf.dataobj_s6a_all_apn_conf_inc_ind, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "APN-Configuration",
-                           &s6a_cnf.dataobj_s6a_apn_configuration, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Max-Requested-Bandwidth-UL",
-                           &s6a_cnf.dataobj_s6a_max_bandwidth_ul, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Max-Requested-Bandwidth-DL",
-                           &s6a_cnf.dataobj_s6a_max_bandwidth_dl, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "PDN-Type",
-                           &s6a_cnf.dataobj_s6a_pdn_type, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Service-Selection",
-                           &s6a_cnf.dataobj_s6a_service_selection, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "EPS-Subscribed-QoS-Profile",
-                           &s6a_cnf.dataobj_s6a_eps_subscribed_qos_profile, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "QoS-Class-Identifier",
-                           &s6a_cnf.dataobj_s6a_qos_class_identifier, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Allocation-Retention-Priority",
-                           &s6a_cnf.dataobj_s6a_allocation_retention_priority, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Priority-Level",
-                           &s6a_cnf.dataobj_s6a_priority_level, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Pre-emption-Capability",
-                           &s6a_cnf.dataobj_s6a_pre_emption_capability, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Pre-emption-Vulnerability",
-                           &s6a_cnf.dataobj_s6a_pre_emption_vulnerability, ENOENT));
-  CHECK_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                           AVP_BY_NAME_ALL_VENDORS, "Served-Party-IP-Address",
-                           &s6a_cnf.dataobj_s6a_served_party_ip_addr, ENOENT));
-
-  /* Advertise the support for the test application in the peer */
-  CHECK_FCT(fd_disp_app_support(s6a_cnf.dataobj_s6a_app,
-                                s6a_cnf.dataobj_s6a_vendor, 1, 0));
-
-  return 0;
-}
-
-int s6a_init(hss_config_t *hss_config_p)
-{
-  int ret = 0;
-  struct disp_when when;
-  char why[100];
-
-  fprintf(stdout, "Initializing s6a layer\n");
-
-  ret = fd_core_initialize();
-
-  if (ret != 0) {
-    strcpy(why, "fd_core_initialize");
-    goto err;
-  }
-
-  /* Parse the external configuration file */
-  ret = fd_core_parseconf(hss_config_p->freediameter_config);
-
-  if (ret != 0) {
-    strcpy(why, "fd_core_parseconf");
-    goto err;
-  }
-
-
-  ret = fd_core_start();
-
-  if (ret != 0) {
-    strcpy(why, "fd_core_start");
-    goto err;
-  }
-
-
-  /* We wait till freediameter has completed loading extensions */
-  fd_core_waitstartcomplete();
-
-  /* Register the peer acceptor/rejector */
-  fd_peer_validate_register(s6a_peer_validate);
-
-  /* Initialize useful objects */
-  ret = s6a_init_objs();
-
-  if (ret != 0) {
-    strcpy(why, "s6a_init_objs");
-    goto err;
-  }
-
-  /* Create handler for sessions */
-#if FREEDIAMETER_VERSION < 120
-  CHECK_FCT(fd_sess_handler_create(&s6a_reg, s6a_cli_sess_cleanup, NULL));
-#else
-  session_state_dump dumper;
-  CHECK_FCT(fd_sess_handler_create(&s6a_reg, s6a_cli_sess_cleanup, dumper, NULL));
-#endif
-
-  /* Register the callback */
-  memset(&when, 0, sizeof(when));
-  when.command = s6a_cnf.dataobj_s6a_auth_cmd;
-  when.app     = s6a_cnf.dataobj_s6a_app;
-
-  /* Register the callbacks for S6A Application */
-  CHECK_FCT(fd_disp_register(s6a_auth_info_cb, DISP_HOW_CC, &when, NULL,
-                             &handle));
-
-  if (handle == NULL) {
-    strcpy(why, "cannot register authentication info req cb");
-    goto err;
-  }
-
-  when.command = s6a_cnf.dataobj_s6a_loc_up;
-  when.app     = s6a_cnf.dataobj_s6a_app;
-
-  /* Register the callbacks for S6A Application */
-  CHECK_FCT(fd_disp_register(s6a_up_loc_cb, DISP_HOW_CC, &when, NULL,
-                             &handle));
-
-  if (handle == NULL) {
-    strcpy(why, "cannot register update location req cb");
-    goto err;
-  }
-
-  when.command = s6a_cnf.dataobj_s6a_purge_ue;
-  when.app     = s6a_cnf.dataobj_s6a_app;
-
-  /* Register the callbacks for S6A Application */
-  CHECK_FCT(fd_disp_register(s6a_purge_ue_cb, DISP_HOW_CC, &when, NULL,
-                             &handle));
-
-  if (handle == NULL) {
-    strcpy(why, "cannot register purge ue req cb");
-    goto err;
-  }
-
-  fprintf(stdout, "Initializing s6a layer: DONE\n");
-
-  return 0;
-
-err:
-  fprintf(stdout, "Initializing s6a layer: FAILED (%s)\n", why);
-  return -1;
-}
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_in_addr.c b/openair-cn/OPENAIRHSS/s6a/s6a_in_addr.c
deleted file mode 100644
index 8abefce7784490c602c9655ce7b5e54744ca67e8..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_in_addr.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-
-/* http://www.iana.org/assignments/address-family-numbers/address-family-numbers.xml*/
-
-/* Perform a conversion between ipv4 in BCD to AVP served-party-ip-address */
-int s6a_add_ipv4_address(struct avp *avp, const char *ipv4_addr)
-{
-  struct avp *child_avp;
-  union avp_value value;
-
-  uint8_t ipv4[6];    /* Converted IPv4 address with family */
-  in_addr_t sin;
-
-  if (ipv4_addr == NULL) {
-    return -1;
-  }
-
-  /* This is an IPv4 family -> ipv4 buffer should start with 0x0001 */
-  ipv4[0] = 0x00;
-  ipv4[1] = 0x01;
-
-  sin = inet_addr(ipv4_addr);
-
-  /* No need to add the address if it is an any address */
-  if (sin != INADDR_ANY) {
-    memcpy(&ipv4[2], &sin, 4);
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_served_party_ip_addr, 0, &child_avp));
-    value.os.data = ipv4;
-    value.os.len  = 6;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-    return 0;
-  }
-
-  /* No IP address added to AVP */
-  return -1;
-}
-
-/* Perform a conversion between ipv6 in BCD to AVP served-party-ip-address */
-int s6a_add_ipv6_address(struct avp *avp, const char *ipv6_addr)
-{
-  struct avp *child_avp;
-  union avp_value value;
-
-  uint8_t ipv6[18];
-  struct in6_addr sin6;
-
-  if (ipv6_addr == NULL) {
-    return -1;
-  }
-
-  memset(&sin6, 0, sizeof(struct in6_addr));
-
-  /* This is an IPv6 family -> ipv6 buffer should start with 0x0002 */
-  ipv6[0] = 0x00;
-  ipv6[1] = 0x02;
-
-  if (inet_pton(AF_INET6, ipv6_addr, &sin6) == -1) {
-    fprintf(stderr, "INET6 address conversion has failed\n");
-    return -1;
-  }
-
-  /* If the IPV6 address is 0:0:0:0:0:0:0:0 then we don't add it to the
-   * served-party ip address and consider the ip address can be dynamically
-   * allocated.
-   */
-  if (!IN6_IS_ADDR_UNSPECIFIED(sin6.s6_addr32)) {
-    memcpy(&ipv6[2], &sin6.s6_addr, 16);
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_served_party_ip_addr, 0, &child_avp));
-    value.os.data = ipv6;
-    value.os.len  = 18;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-    return 0;
-  }
-
-  return -1;
-}
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_peers.c b/openair-cn/OPENAIRHSS/s6a/s6a_peers.c
deleted file mode 100644
index 0c3bcde915c962b11cb9cf89f551b3a26ef163e5..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_peers.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file s6a_peers.c
- * \brief Authenticate a new peer connecting to the HSS by checking the database
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-#include <stdio.h>
-#include <string.h>
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-
-int s6a_peer_validate(struct peer_info *info, int *auth, int (**cb2)(struct peer_info *))
-{
-  mysql_mme_identity_t mme_identity;
-
-  if (info == NULL) {
-    return EINVAL;
-  }
-
-  memset(&mme_identity, 0, sizeof(mysql_mme_identity_t));
-
-  /* We received a new connection. Check the database for allowed equipments
-   * on EPC
-   */
-
-  memcpy(mme_identity.mme_host, info->pi_diamid, info->pi_diamidlen);
-
-  if (hss_mysql_check_epc_equipment(&mme_identity) != 0) {
-    /* The MME has not been found in list of known peers -> reject it */
-    *auth = -1;
-    fprintf(stdout, "Rejecting %s: either db has no knowledge of this peer "
-            "or sql query failed\n", info->pi_diamid);
-  } else {
-    *auth = 1;
-
-    /* For now we don't use security */
-    info->config.pic_flags.sec = PI_SEC_NONE;
-    info->config.pic_flags.persist = PI_PRST_NONE;
-    fprintf(stdout, "Accepting %s peer\n", info->pi_diamid);
-  }
-
-  return 0;
-}
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_proto.h b/openair-cn/OPENAIRHSS/s6a/s6a_proto.h
deleted file mode 100644
index 2ea9221401c06a9e27cb7bc6004564bf6546a9b2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_proto.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdcore.h>
-
-#include "hss_config.h"
-
-#ifndef S6A_PROTO_H_
-#define S6A_PROTO_H_
-
-#define VENDOR_3GPP (10415)
-#define APP_S6A     (16777251)
-
-/* Errors that fall within the Permanent Failures category shall be used to
- * inform the peer that the request has failed, and should not be attempted
- * again. The Result-Code AVP values defined in Diameter Base Protocol RFC 3588
- * shall be applied. When one of the result codes defined here is included in a
- * response, it shall be inside an Experimental-Result AVP and the Result-Code
- * AVP shall be absent.
- */
-#define DIAMETER_ERROR_USER_UNKNOWN             (5001)
-#define DIAMETER_ERROR_ROAMING_NOT_ALLOWED      (5004)
-#define DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION (5420)
-#define DIAMETER_ERROR_RAT_NOT_ALLOWED          (5421)
-#define DIAMETER_ERROR_EQUIPMENT_UNKNOWN        (5422)
-#define DIAMETER_ERROR_UNKOWN_SERVING_NODE      (5423)
-
-/* Result codes that fall within the transient failures category shall be used
- * to inform a peer that the request could not be satisfied at the time it was
- * received, but may be able to satisfy the request in the future. The
- * Result-Code AVP values defined in Diameter Base Protocol RFC 3588 shall be
- * applied. When one of the result codes defined here is included in a response,
- * it shall be inside an Experimental-Result AVP and the Result-Code AVP shall
- * be absent.
- */
-#define DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE (4181)
-
-#define DIAMETER_ERROR_IS_VENDOR(x)                    \
-   ((x == DIAMETER_ERROR_USER_UNKNOWN)              || \
-    (x == DIAMETER_ERROR_ROAMING_NOT_ALLOWED)       || \
-    (x == DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION)  || \
-    (x == DIAMETER_ERROR_RAT_NOT_ALLOWED)           || \
-    (x == DIAMETER_ERROR_EQUIPMENT_UNKNOWN)         || \
-    (x == DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE) || \
-    (x == DIAMETER_ERROR_UNKOWN_SERVING_NODE))
-
-#define AVP_CODE_IMEI                    (1402)
-#define AVP_CODE_SOFTWARE_VERSION        (1403)
-#define AVP_CODE_NUMBER_OF_REQ_VECTORS   (1410)
-#define AVP_CODE_RE_SYNCHRONIZATION_INFO (1411)
-#define AVP_CODE_IMMEDIATE_RESP_PREF     (1412)
-#define AVP_CODE_3GPP2_MEID              (1471)
-#define AVP_CODE_FEATURE_LIST            (629)
-#define AVP_CODE_VENDOR_ID               (266)
-
-typedef struct {
-  struct dict_object *dataobj_s6a_vendor;     /* s6a vendor object */
-  struct dict_object *dataobj_s6a_app;        /* s6a application object */
-  /* Commands */
-  struct dict_object *dataobj_s6a_auth_cmd;   /* s6a authentication command */
-  struct dict_object *dataobj_s6a_loc_up;     /* s6a update location */
-  struct dict_object *dataobj_s6a_purge_ue;     /* s6a purge ue req */
-  struct dict_object *dataobj_s6a_cancel_loc_req; /* s6a Cancel Location req */
-  struct dict_object *dataobj_s6a_cancel_loc_ans; /* s6a Cancel Location ans */
-  /* AVPs */
-  struct dict_object *dataobj_s6a_origin_host;
-  struct dict_object *dataobj_s6a_origin_realm;
-  struct dict_object *dataobj_s6a_imsi;            /* s6a imsi avp */
-  struct dict_object *dataobj_s6a_imei;
-  struct dict_object *dataobj_s6a_software_version;
-  struct dict_object *dataobj_s6a_supported_features;
-  struct dict_object *dataobj_s6a_req_e_utran_auth_info;
-  struct dict_object *dataobj_s6a_req_resync_info;
-  struct dict_object *dataobj_s6a_req_nb_of_req_vectors;
-  struct dict_object *dataobj_s6a_req_geran_auth_info;
-  struct dict_object *dataobj_s6a_immediate_response_pref;
-  struct dict_object *dataobj_s6a_visited_plmn_id;
-  struct dict_object *dataobj_s6a_result_code;
-  struct dict_object *dataobj_s6a_experimental_result;
-  struct dict_object *dataobj_s6a_vendor_id;
-  struct dict_object *dataobj_s6a_experimental_result_code;
-  struct dict_object *dataobj_s6a_auth_session_state;
-  struct dict_object *dataobj_s6a_authentication_info;
-  struct dict_object *dataobj_s6a_e_utran_vector;
-  struct dict_object *dataobj_s6a_rand;
-  struct dict_object *dataobj_s6a_xres;
-  struct dict_object *dataobj_s6a_autn;
-  struct dict_object *dataobj_s6a_kasme;
-  struct dict_object *dataobj_s6a_ulr_flags;
-  struct dict_object *dataobj_s6a_ula_flags;
-  struct dict_object *dataobj_s6a_pur_flags;
-  struct dict_object *dataobj_s6a_pua_flags;
-  struct dict_object *dataobj_s6a_rat_type;
-  struct dict_object *dataobj_s6a_terminal_info;
-  struct dict_object *dataobj_s6a_ue_srvcc_cap;
-  struct dict_object *dataobj_s6a_gmlc_addr;
-  struct dict_object *dataobj_s6a_subscription_data;
-  struct dict_object *dataobj_s6a_subscriber_status;
-  struct dict_object *dataobj_s6a_msisdn;
-  struct dict_object *dataobj_s6a_ambr;
-  struct dict_object *dataobj_s6a_network_access_mode;
-  struct dict_object *dataobj_s6a_access_restriction_data;
-  struct dict_object *dataobj_s6a_apn_configuration_profile;
-  struct dict_object *dataobj_s6a_subscribed_rau_tau_timer;
-  struct dict_object *dataobj_s6a_context_identifier;
-  /* All-APN-Configurations-Included-Indicator */
-  struct dict_object *dataobj_s6a_all_apn_conf_inc_ind;
-  struct dict_object *dataobj_s6a_apn_configuration;
-  /* Max-Requested-Bandwidth-UL */
-  struct dict_object *dataobj_s6a_max_bandwidth_ul;
-  /* Max-Requested-Bandwidth-DL */
-  struct dict_object *dataobj_s6a_max_bandwidth_dl;
-  struct dict_object *dataobj_s6a_pdn_type;
-  struct dict_object *dataobj_s6a_service_selection;
-  struct dict_object *dataobj_s6a_eps_subscribed_qos_profile;
-  struct dict_object *dataobj_s6a_qos_class_identifier;
-  struct dict_object *dataobj_s6a_allocation_retention_priority;
-  struct dict_object *dataobj_s6a_priority_level;
-  struct dict_object *dataobj_s6a_pre_emption_capability;
-  struct dict_object *dataobj_s6a_pre_emption_vulnerability;
-  struct dict_object *dataobj_s6a_served_party_ip_addr;
-} s6a_cnf_t;
-
-/* External definition of the S6A decriptor */
-extern s6a_cnf_t s6a_cnf;
-
-/* Length of IMSI should not exceed 15 digits */
-#define IMSI_LENGTH (15)
-#define IMEI_LENGTH (15)
-#define SV_LENGTH   (2)
-
-/* ULR-Flags meaning: */
-#define ULR_SINGLE_REGISTRATION_IND       (1U)
-#define ULR_S6A_S6D_INDICATOR             (1U << 1)
-#define ULR_SKIP_SUBSCRIBER_DATA          (1U << 2)
-#define ULR_GPRS_SUBSCRIPTION_DATA_IND    (1U << 3)
-#define ULR_NODE_TYPE_IND                 (1U << 4)
-#define ULR_INITIAL_ATTACH_IND            (1U << 5)
-#define ULR_PS_LCS_SUPPORTED_BY_UE        (1U << 6)
-#define ULR_PAD_VALID(x)                 ((x & ~0x7f) == 0)
-
-/* ULA-Flags */
-#define ULA_SEPARATION_IND          (1U)
-
-/* PUR-Flags */
-#define PUR_UE_PURGED_IN_MME      (1U)
-#define PUR_UE_PURGED_IN_SGSN     (1U << 1)
-#define PUR_PAD_VALID(x)         ((x & ~0x3) == 0)
-
-/* PUA-FLAGS */
-#define PUA_FREEZE_M_TMSI   (1U)
-#define PUA_FREEZE_P_TMSI   (1U << 1)
-
-/* Access-restriction-data bits */
-#define UTRAN_NOT_ALLOWED            (1U)
-#define GERAN_NOT_ALLOWED            (1U << 1)
-#define GAN_NOT_ALLOWED              (1U << 2)
-#define I_HSDPA_EVO_NOT_ALLOWED      (1U << 3)
-#define E_UTRAN_NOT_ALLOWED          (1U << 4)
-#define HO_TO_NON_3GPP_NOT_ALLOWED   (1U << 5)
-#define ARD_CHECK_PAD(x)            ((x & ~0x3f) == 0)
-
-#define FLAG_IS_SET(x, flag)  ((x) & (flag))
-
-#define FLAGS_SET(x, flags)   ((x) |= (flags))
-
-#define FLAGS_CLEAR(x, flags) ((x) = (x) & ~(flags))
-
-/** \brief Initialize the s6a layer using freeDiameter
- * \param hss_config_p pointer the global HSS configuration
- * @returns 0 if the init was successfull, != 0 in case of failure
- */
-int s6a_init(hss_config_t *hss_config_p);
-
-/** \brief Callback function for new equipements connections to the HSS. See
- * libfdproto from freeDiameter for more informations on the peer validate
- * callback
- * \param info Peer freeDiameter info
- * \param auth Result of the peer authentication, possible values:
- *  * 1  = accept
- *  * 0  = unknown
- *  * -1 = reject
- * \param cb2 possible second callback to validate the TLS authentication
- * @return 0 if the init was successfull, != 0 in case of failure
- */
-int s6a_peer_validate(struct peer_info *info, int *auth, int (**cb2)(struct peer_info *));
-
-/* Callback called when corresponding request/answer is received */
-int s6a_auth_info_cb(struct msg **msg, struct avp *paramavp,
-                     struct session *sess, void *opaque,
-                     enum disp_action *act);
-
-int s6a_up_loc_cb(struct msg **msg, struct avp *paramavp,
-                  struct session *sess, void *opaque,
-                  enum disp_action *act);
-
-int s6a_purge_ue_cb(struct msg **msg, struct avp *paramavp,
-                    struct session *sess, void *opaque,
-                    enum disp_action *act);
-
-int s6a_add_subscription_data_avp(struct msg *message, mysql_ul_ans_t *msql_ans);
-
-int s6a_add_result_code(struct msg *ans, struct avp *failed_avp,
-                        int result_code, int experimental);
-
-int s6a_add_ipv4_address(struct avp *avp, const char *ipv4_addr);
-int s6a_add_ipv6_address(struct avp *avp, const char *ipv6_addr);
-char *experimental_retcode_2_string(int ret_code);
-char *retcode_2_string(int ret_code);
-
-#endif /* S6A_PROTO_H_ */
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_purge_ue.c b/openair-cn/OPENAIRHSS/s6a/s6a_purge_ue.c
deleted file mode 100644
index c0bc0ee03151080128bcbb0007abe557dc3ee9c0..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_purge_ue.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file s6a_purge_ue.c
- * \brief Handle a purge UE request and generate the corresponding answer
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdproto.h>
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-
-int s6a_purge_ue_cb(struct msg **msg, struct avp *paramavp,
-                    struct session *sess, void *opaque,
-                    enum disp_action *act)
-{
-  struct msg *ans, *qry;
-  struct avp *avp, *failed_avp = NULL;
-  struct avp_hdr *hdr;
-
-  int ret = 0;
-  int result_code = ER_DIAMETER_SUCCESS;
-  int experimental = 0;
-  uint32_t pur_flags = 0;
-
-  /* MySQL requests and asnwer data */
-  mysql_pu_req_t pu_req;
-  mysql_pu_ans_t pu_ans;
-
-  if (msg == NULL) {
-    return EINVAL;
-  }
-
-  memset(&pu_req, 0, sizeof(mysql_pu_req_t));
-
-  qry = *msg;
-  /* Create the answer */
-  CHECK_FCT(fd_msg_new_answer_from_req(fd_g_config->cnf_dict, msg, 0));
-  ans = *msg;
-
-  /* Retrieving IMSI AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_imsi, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    if (hdr->avp_value->os.len > IMSI_LENGTH) {
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-      goto out;
-    }
-
-    sprintf(pu_req.imsi, "%*s", (int)hdr->avp_value->os.len, hdr->avp_value->os.data);
-  } else {
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Retrieving the PUR-Flags if present */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_pur_flags, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-    pur_flags = hdr->avp_value->u32;
-
-    if (FLAG_IS_SET(pur_flags, PUR_UE_PURGED_IN_SGSN)) {
-      /* This bit shall not be set by a standalone MME. */
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-      goto out;
-    }
-  }
-
-  if ((ret = hss_mysql_purge_ue(&pu_req, &pu_ans)) != 0) {
-    /* We failed to find the IMSI in the database. Replying to the request
-     * with the user unknown cause.
-     */
-    experimental = 1;
-    result_code = DIAMETER_ERROR_USER_UNKNOWN;
-    goto out;
-  }
-
-  /* Retrieving Origin host AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_origin_host, &avp));
-
-  if (!avp) {
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Retrieve the header from origin host and realm avps */
-  CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-  if (strncmp(pu_ans.mme_host, (char *)hdr->avp_value->os.data, hdr->avp_value->os.len) != 0) {
-    result_code = DIAMETER_ERROR_UNKOWN_SERVING_NODE;
-    experimental = 1;
-    goto out;
-  }
-
-  /* Retrieving Origin realm AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_origin_realm, &avp));
-
-  if (!avp) {
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-  if (strncmp(pu_ans.mme_realm, (char *)hdr->avp_value->os.data, hdr->avp_value->os.len) != 0) {
-    result_code = DIAMETER_ERROR_UNKOWN_SERVING_NODE;
-    experimental = 1;
-    goto out;
-  }
-
-out:
-  /* Append the result code to the answer */
-  CHECK_FCT(s6a_add_result_code(ans, failed_avp, result_code, experimental));
-
-  CHECK_FCT(fd_msg_send(msg, NULL, NULL ));
-  return 0;
-}
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_subscription_data.c b/openair-cn/OPENAIRHSS/s6a/s6a_subscription_data.c
deleted file mode 100644
index 5bec27ac6b76d4c575e966b92ebe1f17660dbe4c..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_subscription_data.c
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-
-/*! \file s6a_subscription_data.c
- * \brief Add the subscription data to a message. Data are retrieved from database
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-int s6a_add_subscription_data_avp(struct msg *message, mysql_ul_ans_t *mysql_ans)
-{
-  int             ret = -1, i = 0;
-  mysql_pdn_t    *pdns = NULL;
-  uint8_t         nb_pdns = 0;
-  struct avp     *avp = NULL, *child_avp = NULL;
-  union avp_value value;
-
-  if (mysql_ans == NULL) {
-    return -1;
-  }
-
-  ret = hss_mysql_query_pdns(mysql_ans->imsi, &pdns, &nb_pdns);
-
-  if (ret != 0) {
-    /* mysql query failed:
-     * - maybe no more memory
-     * - maybe user is not known (should have failed before)
-     * - maybe imsi has no EPS subscribed
-     */
-    goto out;
-  }
-
-  if (nb_pdns == 0) {
-    /* No PDN for this user -> DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION */
-    return -1;
-  }
-
-  /* Create the Subscription-Data AVP */
-  CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_subscription_data, 0, &avp));
-
-  {
-    uint8_t msisdn_len = strlen(mysql_ans->msisdn);
-
-    /* The MSISDN is known in the HSS, add it to the subscription data */
-    if (msisdn_len > 0) {
-      CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_msisdn, 0, &child_avp));
-      value.os.data = (uint8_t *)mysql_ans->msisdn;
-      value.os.len  = msisdn_len;
-      CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-      CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-    }
-  }
-
-  /* We have to include the acess-restriction-data if the value stored in DB
-   * indicates that at least one restriction is applied to the USER.
-   */
-  if (mysql_ans->access_restriction != 0) {
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_access_restriction_data, 0, &child_avp));
-    value.u32 = (uint32_t)mysql_ans->access_restriction;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-  }
-
-  /* Add the Subscriber-Status to the list of AVP.
-   * It shall indicate if the service is barred or granted.
-   * TODO: normally this parameter comes from DB...
-   */
-  CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_subscriber_status, 0, &child_avp));
-  /* SERVICE_GRANTED */
-  value.u32 = 0;
-  CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-  CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-
-  /* Add the Network-Access-Mode to the list of AVP.
-   * LTE Standalone HSS/MME: ONLY_PACKET.
-   */
-  CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_network_access_mode, 0, &child_avp));
-  /* SERVICE_GRANTED */
-  value.u32 = 2;
-  CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-  CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-
-  /* Add the AMBR to list of AVPs */
-  {
-    struct avp *bandwidth;
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_ambr, 0, &child_avp));
-
-    /* Uplink bandwidth */
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_max_bandwidth_ul, 0, &bandwidth));
-    value.u32 = mysql_ans->aggr_ul;
-    CHECK_FCT(fd_msg_avp_setvalue(bandwidth, &value));
-    CHECK_FCT(fd_msg_avp_add(child_avp, MSG_BRW_LAST_CHILD, bandwidth));
-
-    /* Downlink bandwidth */
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_max_bandwidth_dl, 0, &bandwidth));
-    value.u32 = mysql_ans->aggr_dl;
-    CHECK_FCT(fd_msg_avp_setvalue(bandwidth, &value));
-    CHECK_FCT(fd_msg_avp_add(child_avp, MSG_BRW_LAST_CHILD, bandwidth));
-
-    CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-  }
-
-  /* Add the APN-Configuration-Profile only if at least one APN is subscribed */
-  if (nb_pdns > 0) {
-    struct avp *apn_profile;
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_apn_configuration_profile,
-                             0, &apn_profile));
-
-    /* Context-Identifier */
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_context_identifier, 0, &child_avp));
-    value.u32 = 0;
-    /* TODO: this is the reference to the default APN... */
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(apn_profile, MSG_BRW_LAST_CHILD, child_avp));
-
-    /* All-APN-Configurations-Included-Indicator */
-    CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_all_apn_conf_inc_ind, 0, &child_avp));
-    value.u32 = 0;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(apn_profile, MSG_BRW_LAST_CHILD, child_avp));
-
-    for (i = 0; i < nb_pdns; i++) {
-      struct avp *apn_configuration;
-      mysql_pdn_t *pdn_elm;
-
-      pdn_elm = &pdns[i];
-
-      /* APN-Configuration */
-      CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_apn_configuration, 0, &apn_configuration));
-
-      /* Context-Identifier */
-      CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_context_identifier, 0, &child_avp));
-      value.u32 = i;
-      CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-      CHECK_FCT(fd_msg_avp_add(apn_configuration, MSG_BRW_LAST_CHILD, child_avp));
-
-      /* PDN-Type */
-      CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_pdn_type, 0, &child_avp));
-      value.u32 = pdn_elm->pdn_type;
-      CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-      CHECK_FCT(fd_msg_avp_add(apn_configuration, MSG_BRW_LAST_CHILD, child_avp));
-
-      if ((pdn_elm->pdn_type == IPV4) ||
-          (pdn_elm->pdn_type == IPV4_OR_IPV6) ||
-          (pdn_elm->pdn_type == IPV4V6)) {
-        s6a_add_ipv4_address(apn_configuration, pdn_elm->pdn_address.ipv4_address);
-      }
-
-      if ((pdn_elm->pdn_type == IPV6) ||
-          (pdn_elm->pdn_type == IPV4_OR_IPV6) ||
-          (pdn_elm->pdn_type == IPV4V6)) {
-        s6a_add_ipv6_address(apn_configuration, pdn_elm->pdn_address.ipv6_address);
-      }
-
-      /* Service-Selection */
-      CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_service_selection, 0, &child_avp));
-      value.os.data = (uint8_t*)pdn_elm->apn;
-      value.os.len  = strlen(pdn_elm->apn);
-      CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-      CHECK_FCT(fd_msg_avp_add(apn_configuration, MSG_BRW_LAST_CHILD, child_avp));
-
-      /* Add the eps subscribed qos profile */
-      {
-        struct avp *qos_profile, *allocation_priority;
-        CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_eps_subscribed_qos_profile, 0, &qos_profile));
-
-        CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_qos_class_identifier, 0, &child_avp));
-        /* For a QCI_1 */
-        value.u32 = (uint32_t)pdn_elm->qci;
-        CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-        CHECK_FCT(fd_msg_avp_add(qos_profile, MSG_BRW_LAST_CHILD, child_avp));
-
-        /* Allocation retention priority */
-        {
-          CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_allocation_retention_priority, 0, &allocation_priority));
-
-          /* Priority level */
-          CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_priority_level, 0, &child_avp));
-          value.u32 = (uint32_t)pdn_elm->priority_level;
-          CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-          CHECK_FCT(fd_msg_avp_add(allocation_priority, MSG_BRW_LAST_CHILD, child_avp));
-
-          /* Pre-emption-capability */
-          CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_pre_emption_capability, 0, &child_avp));
-          value.u32 = (uint32_t)pdn_elm->pre_emp_cap;
-          CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-          CHECK_FCT(fd_msg_avp_add(allocation_priority, MSG_BRW_LAST_CHILD, child_avp));
-
-          /* Pre-emption-vulnerability */
-          CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_pre_emption_vulnerability, 0, &child_avp));
-          value.u32 = (uint32_t)pdn_elm->pre_emp_vul;
-          CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-          CHECK_FCT(fd_msg_avp_add(allocation_priority, MSG_BRW_LAST_CHILD, child_avp));
-
-          CHECK_FCT(fd_msg_avp_add(qos_profile, MSG_BRW_LAST_CHILD, allocation_priority));
-        }
-        CHECK_FCT(fd_msg_avp_add(apn_configuration, MSG_BRW_LAST_CHILD, qos_profile));
-      }
-
-      /* Add the AMBR to list of AVPs */
-      {
-        struct avp *bandwidth;
-        CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_ambr, 0, &bandwidth));
-
-        /* Uplink bandwidth */
-        CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_max_bandwidth_ul, 0, &child_avp));
-        value.u32 = (uint32_t)pdn_elm->aggr_ul;
-        CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-        CHECK_FCT(fd_msg_avp_add(bandwidth, MSG_BRW_LAST_CHILD, child_avp));
-
-        /* Downlink bandwidth */
-        CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_max_bandwidth_dl, 0, &child_avp));
-        value.u32 = (uint32_t)pdn_elm->aggr_dl;
-        CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-        CHECK_FCT(fd_msg_avp_add(bandwidth, MSG_BRW_LAST_CHILD, child_avp));
-
-        CHECK_FCT(fd_msg_avp_add(apn_configuration, MSG_BRW_LAST_CHILD, bandwidth));
-      }
-
-      CHECK_FCT(fd_msg_avp_add(apn_profile, MSG_BRW_LAST_CHILD, apn_configuration));
-    }
-
-    CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, apn_profile));
-  }
-
-  /* Subscribed-Periodic-RAU-TAU-Timer */
-  CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_subscribed_rau_tau_timer, 0, &child_avp));
-  /* Request an RAU/TAU update every x seconds */
-  value.u32 = (uint32_t)mysql_ans->rau_tau;
-  CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-  CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-
-  /* Add the AVP to the message */
-  CHECK_FCT(fd_msg_avp_add(message, MSG_BRW_LAST_CHILD, avp));
-
-out:
-
-  if (pdns) {
-    free(pdns);
-  }
-
-  return ret;
-}
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_supported_features.c b/openair-cn/OPENAIRHSS/s6a/s6a_supported_features.c
deleted file mode 100644
index a2d0dd7791f106ebc3e0f57903185d53e1eddbe5..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_supported_features.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file s6a_supported_features.c
- * \brief
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_supported_features.h b/openair-cn/OPENAIRHSS/s6a/s6a_supported_features.h
deleted file mode 100644
index 5fc278a732ed950f80f399afd44cf2bdbcab6a3a..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_supported_features.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "hss_config.h"
-
-#ifndef S6A_SUPPORTED_FEATURES_H_
-#define S6A_SUPPORTED_FEATURES_H_
-
-/* Operator Determined Barring of all Packet Oriented Services. */
-#define ODB_ALL_APN(x)       (x & 0x1)
-
-/* Operator Determined Barring of Packet Oriented Services from access points
- * that are within the HPLMN whilst the subscriber is roaming in a VPLMN.
- */
-#define ODB_HPLMN_APN(x)    ((x & 0x2) >> 1)
-
-/* Operator Determined Barring of Packet Oriented Services from access points
- * that are within the roamed to VPLMN
- */
-#define ODB_VPLMN_APN(x)    ((x & 0x4) >> 2)
-
-/* Operator Determined Barring of all outgoing calls */
-#define ODB_ALL_OG(x)       ((x & 0x8) >> 3)
-
-/* Operator Determined Barring of all outgoing international calls */
-#define ODB_ALL_INT_OG      ((x & 0x10) >> 4)
-
-/* Operator Determined Barring of all outgoing international calls except those
- * directed to the home PLMN country
- */
-#define ODB_ALL_INT_NOT_TO_HPLMN(x) ((x & 0x20) >> 5)
-
-/* Operator Determined Barring of all outgoing inter-zonal calls */
-#define ODB_ALL_INT_ZONE_OG(x)      ((x & 0x40) >> 6)
-
-/* Operator Determined Barring of all outgoing inter-zonal calls except those
- * directed to the home PLMN country
- */
-#define ODB_ALL_INT_ZONE_OG_NOT_TO_HPLMN(x) ((x & 0x80) >> 7)
-
-/* Operator Determined Barring of all outgoing international calls except those
- * directed to the home PLMN country and Barring of all outgoing inter-zonal calls
- */
-#define ODB_ALL_INT_ZONE_OG_AND_INT_OG_NOT_TO_HPLMN(x)  ((x & 0x100) >> 8)
-
-/* Regional Subscription */
-#define REG_SUB(x)  ((x & 0x200) >> 9)
-
-/* Trace Function */
-#define TRACE(x)    ((x & 0x400) >> 10)
-
-/* All LCS Privacy Exception Classes */
-#define LCS_ALL_PRIV_EXCEP(x)   ((x & 0x800) >> 11)
-
-/* Allow location by any LCS client */
-#define LCS_UNIVERSAL(x)        ((x & 0x1000) >> 12)
-
-/* Allow location by any value added LCS client to which a call/session is
- * established from the target UE
- */
-#define LCS_CALL_SESS_RELATED(x)    ((x & 0x2000) >> 13)
-
-/* Allow location by designated external value added LCS clients */
-#define LCS_CALL_SESS_UNRELATED(x)  ((x & 0x4000) >> 14)
-
-/* Allow location by designated PLMN operator LCS clients */
-#define LCS_PLMN_OPERATOR(x)    ((x & 0x8000) >> 15)
-
-/* Allow location by LCS clients of a designated LCS service type */
-#define LCS_SERVICE_TYPE(x)     ((x & 0x10000) >> 16)
-
-/* All Mobile Originating Location Request Classes */
-#define LCS_ALL_MOLR_SS(x)      ((x & 0x20000) >> 17)
-
-/* Allow an MS to request its own location */
-#define LCS_BASIC_SELF_LOCATION(x) ((x & 0x40000) >> 18)
-
-/* Allow an MS to perform self location without interaction with the PLMN */
-#define LCS_AUTO_SELF_LOCATION(x)   ((x & 0x80000) >> 19)
-
-/* Allow an MS to request transfer of its location to another LCS client */
-#define LCS_TRANSFER_TO_THIRD_PARTY(x)  ((x & 0x100000) >> 20)
-
-/* Short Message MO-PP */
-#define SM_MO_PP(x) ((x & 0x200000) >> 21)
-
-/* Barring of Outgoing Calls */
-#define BARRING_OUTGOING_CALLS(x)   ((x & 0x400000) >> 22)
-
-/* Barring of all outgoing calls */
-#define BAOC(x) ((x & 0x800000) >> 23)
-
-/* Barring of outgoing international calls */
-#define BOIC(x) ((x & 0x1000000) >> 24)
-
-/* Barring of outgoing international calls except those directed to the home PLMN
- * Country
- */
-#define BOIC_EXCEPT_HC(x)   ((x & 0x2000000) >> 25)
-
-/* UE Reachability Notifcation */
-#define UE_REACH_NOTIF(x)   ((x & 0x4000000) >> 26)
-
-/* Terminating Access Domain Selection Data Retrieval */
-#define T_ADS_DATA_RETR(x)  ((x & 0x8000000) >> 27)
-
-/* State/Location Information Retrieval */
-#define STATE_LOCATION_INFO_RETR(x) ((x & 0x10000000) >> 28)
-
-/* Partial Purge from a Combined MME/SGSN */
-#define PARTIAL_PURGE(x)    ((x & 0x20000000) >> 29)
-
-#define SUPP_FEAT_PAD_VALID(x)  ((x & 0xfc000000) == 0)
-
-#endif /* S6A_SUPPORTED_FEATURES_H_ */
diff --git a/openair-cn/OPENAIRHSS/s6a/s6a_up_loc.c b/openair-cn/OPENAIRHSS/s6a/s6a_up_loc.c
deleted file mode 100644
index 3c3b8519a861df065f20966945710100eafecba4..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/s6a/s6a_up_loc.c
+++ /dev/null
@@ -1,432 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file s6a_up_loc.c
- * \brief Handle an update location message and create the answer.
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdproto.h>
-#include "hss_config.h"
-#include "db_proto.h"
-#include "s6a_proto.h"
-#include "access_restriction.h"
-
-int s6a_up_loc_cb(struct msg **msg, struct avp *paramavp,
-                  struct session *sess, void *opaque,
-                  enum disp_action *act)
-{
-  struct msg *ans, *qry;
-  struct avp *avp, *origin_host, *origin_realm;
-  struct avp *failed_avp = NULL;
-
-  struct avp_hdr *origin_host_hdr, *origin_realm_hdr;
-  struct avp_hdr *hdr;
-
-  union avp_value value;
-
-  int ret = 0;
-  int result_code = ER_DIAMETER_SUCCESS;
-  int experimental = 0;
-  uint32_t ulr_flags = 0;
-
-  mysql_ul_ans_t  mysql_ans;
-  mysql_ul_push_t mysql_push;
-
-  if (msg == NULL) {
-    return EINVAL;
-  }
-
-  memset(&mysql_push, 0, sizeof(mysql_ul_push_t));
-  memset(&mysql_ans,  0, sizeof(mysql_ul_ans_t));
-
-  fprintf(stdout, "Received new update location request\n");
-
-  qry = *msg;
-  /* Create the answer */
-  CHECK_FCT(fd_msg_new_answer_from_req(fd_g_config->cnf_dict, msg, 0));
-  ans = *msg;
-
-  /* Retrieving IMSI AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_imsi, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    if (hdr->avp_value->os.len > IMSI_LENGTH) {
-      fprintf(stdout, "IMSI_LENGTH ER_DIAMETER_INVALID_AVP_VALUE\n");
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-      goto out;
-    }
-
-    // 3GPP TS 29.272-910 / 5.2.1.1.3 Detailed behaviour of the HSS
-    // When receiving an Update Location request the HSS shall check whether the IMSI is known.
-    // If it is not known, a Result Code of DIAMETER_ERROR_USER_UNKNOWN shall be returned.
-    // If it is known, but the subscriber has no EPS subscription, the HSS may (as an operator option)
-    //     return a Result Code of DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION.
-    // If the Update Location Request is received over the S6a interface, and the subscriber has not
-    //     any APN configuration, the HSS shall return a Result Code of DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION.
-    // The HSS shall check whether the RAT type the UE is using  is allowed. If it is not,
-    //     a Result Code of DIAMETER_ERROR_RAT_NOT_ALLOWED shall be returned.
-    // ...
-    sprintf(mysql_push.imsi, "%*s", (int)hdr->avp_value->os.len,
-            (char*)hdr->avp_value->os.data);
-
-    if ((ret = hss_mysql_update_loc(mysql_push.imsi, &mysql_ans)) != 0) {
-      /* We failed to find the IMSI in the database. Replying to the request
-       * with the user unknown cause.
-       */
-      experimental = 1;
-      fprintf(stdout, "IMSI %s DIAMETER_ERROR_USER_UNKNOWN\n", mysql_push.imsi);
-      result_code = DIAMETER_ERROR_USER_UNKNOWN;
-      goto out;
-    }
-  } else {
-    fprintf(stderr, "Cannot get IMSI AVP which is mandatory\n");
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Retrieving Origin host AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_origin_host, &origin_host));
-
-  if (!origin_host) {
-	fprintf(stderr, "origin_host ER_DIAMETER_MISSING_AVP\n");
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Retrieving Origin realm AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_origin_realm, &origin_realm));
-
-  if (!origin_realm) {
-	fprintf(stderr, "origin_realm ER_DIAMETER_MISSING_AVP\n");
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Retrieve the header from origin host and realm avps */
-  CHECK_FCT(fd_msg_avp_hdr(origin_host, &origin_host_hdr));
-  CHECK_FCT(fd_msg_avp_hdr(origin_realm, &origin_realm_hdr));
-
-  sprintf(mysql_push.mme_identity.mme_host, "%*s",
-          (int)origin_host_hdr->avp_value->os.len,
-          (char*)origin_host_hdr->avp_value->os.data);
-
-  sprintf(mysql_push.mme_identity.mme_realm, "%*s",
-          (int)origin_realm_hdr->avp_value->os.len,
-          (char*)origin_realm_hdr->avp_value->os.data);
-
-  /* Retrieving RAT type AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_rat_type, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    /* As we are in E-UTRAN stand-alone HSS, we have to reject incoming
-     * location request with a RAT-Type != than E-UTRAN.
-     * The user may be disallowed to use the specified RAT, check the access
-     * restriction bit mask received from DB.
-     */
-    if ((hdr->avp_value->u32 != 1004) ||
-        (FLAG_IS_SET(mysql_ans.access_restriction, E_UTRAN_NOT_ALLOWED))) {
-      experimental = 1;
-      fprintf(stderr, "access_restriction DIAMETER_ERROR_RAT_NOT_ALLOWED\n");
-      result_code = DIAMETER_ERROR_RAT_NOT_ALLOWED;
-      goto out;
-    }
-  } else {
-      fprintf(stderr, "rat_type ER_DIAMETER_MISSING_AVP\n");
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Retrieving ULR Flags AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_ulr_flags, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-    ulr_flags = hdr->avp_value->u32;
-
-    /* Check the flags received */
-    if (FLAG_IS_SET(ulr_flags, ULR_SINGLE_REGISTRATION_IND)) {
-      /* We don't handle cases where we have to inform SGSN */
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-
-      fprintf(stderr, "ULR single registration bit set (SGSN to MME): "
-              "not handled by standalone E-UTRAN HSS\n");
-      goto out;
-    }
-
-    if (!FLAG_IS_SET(ulr_flags, ULR_S6A_S6D_INDICATOR)) {
-      /* The request is coming from s6d interface (SGSN). */
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-
-      fprintf(stderr, "ULR S6D bit set: "
-              "not handled by standalone E-UTRAN HSS\n");
-      goto out;
-    }
-
-    if (FLAG_IS_SET(ulr_flags, ULR_NODE_TYPE_IND)) {
-      /* Request coming from combined SGSN/MME. */
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-      fprintf(stderr, "ULR conbined SGSN/MME bit set: "
-              "not handled by standalone E-UTRAN HSS\n");
-      goto out;
-    }
-
-    if (FLAG_IS_SET(ulr_flags, ULR_INITIAL_ATTACH_IND)) {
-      /* This bit, when set, indicates that the HSS shall send Cancel
-       * Location to the MME or SGSN if there is the MME or SGSN
-       * registration.
-       */
-      // TODO: check if an MME is already registered, serving the UE.
-      // If so, it should be informed.
-
-      /* The identity of the MME will be added to db */
-      mysql_push.mme_identity_present = MME_IDENTITY_PRESENT;
-    } else {
-      /* The bit is not set, we are expecting that the mme contained in db
-       * matches the original MME.
-       */
-      if ((mysql_ans.mme_identity.mme_host != NULL) &&
-          (mysql_ans.mme_identity.mme_realm != NULL)) {
-        /* Compare if values match expected */
-        if (memcmp(mysql_ans.mme_identity.mme_host, origin_host_hdr->avp_value->os.data,
-                   origin_host_hdr->avp_value->os.len > strlen(mysql_ans.mme_identity.mme_host) ?
-                   strlen(mysql_ans.mme_identity.mme_host) : origin_host_hdr->avp_value->os.len) != 0) {
-          experimental = 1;
-          fprintf(stderr, "DIAMETER_ERROR_UNKOWN_SERVING_NODE (host)\n");
-          result_code = DIAMETER_ERROR_UNKOWN_SERVING_NODE;
-          goto out;
-        }
-
-        if (memcmp(mysql_ans.mme_identity.mme_realm, origin_realm_hdr->avp_value->os.data,
-                   origin_realm_hdr->avp_value->os.len > strlen(mysql_ans.mme_identity.mme_realm) ?
-                   strlen(mysql_ans.mme_identity.mme_realm) : origin_realm_hdr->avp_value->os.len) != 0) {
-          experimental = 1;
-          fprintf(stderr, "DIAMETER_ERROR_UNKOWN_SERVING_NODE (realm)\n");
-          result_code = DIAMETER_ERROR_UNKOWN_SERVING_NODE;
-          goto out;
-        }
-      } else {
-        /* Failed to retrieve current serving MME and the ULR is not
-         * marked as an initial attach indication...
-         */
-        experimental = 1;
-        fprintf(stderr, "DIAMETER_ERROR_UNKOWN_SERVING_NODE\n");
-        result_code = DIAMETER_ERROR_UNKOWN_SERVING_NODE;
-        goto out;
-      }
-    }
-
-    if (!ULR_PAD_VALID(ulr_flags)) {
-      /* Padding is not zero'ed, may be the MME/SGSN supports newer
-       * release. Inform it.
-       */
-        fprintf(stderr, "ULR flags ER_DIAMETER_INVALID_AVP_VALUE\n");
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-      goto out;
-    }
-  } else {
-      fprintf(stderr, "ULR flags ER_DIAMETER_MISSING_AVP\n");
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Retrieving Visited-PLMN-Id AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_visited_plmn_id, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    /* Roaming cases are not allowed for now.
-     * Reject the connectivity if PLMN visited and IMSI PLMN disagree.
-     */
-    /* TODO */
-    if (hdr->avp_value->os.len == 3) {
-      //             if (apply_access_restriction(mysql_push.imsi, hdr->avp_value->os.data) != 0) {
-      //                 /* We found that user is roaming and has no right to do it ->
-      //                 * reject the connection
-      //                 */
-      //                 result_code = DIAMETER_ERROR_ROAMING_NOT_ALLOWED;
-      //                 experimental = 1;
-      //                 goto out;
-      //             }
-    } else {
-        fprintf(stderr, "PLMN ID ER_DIAMETER_INVALID_AVP_VALUE\n");
-      result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-      goto out;
-    }
-  } else {
-      fprintf(stderr, "PLMN ID ER_DIAMETER_MISSING_AVP\n");
-    result_code = ER_DIAMETER_MISSING_AVP;
-    goto out;
-  }
-
-  /* Retrieving Terminal-Information AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_terminal_info, &avp));
-
-  if (avp) {
-    struct avp *child_avp;
-
-    /* Walk through childs avp */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_FIRST_CHILD, &child_avp, NULL));
-
-    while (child_avp) {
-      /* Retrieve the header of the child avp */
-      CHECK_FCT(fd_msg_avp_hdr(child_avp, &hdr));
-
-      switch(hdr->avp_code) {
-      case AVP_CODE_IMEI: {
-        /* Check that we do not exceed the maximum size for IMEI */
-        if (hdr->avp_value->os.len > IMEI_LENGTH) {
-          fprintf(stderr, "terminal info ER_DIAMETER_INVALID_AVP_VALUE\n");
-          result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-          failed_avp  = child_avp;
-          goto out;
-        }
-
-        sprintf(mysql_push.imei, "%*s", (int)hdr->avp_value->os.len,
-                hdr->avp_value->os.data);
-        mysql_push.imei_present = IMEI_PRESENT;
-      }
-      break;
-
-      case AVP_CODE_SOFTWARE_VERSION: {
-        /* Check the size for SV */
-        if (hdr->avp_value->os.len != SV_LENGTH) {
-            fprintf(stderr, "software version ER_DIAMETER_INVALID_AVP_VALUE\n");
-          result_code = ER_DIAMETER_INVALID_AVP_VALUE;
-          failed_avp  = child_avp;
-          goto out;
-        }
-
-        mysql_push.software_version[0] = hdr->avp_value->os.data[0];
-        mysql_push.software_version[1] = hdr->avp_value->os.data[1];
-        mysql_push.sv_present = SV_PRESENT;
-      }
-      break;
-
-      default: /* Fall through */
-      case AVP_CODE_3GPP2_MEID: {
-        /* This AVP is not expected on s6a interface */
-          fprintf(stderr, "AVP_CODE_3GPP2_MEID ER_DIAMETER_AVP_UNSUPPORTED\n");
-        result_code = ER_DIAMETER_AVP_UNSUPPORTED;
-        failed_avp  = child_avp;
-        goto out;
-      }
-      }
-
-      /* Go to next AVP in the grouped AVP */
-      CHECK_FCT(fd_msg_browse(child_avp, MSG_BRW_NEXT, &child_avp, NULL));
-    }
-  }
-
-  /* Retrieving UE-SRVCC AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_ue_srvcc_cap, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-    mysql_push.ue_srvcc_present = UE_SRVCC_PRESENT;
-    mysql_push.ue_srvcc = hdr->avp_value->u32;
-  }
-
-  /* Retrieving Supported features list AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_supported_features, &avp));
-
-  if (avp) {
-    struct avp *child_avp;
-
-    /* Walk through childs avp */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_FIRST_CHILD, &child_avp, NULL));
-
-    while (child_avp) {
-      /* Retrieve the header of the child avp */
-      CHECK_FCT(fd_msg_avp_hdr(child_avp, &hdr));
-
-      switch(hdr->avp_code) {
-      case AVP_CODE_VENDOR_ID: {
-        if (hdr->avp_value->u32 != VENDOR_3GPP) {
-          /* features from a vendor other than 3GPP is not supported */
-          fprintf(stderr, "Cannot interpret features list with vendor id "
-                  "different than 3GPP(%d)\n", VENDOR_3GPP);
-          continue;
-        }
-      }
-      break;
-
-      case AVP_CODE_FEATURE_LIST: {
-        mysql_push.mme_supported_features_present = MME_SUPPORTED_FEATURES_PRESENT;
-        mysql_push.mme_supported_features = hdr->avp_value->u32;
-      }
-      break;
-      }
-
-      /* Go to next AVP in the grouped AVP */
-      CHECK_FCT(fd_msg_browse(child_avp, MSG_BRW_NEXT, &child_avp, NULL));
-    }
-  }
-
-  mysql_push_up_loc(&mysql_push);
-
-  /* ULA flags */
-  CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_ula_flags, 0, &avp));
-  value.u32 = 1;
-  CHECK_FCT(fd_msg_avp_setvalue(avp, &value));
-  CHECK_FCT(fd_msg_avp_add(ans, MSG_BRW_LAST_CHILD, avp));
-
-  /* Only add the subscriber data if not marked as skipped by MME */
-  if (!FLAG_IS_SET(ulr_flags, ULR_SKIP_SUBSCRIBER_DATA)) {
-    if (s6a_add_subscription_data_avp(ans, &mysql_ans) != 0) {
-        fprintf(stderr, "ULR_SKIP_SUBSCRIBER_DATA DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION\n");
-      result_code = DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION;
-      experimental = 1;
-      goto out;
-    }
-  }
-
-out:
-  /* Add the Auth-Session-State AVP */
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_cnf.dataobj_s6a_auth_session_state, &avp));
-  CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-  CHECK_FCT(fd_msg_avp_new(s6a_cnf.dataobj_s6a_auth_session_state, 0, &avp));
-  CHECK_FCT(fd_msg_avp_setvalue(avp, hdr->avp_value));
-  CHECK_FCT(fd_msg_avp_add(ans, MSG_BRW_LAST_CHILD, avp));
-
-  /* Append the result code to the answer */
-  CHECK_FCT(s6a_add_result_code(ans, failed_avp, result_code, experimental));
-
-  CHECK_FCT(fd_msg_send(msg, NULL, NULL ));
-  return 0;
-}
diff --git a/openair-cn/OPENAIRHSS/scripts/COPYING b/openair-cn/OPENAIRHSS/scripts/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/scripts/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OPENAIRHSS/scripts/install_hss.sh b/openair-cn/OPENAIRHSS/scripts/install_hss.sh
deleted file mode 100644
index c1b02c6315b2c0b6e06e0e994ab8032e62beee2c..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/scripts/install_hss.sh
+++ /dev/null
@@ -1,145 +0,0 @@
-# !/bin/sh
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-
-CURRENT_PATH=`pwd`
-
-sudo apt-get install autoconf automake gawk cmake make gcc flex bison libsctp1 libsctp-dev libidn2-0-dev \
-libidn11-dev libmysqlclient-dev libxml2-dev swig python-dev cmake-curses-gui \
-valgrind guile-2.0-dev libgmp-dev libgcrypt11-dev gdb unzip libtasn1-3-dev g++ \
-linux-headers-`uname -r` build-essential -y
-
-
-if [ -f install_log.txt ]
-    then
-    rm -f install_log.txt
-fi
-
-if [ ! -d /usr/local/src/ ]
-    then
-    echo "/usr/local/src/ doesn't exist please create one"
-    exit -1
-fi
-
-if [ ! -w /usr/local/src/ ]
-    then
-    echo "You don't have permissions to write to /usr/local/src/"
-    exit -1
-fi
-
-cd /usr/local/src/
-echo "Downloading nettle archive"
-
-if [ -f nettle-2.5.tar.gz ]
-    then
-    rm -f nettle-2.5.tar.gz
-fi
-if [ -f nettle-2.5.tar ]
-    then
-    rm -f nettle-2.5.tar
-fi
-if [ -d nettle-2.5 ]
-    then
-    rm -rf nettle-2.5/
-fi
-
-wget ftp://ftp.lysator.liu.se/pub/security/lsh/nettle-2.5.tar.gz > install_log.txt
-gunzip nettle-2.5.tar.gz > install_log.txt
-echo "Uncompressing nettle archive"
-tar -xf nettle-2.5.tar
-cd nettle-2.5/
-./configure --disable-openssl --enable-shared --prefix=/usr > install_log.txt
-if [ $? -ne 0 ]
-then
-    exit -1
-fi
-echo "Compiling nettle"
-make -j2 > install_log.txt 2>&1
-make check > install_log.txt
-sudo make install > install_log.txt
-cd ../
-
-echo "Downloading gnutls archive"
-
-if [ -f gnutls-3.1.0.tar.xz ]
-    then
-    rm -f gnutls-3.1.0.tar.xz
-fi
-if [ -d gnutls-3.1.0/ ]
-    then
-    rm -rf gnutls-3.1.0/
-fi
-
-wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.0.tar.xz > install_log.txt
-tar -xf gnutls-3.1.0.tar.xz
-echo "Uncompressing gnutls archive"
-cd gnutls-3.1.0/
-./configure --prefix=/usr
-if [ $? -ne 0 ]
-then
-    exit -1
-fi
-echo "Compiling gnutls"
-make -j2 > install_log.txt 2>&1
-sudo make install > install_log.txt
-cd ../
-
-echo "Downloading freeDiameter archive"
-
-if [ -f 1.1.5.tar.gz ]
-    then
-    rm -f 1.1.5.tar.gz
-fi
-if [ -d freeDiameter-1.1.5/ ]
-    then
-    rm -rf freeDiameter-1.1.5/
-fi
-
-wget http://www.freediameter.net/hg/freeDiameter/archive/1.1.5.tar.gz > install_log.txt
-tar -xzf 1.1.5.tar.gz > install_log.txt
-echo "Uncompressing freeDiameter archive"
-cd freeDiameter-1.1.5
-echo "Patching freeDiameter"
-patch -p1 < $OPENAIRCN_DIR/S6A/freediameter/freediameter-1.1.5.patch > install_log.txt
-mkdir build
-cd build
-# optionaly if needed add -DCMAKE_BUILD_TYPE=debug
-cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../ > install_log.txt
-if [ $? -ne 0 ]
-then
-    exit -1
-fi
-echo "Compiling freeDiameter"
-make -j2 > install_log.txt 2>&1
-#make help
-make test > install_log.txt
-sudo make install > install_log.txt
-
-cd $OPENAIRCN_DIR/OPENAIRHSS/conf
-./make_certs.sh
diff --git a/openair-cn/OPENAIRHSS/tests/COPYING b/openair-cn/OPENAIRHSS/tests/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OPENAIRHSS/tests/Makefile.am b/openair-cn/OPENAIRHSS/tests/Makefile.am
deleted file mode 100644
index b149c8058cee481078248e69c1a6f3327642fbec..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/Makefile.am
+++ /dev/null
@@ -1,88 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-# if HAVE_CHECK
-# TESTS = up_loc_test
-# else
-# TESTS =
-# endif
-AM_CFLAGS = @CHECK_CFLAGS@	\
-	-I$(top_srcdir)/auc
-
-if HAVE_CHECK
-TESTS = up_loc_test test_security_f1	\
-	test_security_f2_f3_f5		\
-	test_security_f4_f5star		\
-	test_kdf	\
-	test_security_kasme
-else
-TESTS =
-endif
-
-test_common = \
-	$(top_builddir)/auc/libauc.la	\
-	libtest_utils.la	\
-	@CHECK_LIBS@
-
-up_loc_test_LDADD  = \
-	libtest_utils.la	\
-	@CHECK_LIBS@
-
-test_security_f1_LDADD = \
-	$(test_common)
-
-test_security_f2_f3_f5_LDADD = \
-	$(test_common)
-
-test_security_f4_f5star_LDADD = \
-	$(test_common)
-
-test_security_kasme_LDADD = \
-	$(test_common)
-
-test_kdf_LDADD = \
-	$(test_common)
-
-noinst_LTLIBRARIES = libtest_utils.la
-libtest_utils_la_SOURCES =	\
-	test_utils.h 	test_utils.c	\
-	test_fd.h	test_fd.c
-
-check_PROGRAMS = 			\
-	up_loc_test test_security_f1 	\
-	test_security_f2_f3_f5 		\
-	test_security_f4_f5star 	\
-	test_security_kasme	\
-	test_kdf
-
-up_loc_test_SOURCES = up_loc_test.c
-test_security_f1_SOURCE = test_security_f1.c
-test_security_f2_f3_f5_SOURCE = test_security_f2_f3_f5.c
-test_security_f4_f5star_SOURCE = test_security_f4_f5star.c
-test_security_kasme_SOURCE = test_security_kasme.c
-test_kdf_SOURCE = test_kdf.c
\ No newline at end of file
diff --git a/openair-cn/OPENAIRHSS/tests/test_fd.c b/openair-cn/OPENAIRHSS/tests/test_fd.c
deleted file mode 100644
index e4961d6aa96a69a3e2106868967e8cc0cb7214bf..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_fd.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include "config.h"
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdcore.h>
-
-#include "test_utils.h"
-#include "test_fd.h"
-
-extern int fd_ext_add( char * filename, char * conffile );
-
-void s6a_fd_init(void)
-{
-  struct peer_info peer;
-
-  fd_g_debug_lvl = NONE;
-
-  memset(&peer, 0, sizeof(struct peer_info));
-
-  peer.pi_diamid = "hss.test.fr";
-  peer.pi_diamidlen = strlen(peer.pi_diamid);
-
-  /* Only SCTP */
-  peer.config.pic_flags.pro4 = PI_P4_SCTP;
-  peer.config.pic_flags.sec  = PI_SEC_NONE;
-  peer.config.pic_flags.exp  = PI_EXP_NONE;
-
-  peer.config.pic_port = 18678;
-
-  if (fd_core_initialize() != 0) {
-    fail("fd_core_initialize failed");
-  }
-
-  if (fd_core_start() != 0) {
-    fail("fd_core_start failed");
-  }
-
-  if (fd_core_parseconf("../../conf/hss_fd.conf") != 0) {
-    fail("fd_core_waitstartcomplete failed");
-  }
-
-  if (fd_core_waitstartcomplete() != 0) {
-    fail("fd_core_waitstartcomplete failed");
-  }
-
-  //     if (fd_peer_add(&peer, NULL, NULL, NULL) != 0) {
-  //         fail("fd_peer_add failed");
-  //     }
-}
-
-void s6a_fd_stop(void)
-{
-  if (fd_core_shutdown() != 0) {
-    fail("fd_core_shutdown failed");
-  }
-
-  if (fd_core_wait_shutdown_complete() != 0) {
-    fail("fd_core_shutdown failed");
-  }
-}
diff --git a/openair-cn/OPENAIRHSS/tests/test_fd.h b/openair-cn/OPENAIRHSS/tests/test_fd.h
deleted file mode 100644
index fd3876799551966f4b82577382f13e8f338a11f4..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_fd.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef TEST_FD_H_
-#define TEST_FD_H_
-
-void s6a_fd_init(void);
-
-void s6a_fd_stop(void);
-
-#endif  /* TEST_FD_H_ */
diff --git a/openair-cn/OPENAIRHSS/tests/test_kdf.c b/openair-cn/OPENAIRHSS/tests/test_kdf.c
deleted file mode 100644
index fbaa5364312d54b12d3fb1cccb2c0f4ca0e8bc86..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_kdf.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdio.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <string.h>
-
-#include "config.h"
-#include "test_utils.h"
-#include "test_fd.h"
-
-#include "auc.h"
-
-static
-void do_kdf(uint8_t *key, unsigned key_length, uint8_t *data, unsigned data_length,
-            uint8_t *exp, unsigned exp_length)
-{
-  uint8_t result[32];
-
-  kdf(key, key_length, data, data_length, result, 32);
-
-  if (compare_buffer(result, exp_length, exp, exp_length) != 0) {
-    fail("Fail: kdf\n");
-  }
-}
-
-void
-doit (void)
-{
-  /* RFC 4231 */
-
-  /* Test case 1 #4.2 */
-  do_kdf(HL("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
-            "0b0b0b0b"),
-         HL("4869205468657265"),
-         HL("b0344c61d8db38535ca8afceaf0bf12b"
-            "881dc200c9833da726e9376c2e32cff7"));
-  /* Test case 2 #4.3 */
-  do_kdf(HL("4a656665"),
-         HL("7768617420646f2079612077616e7420"
-            "666f72206e6f7468696e673f"),
-         HL("5bdcc146bf60754e6a042426089575c7"
-            "5a003f089d2739839dec58b964ec3843"));
-  /* Test case 3 #4.4 */
-  do_kdf(HL("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaa"),
-         HL("dddddddddddddddddddddddddddddddd"
-            "dddddddddddddddddddddddddddddddd"
-            "dddddddddddddddddddddddddddddddd"
-            "dddd"),
-         HL("773ea91e36800e46854db8ebd09181a7"
-            "2959098b3ef8c122d9635514ced565fe"));
-  /* Test case 4 #4.5 */
-  do_kdf(HL("0102030405060708090a0b0c0d0e0f10"
-            "111213141516171819"),
-         HL("cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
-            "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
-            "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
-            "cdcd"),
-         HL("82558a389a443c0ea4cc819899f2083a"
-            "85f0faa3e578f8077a2e3ff46729665b"));
-  /* Test case 5 #4.6 */
-  do_kdf(HL("0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c"
-            "0c0c0c0c"),
-         HL("546573742057697468205472756e6361"
-            "74696f6e"),
-         HL("a3b6167473100ee06e0c796c2955552b"));
-  /* Test case 6 #4.7 */
-  do_kdf(HL("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaa"),
-         HL("54657374205573696e67204c61726765"
-            "72205468616e20426c6f636b2d53697a"
-            "65204b6579202d2048617368204b6579"
-            "204669727374"),
-         HL("60e431591ee0b67f0d8a26aacbf5b77f"
-            "8e0bc6213728c5140546040f0ee37f54"));
-  /* Test case 6 #4.7 */
-  do_kdf(HL("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-            "aaaaaa"),
-         HL("54686973206973206120746573742075"
-            "73696e672061206c6172676572207468"
-            "616e20626c6f636b2d73697a65206b65"
-            "7920616e642061206c61726765722074"
-            "68616e20626c6f636b2d73697a652064"
-            "6174612e20546865206b6579206e6565"
-            "647320746f2062652068617368656420"
-            "6265666f7265206265696e6720757365"
-            "642062792074686520484d414320616c"
-            "676f726974686d2e"),
-         HL("9b09ffa71b942fcb27635fbcd5b0e944"
-            "bfdc63644f0713938a7f51535c3a35e2"));
-}
diff --git a/openair-cn/OPENAIRHSS/tests/test_security.c b/openair-cn/OPENAIRHSS/tests/test_security.c
deleted file mode 100644
index f319ae1f7374b75f7f676a961b4093276f90a5c1..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_security.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdio.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <string.h>
-
-#include "config.h"
-#include "test_utils.h"
-#include "test_fd.h"
-
-#include "auc.h"
-
-typedef struct {
-  uint8_t key[16];
-  uint8_t rand[16];
-  uint8_t sqn[6];
-  uint8_t amf[2];
-  uint8_t op[16];
-  uint8_t f1_exp[8];
-  uint8_t f1_star_exp[8];
-} test_set_t;
-
-test_set_t test_set[] = {
-  /* 35.207 #4.3 */
-  {
-    .key  = {
-      0x46, 0x5b, 0x5c, 0xe8, 0xb1, 0x99, 0xb4, 0x9f, 0xaa, 0x5f, 0x0a,
-      0x2e, 0xe2, 0x38, 0xa6, 0xbc
-    },
-    .rand = {
-      0x23, 0x55, 0x3c, 0xbe, 0x96, 0x37, 0xa8, 0x9d, 0x21, 0x8a, 0xe6,
-      0x4d, 0xae, 0x47, 0xbf, 0x35
-    },
-    .sqn  = { 0xff, 0x9b, 0xb4, 0xd0,  0xb6, 0x07 },
-    .amf  = { 0xb9, 0xb9 },
-    .op   = {
-      0xcd, 0xc2, 0x02, 0xd5, 0x12, 0x3e, 0x20, 0xf6, 0x2b, 0x6d, 0x67,
-      0x6a, 0xc7, 0x2c, 0xb3, 0x18
-    },
-    .f1_exp = { 0x4a, 0x9f, 0xfa, 0xc3, 0x54, 0xdf, 0xaf, 0xb3 },
-    .f1_star_exp = { 0x01, 0xcf, 0xaf, 0x9e, 0xc4, 0xe8, 0x71, 0xe9 },
-  },
-  {
-    .key  = {
-      0x03, 0x96, 0xeb, 0x31, 0x7b, 0x6d, 0x1c, 0x36, 0xf1, 0x9c, 0x1c,
-      0x84, 0xcd, 0x6f, 0xfd, 0x16
-    },
-    .rand = {
-      0xc0, 0x0d, 0x60, 0x31, 0x03, 0xdc, 0xee, 0x52, 0xc4, 0x47, 0x81,
-      0x19, 0x49, 0x42, 0x02, 0xe8,
-    },
-    .sqn = { 0xfd, 0x8e, 0xef, 0x40, 0xdf, 0x7d },
-    .amf = { 0xaf, 0x17 },
-    .op = {
-      0xff, 0x53, 0xba, 0xde, 0x17, 0xdf, 0x5d, 0x4e, 0x79, 0x30, 0x73,
-      0xce, 0x9d, 0x75, 0x79, 0xfa
-    },
-    .f1_exp = { 0x5d, 0xf5, 0xb3, 0x18, 0x07, 0xe2, 0x58, 0xb0 },
-    .f1_star_exp = { 0xa8, 0xc0, 0x16, 0xe5, 0x1e, 0xf4, 0xa3, 0x43 }
-  },
-};
-
-void
-doit (void)
-{
-  int i;
-
-  for (i = 0; i < sizeof(test_set) / sizeof(test_set_t); i++) {
-    uint8_t res[8];
-
-    SetOPc(test_set[i].op);
-    f1(test_set[i].key, test_set[i].rand, test_set[i].sqn, test_set[i].amf, res);
-
-    //         printf("%02x%02x%02x%02x%02x%02x%02x%02x\n", res[0], res[1], res[2],
-    //                res[3], res[4], res[5], res[6], res[7]);
-    if (memcmp(res, test_set[i].f1_exp, 8) != 0) {
-      fail("Test set %d (f1) : failed\n", i);
-    } else {
-      success("Test set %d (f1) : success\n", i);
-    }
-
-    f1star(test_set[i].key, test_set[i].rand, test_set[i].sqn, test_set[i].amf, res);
-
-    //         printf("%02x%02x%02x%02x%02x%02x%02x%02x\n", res[0], res[1], res[2],
-    //                res[3], res[4], res[5], res[6], res[7]);
-    if (memcmp(res, test_set[i].f1_star_exp, 8) != 0) {
-      fail("Test set %d (f1*): failed\n", i);
-    } else {
-      success("Test set %d (f1*): success\n", i);
-    }
-  }
-}
diff --git a/openair-cn/OPENAIRHSS/tests/test_security_f1.c b/openair-cn/OPENAIRHSS/tests/test_security_f1.c
deleted file mode 100644
index 96527da7cfc30e30f0f79d47b39bbefe2802b211..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_security_f1.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdio.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <string.h>
-
-#include "config.h"
-#include "test_utils.h"
-#include "test_fd.h"
-
-#include "auc.h"
-
-static
-void do_f1_f1star(uint8_t *key, uint8_t *rand, uint8_t *sqn,
-                  uint8_t *amf, uint8_t *op, uint8_t *f1_exp,
-                  uint8_t *f1star_exp)
-{
-  uint8_t res[8];
-
-  SetOPc(op);
-
-  f1(key, rand, sqn, amf, res);
-
-  if (compare_buffer(res, 8, f1_exp, 8) != 0) {
-    fail("Fail: f1");
-  }
-
-  f1star(key, rand, sqn, amf, res);
-
-  if (compare_buffer(res, 8, f1star_exp, 8) != 0) {
-    fail("Fail: f1*");
-  }
-}
-
-void
-doit (void)
-{
-  /* Test suite taken from 3GPP TS 35.207 */
-
-  /* Test set 1 #4.3 */
-  do_f1_f1star(
-    H("465b5ce8 b199b49f aa5f0a2e e238a6bc"),
-    H("23553cbe 9637a89d 218ae64d ae47bf35"),
-    H("ff9bb4d0 b607"),
-    H("b9b9"),
-    H("cdc202d5 123e20f6 2b6d676a c72cb318"),
-    H("4a9ffac3 54dfafb3"),
-    H("01cfaf9e c4e871e9"));
-  /* Test set 2 #4.4 */
-  do_f1_f1star(
-    H("0396eb31 7b6d1c36 f19c1c84 cd6ffd16"),
-    H("c00d6031 03dcee52 c4478119 494202e8"),
-    H("fd8eef40 df7d"),
-    H("af17"),
-    H("ff53bade 17df5d4e 793073ce 9d7579fa"),
-    H("5df5b318 07e258b0"),
-    H("a8c016e5 1ef4a343"));
-  /* Test set 3 #4.5 */
-  do_f1_f1star(
-    H("fec86ba6 eb707ed0 8905757b 1bb44b8f"),
-    H("9f7c8d02 1accf4db 213ccff0 c7f71a6a"),
-    H("9d027759 5ffc"),
-    H("725c"),
-    H("dbc59adc b6f9a0ef 735477b7 fadf8374"),
-    H("9cabc3e9 9baf7281"),
-    H("95814ba2 b3044324"));
-  /* Test set 4 #4.5 */
-  do_f1_f1star(
-    H("9e5944ae a94b8116 5c82fbf9 f32db751"),
-    H("ce83dbc5 4ac0274a 157c17f8 0d017bd6"),
-    H("0b604a81 eca8"),
-    H("9e09"),
-    H("223014c5 806694c0 07ca1eee f57f004f"),
-    H("74a58220 cba84c49"),
-    H("ac2cc74a 96871837"));
-  /* Test set 5 #4.6 */
-  do_f1_f1star(
-    H("4ab1deb0 5ca6ceb0 51fc98e7 7d026a84"),
-    H("74b0cd60 31a1c833 9b2b6ce2 b8c4a186"),
-    H("e880a1b5 80b6"),
-    H("9f07"),
-    H("2d16c5cd 1fdf6b22 383584e3 bef2a8d8"),
-    H("49e785dd 12626ef2"),
-    H("9e857903 36bb3fa2"));
-  /* Test set 6 #4.7 */
-  do_f1_f1star(
-    H("6c38a116 ac280c45 4f59332e e35c8c4f"),
-    H("ee6466bc 96202c5a 557abbef f8babf63"),
-    H("414b9822 2181"),
-    H("4464"),
-    H("1ba00a1a 7c6700ac 8c3ff3e9 6ad08725"),
-    H("078adfb4 88241a57"),
-    H("80246b8d 0186bcf1"));
-}
diff --git a/openair-cn/OPENAIRHSS/tests/test_security_f2_f3_f5.c b/openair-cn/OPENAIRHSS/tests/test_security_f2_f3_f5.c
deleted file mode 100644
index 339e5602c45151caa1f9de21a18df8ef3a2482e0..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_security_f2_f3_f5.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdio.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <string.h>
-
-#include "config.h"
-#include "test_utils.h"
-#include "test_fd.h"
-
-#include "auc.h"
-
-static
-void do_f2f3f5(uint8_t *key, uint8_t *rand, uint8_t *op, uint8_t *f2_exp,
-               uint8_t *f5_exp, uint8_t *f3_exp)
-{
-  uint8_t res_f2[8];
-  uint8_t res_f5[6];
-  uint8_t res_f3[16];
-  uint8_t res_f4[16];
-
-  SetOPc(op);
-
-  f2345(key, rand, res_f2, res_f3, res_f4, res_f5);
-
-  if (compare_buffer(res_f2, 8, f2_exp, 8) != 0) {
-    fail("Fail: f2");
-  }
-
-  if (compare_buffer(res_f5, 6, f5_exp, 6) != 0) {
-    fail("Fail: f5");
-  }
-
-  if (compare_buffer(res_f3, 16, f3_exp, 16) != 0) {
-    fail("Fail: f3");
-  }
-}
-
-void
-doit (void)
-{
-  /* Test set 1 #5.3 */
-  do_f2f3f5(H("465b5ce8 b199b49f aa5f0a2e e238a6bc"),
-            H("23553cbe 9637a89d 218ae64d ae47bf35"),
-            H("cdc202d5 123e20f6 2b6d676a c72cb318"),
-            H("a54211d5 e3ba50bf"), H("aa689c64 8370"),
-            H("b40ba9a3 c58b2a05 bbf0d987 b21bf8cb"));
-
-  /* Test set 2 #5.4 */
-  do_f2f3f5(H("0396eb31 7b6d1c36 f19c1c84 cd6ffd16"),
-            H("c00d6031 03dcee52 c4478119 494202e8"),
-            H("ff53bade 17df5d4e 793073ce 9d7579fa"),
-            H("d3a628ed 988620f0"), H("c4778399 5f72"),
-            H("58c433ff 7a7082ac d424220f 2b67c556"));
-
-  /* Test set 3 #5.5 */
-  do_f2f3f5(H("fec86ba6 eb707ed0 8905757b 1bb44b8f"),
-            H("9f7c8d02 1accf4db 213ccff0 c7f71a6a"),
-            H("dbc59adc b6f9a0ef 735477b7 fadf8374"),
-            H("8011c48c 0c214ed2"), H("33484dc2 136b"),
-            H("5dbdbb29 54e8f3cd e665b046 179a5098"));
-
-  /* Test set 4 #5.6 */
-  do_f2f3f5(H("9e5944ae a94b8116 5c82fbf9 f32db751"),
-            H("ce83dbc5 4ac0274a 157c17f8 0d017bd6"),
-            H("223014c5 806694c0 07ca1eee f57f004f"),
-            H("f365cd68 3cd92e96"), H("f0b9c08a d02e"),
-            H("e203edb3 971574f5 a94b0d61 b816345d"));
-
-  /* Test set 5 #5.7 */
-  do_f2f3f5(H("4ab1deb0 5ca6ceb0 51fc98e7 7d026a84"),
-            H("74b0cd60 31a1c833 9b2b6ce2 b8c4a186"),
-            H("2d16c5cd 1fdf6b22 383584e3 bef2a8d8"),
-            H("5860fc1b ce351e7e"), H("31e11a60 9118"),
-            H("7657766b 373d1c21 38f307e3 de9242f9"));
-
-  /* Test set 6 #5.8 */
-  do_f2f3f5(H("6c38a116 ac280c45 4f59332e e35c8c4f"),
-            H("ee6466bc 96202c5a 557abbef f8babf63"),
-            H("1ba00a1a 7c6700ac 8c3ff3e9 6ad08725"),
-            H("16c8233f 05a0ac28"), H("45b0f69a b06c"),
-            H("3f8c7587 fe8e4b23 3af676ae de30ba3b"));
-}
diff --git a/openair-cn/OPENAIRHSS/tests/test_security_f4_f5star.c b/openair-cn/OPENAIRHSS/tests/test_security_f4_f5star.c
deleted file mode 100644
index 26b43d7ffe820e2af86780753226d41044d384e0..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_security_f4_f5star.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdio.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <string.h>
-
-#include "config.h"
-#include "test_utils.h"
-#include "test_fd.h"
-
-#include "auc.h"
-
-static
-void do_f4f5star(uint8_t *key, uint8_t *rand, uint8_t *op, uint8_t *f4_exp,
-                 uint8_t *f5star_exp)
-{
-  uint8_t res_f2[8];
-  uint8_t res_f5[6];
-  uint8_t res_f3[16];
-  uint8_t res_f4[16];
-  uint8_t res_f5star[6];
-
-  SetOPc(op);
-
-  f2345(key, rand, res_f2, res_f3, res_f4, res_f5);
-
-  if (compare_buffer(res_f4, 16, f4_exp, 16) != 0) {
-    fail("Fail: f4");
-  }
-
-  f5star(key, rand, res_f5star);
-
-  if (compare_buffer(res_f5star, 6, f5star_exp, 6) != 0) {
-    fail("Fail: f5star");
-  }
-}
-
-void
-doit (void)
-{
-  /* Test set 1 #6.3 */
-  do_f4f5star(H("465b5ce8 b199b49f aa5f0a2e e238a6bc"),
-              H("23553cbe 9637a89d 218ae64d ae47bf35"),
-              H("cdc202d5 123e20f6 2b6d676a c72cb318"),
-              H("f769bcd7 51044604 12767271 1c6d3441"),
-              H("451e8bec a43b"));
-  /* Test set 2 #6.4 */
-  do_f4f5star(H("0396eb31 7b6d1c36 f19c1c84 cd6ffd16"),
-              H("c00d6031 03dcee52 c4478119 494202e8"),
-              H("ff53bade 17df5d4e 793073ce 9d7579fa"),
-              H("21a8c1f9 29702adb 3e738488 b9f5c5da"),
-              H("30f11970 61c1"));
-  /* Test set 3 #6.5 */
-  do_f4f5star(H("fec86ba6 eb707ed0 8905757b 1bb44b8f"),
-              H("9f7c8d02 1accf4db 213ccff0 c7f71a6a"),
-              H("dbc59adc b6f9a0ef 735477b7 fadf8374"),
-              H("59a92d3b 476a0443 487055cf 88b2307b"),
-              H("deacdd84 8cc6"));
-  /* Test set 4 #6.5 */
-  do_f4f5star(H("9e5944ae a94b8116 5c82fbf9 f32db751"),
-              H("ce83dbc5 4ac0274a 157c17f8 0d017bd6"),
-              H("223014c5 806694c0 07ca1eee f57f004f"),
-              H("0c4524ad eac041c4 dd830d20 854fc46b"),
-              H("6085a86c 6f63"));
-  /* Test set 5 #6.6 */
-  do_f4f5star(H("4ab1deb0 5ca6ceb0 51fc98e7 7d026a84"),
-              H("74b0cd60 31a1c833 9b2b6ce2 b8c4a186"),
-              H("2d16c5cd 1fdf6b22 383584e3 bef2a8d8"),
-              H("1c42e960 d89b8fa9 9f2744e0 708ccb53"),
-              H("fe2555e5 4aa9"));
-  /* Test set 6 #6.7 */
-  do_f4f5star(H("6c38a116 ac280c45 4f59332e e35c8c4f"),
-              H("ee6466bc 96202c5a 557abbef f8babf63"),
-              H("1ba00a1a 7c6700ac 8c3ff3e9 6ad08725"),
-              H("a7466cc1 e6b2a133 7d49d3b6 6e95d7b4"),
-              H("1f53cd2b 1113"));
-}
diff --git a/openair-cn/OPENAIRHSS/tests/test_security_kasme.c b/openair-cn/OPENAIRHSS/tests/test_security_kasme.c
deleted file mode 100644
index 7ab68b67a01abf449ec6d509198f2b6a31e7bc17..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_security_kasme.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <string.h>
-
-#include "config.h"
-#include "test_utils.h"
-#include "test_fd.h"
-
-#include "auc.h"
-
-static
-void do_derive_kasme(uint8_t *sn_id, uint8_t *sqn, uint8_t *ak,
-                     uint8_t *ck, uint8_t *ik, uint8_t *kasme_exp)
-{
-  uint8_t kasme[32];
-  derive_kasme(ck, ik, sn_id, sqn, ak, kasme);
-
-  if (compare_buffer(kasme, 32, kasme_exp, 32) != 0) {
-    fail("Fail: derive_kasme\n");
-  }
-}
-
-void
-doit (void)
-{
-  /* 20834 -> 024830 SNid */
-  do_derive_kasme(H("024830"), H("FD8EEF40DF7D"), H("AA689C648370"),
-                  H("B40BA9A3C58B2A05BBF0D987B21BF8CB"),
-                  H("F769BCD751044604127672711C6D3441"),
-                  H("238E457E0F758BADBCA8D34BB2612C10"
-                    "428D426757CB5553B2B184FA64BFC549"));
-  do_derive_kasme(H("02F843"), H("FD8EEF40DF7D"), H("AA689C648370"),
-                  H("B40BA9A3C58B2A05BBF0D987B21BF8CB"),
-                  H("F769BCD751044604127672711C6D3441"),
-                  H("BD7A0903A7D0F68767EE2F5C90CB7D7D"
-                    "835998D940AFDBF73173E63567C5B894"));
-  do_derive_kasme(H("21F354"), H("FD8EEF40DF7D"), H("AA689C648370"),
-                  H("B40BA9A3C58B2A05BBF0D987B21BF8CB"),
-                  H("F769BCD751044604127672711C6D3441"),
-                  H("546A79BC6D1613A72A4D631EE0351D66"
-                    "036B2A0C44A3831BE6D365E24F023013"));
-  do_derive_kasme(H("024830"), H("FF9BB4D0B607"), H("AA689C648370"),
-                  H("B40BA9A3C58B2A05BBF0D987B21BF8CB"),
-                  H("F769BCD751044604127672711C6D3441"),
-                  H("564CB4D2007E4F293B67D9B29392A64A"
-                    "DD4C776B133D895AF6499AA6882AAB62"));
-  do_derive_kasme(H("02F843"), H("FF9BB4D0B607"), H("AA689C648370"),
-                  H("B40BA9A3C58B2A05BBF0D987B21BF8CB"),
-                  H("F769BCD751044604127672711C6D3441"),
-                  H("34865EB0DC9A6D788A905C0514529BF5"
-                    "88485DA817FFBE92E9A9B4D033B8CC6F"));
-  do_derive_kasme(H("21F354"), H("FF9BB4D0B607"), H("AA689C648370"),
-                  H("B40BA9A3C58B2A05BBF0D987B21BF8CB"),
-                  H("F769BCD751044604127672711C6D3441"),
-                  H("9EA141DA4B24CDEBC8F5FB3F61A05112"
-                    "16681F121199B23EBCFACC75B358BE43"));
-}
diff --git a/openair-cn/OPENAIRHSS/tests/test_utils.c b/openair-cn/OPENAIRHSS/tests/test_utils.c
deleted file mode 100644
index a44aeb5c69d7f19855bc78c2e6f29cadfb36d02a..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_utils.c
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Free Software Foundation, Inc.
- *
- * Author: Simon Josefsson
- *
- * This file is part of GnuTLS.
- *
- * GnuTLS is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * GnuTLS is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GnuTLS; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdarg.h>
-#include <ctype.h>
-
-#include "test_utils.h"
-
-int debug = 0;
-int error_count = 0;
-int break_on_error = 0;
-
-/* -1 means invalid */
-static const signed char hex_digits[0x100] = {
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1,
-  -1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
-};
-
-unsigned
-decode_hex_length(const char *h)
-{
-  const unsigned char *hex = (const unsigned char *) h;
-  unsigned count;
-  unsigned i;
-
-  for (count = i = 0; hex[i]; i++) {
-    if (isspace(hex[i]))
-      continue;
-
-    if (hex_digits[hex[i]] < 0)
-      abort();
-
-    count++;
-  }
-
-  if (count % 2)
-    abort();
-
-  return count / 2;
-}
-
-int
-decode_hex(uint8_t *dst, const char *h)
-{
-  const unsigned char *hex = (const unsigned char *) h;
-  unsigned i = 0;
-
-  for (;;) {
-    int high, low;
-
-    while (*hex && isspace(*hex))
-      hex++;
-
-    if (!*hex)
-      return 1;
-
-    high = hex_digits[*hex++];
-
-    if (high < 0)
-      return 0;
-
-    while (*hex && isspace(*hex))
-      hex++;
-
-    if (!*hex)
-      return 0;
-
-    low = hex_digits[*hex++];
-
-    if (low < 0)
-      return 0;
-
-    dst[i++] = (high << 4) | low;
-  }
-}
-
-uint8_t *
-decode_hex_dup(const char *hex)
-{
-  uint8_t *p;
-  unsigned length = decode_hex_length(hex);
-
-  p = malloc(length * sizeof(uint8_t));
-
-  if (decode_hex(p, hex))
-    return p;
-  else {
-    free(p);
-    return NULL;
-  }
-}
-
-void
-fail (const char *format, ...)
-{
-  char str[1024];
-  va_list arg_ptr;
-
-  va_start (arg_ptr, format);
-  vsnprintf ( str, sizeof(str), format, arg_ptr);
-  va_end (arg_ptr);
-  fputs(str, stderr);
-  error_count++;
-
-  if (break_on_error)
-    exit (1);
-}
-
-void
-success (const char *format, ...)
-{
-  char str[1024];
-  va_list arg_ptr;
-
-  va_start (arg_ptr, format);
-  vsnprintf ( str, sizeof(str), format, arg_ptr);
-  va_end (arg_ptr);
-  fputs(str, stderr);
-}
-
-void
-escapeprint (const char *str, size_t len)
-{
-  size_t i;
-
-  printf (" (length %d bytes):\n\t", (int) len);
-
-  for (i = 0; i < len; i++) {
-    if (((str[i] & 0xFF) >= 'A' && (str[i] & 0xFF) <= 'Z') ||
-        ((str[i] & 0xFF) >= 'a' && (str[i] & 0xFF) <= 'z') ||
-        ((str[i] & 0xFF) >= '0' && (str[i] & 0xFF) <= '9')
-        || (str[i] & 0xFF) == ' ' || (str[i] & 0xFF) == '.')
-      printf ("%c", (str[i] & 0xFF));
-    else
-      printf ("\\x%02X", (str[i] & 0xFF));
-
-    if ((i + 1) % 16 == 0 && (i + 1) < len)
-      printf ("'\n\t'");
-  }
-
-  printf ("\n");
-}
-
-void
-hexprint (const void *_str, size_t len)
-{
-  size_t i;
-  const char* str = _str;
-
-  printf ("\t;; ");
-
-  for (i = 0; i < len; i++) {
-    printf ("%02x ", (str[i] & 0xFF));
-
-    if ((i + 1) % 8 == 0)
-      printf (" ");
-
-    if ((i + 1) % 16 == 0 && i + 1 < len)
-      printf ("\n\t;; ");
-  }
-
-  printf ("\n");
-}
-
-void
-binprint (const void *_str, size_t len)
-{
-  size_t i;
-  const char* str = _str;
-
-  printf ("\t;; ");
-
-  for (i = 0; i < len; i++) {
-    printf ("%d%d%d%d%d%d%d%d ",
-            (str[i] & 0xFF) & 0x80 ? 1 : 0,
-            (str[i] & 0xFF) & 0x40 ? 1 : 0,
-            (str[i] & 0xFF) & 0x20 ? 1 : 0,
-            (str[i] & 0xFF) & 0x10 ? 1 : 0,
-            (str[i] & 0xFF) & 0x08 ? 1 : 0,
-            (str[i] & 0xFF) & 0x04 ? 1 : 0,
-            (str[i] & 0xFF) & 0x02 ? 1 : 0, (str[i] & 0xFF) & 0x01 ? 1 : 0);
-
-    if ((i + 1) % 3 == 0)
-      printf (" ");
-
-    if ((i + 1) % 6 == 0 && i + 1 < len)
-      printf ("\n\t;; ");
-  }
-
-  printf ("\n");
-}
-
-int
-compare_buffer(uint8_t *buffer,  uint32_t length_buffer,
-               uint8_t *pattern, uint32_t length_pattern)
-{
-  int i;
-
-  if (length_buffer != length_pattern) {
-    printf("Length mismatch, expecting %d bytes, got %d bytes\n", length_pattern,
-           length_buffer);
-    hexprint(buffer, length_buffer);
-    return -1;
-  }
-
-  for (i = 0; i < length_buffer; i++) {
-    if (pattern[i] != buffer[i]) {
-      printf("Expecting:\n");
-      hexprint(pattern, length_pattern);
-      printf("Received:\n");
-      hexprint(buffer, length_buffer);
-      printf("Mismatch fount in byte %d\nExpecting 0x%02x, got 0x%02x\n",
-             i, pattern[i], buffer[i]);
-      return -1;
-    }
-  }
-
-  return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
-  do
-    if (strcmp (argv[argc - 1], "-v") == 0 ||
-        strcmp (argv[argc - 1], "--verbose") == 0)
-      debug = 1;
-    else if (strcmp (argv[argc - 1], "-b") == 0 ||
-             strcmp (argv[argc - 1], "--break-on-error") == 0)
-      break_on_error = 1;
-    else if (strcmp (argv[argc - 1], "-h") == 0 ||
-             strcmp (argv[argc - 1], "-?") == 0 ||
-             strcmp (argv[argc - 1], "--help") == 0) {
-      printf ("Usage: %s [-vbh?] [--verbose] [--break-on-error] [--help]\n",
-              argv[0]);
-      return 1;
-    }
-
-  while (argc-- > 1);
-
-  doit ();
-
-  if (debug || error_count > 0)
-    printf ("Self test `%s' finished with %d errors\n", argv[0], error_count);
-
-  return error_count ? 1 : 0;
-}
diff --git a/openair-cn/OPENAIRHSS/tests/test_utils.h b/openair-cn/OPENAIRHSS/tests/test_utils.h
deleted file mode 100644
index 19e6caab66c51d7eb9cd4b741e7f00c0d66c84b3..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/test_utils.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Free Software Foundation, Inc.
- *
- * Author: Simon Josefsson
- *
- * This file is part of GnuTLS.
- *
- * GnuTLS is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * GnuTLS is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GnuTLS; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef UTILS_H
-#define UTILS_H
-
-#include <string.h>
-#include <stdarg.h>
-
-#ifndef __attribute__
-#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-#define __attribute__(Spec)     /* empty */
-#endif
-#endif
-
-extern int debug;
-extern int error_count;
-extern int break_on_error;
-
-extern uint8_t * decode_hex_dup(const char *hex);
-extern int decode_hex(uint8_t *dst, const char *h);
-extern unsigned decode_hex_length(const char *h);
-
-#define H(x)  decode_hex_dup(x)
-#define HL(x) decode_hex_dup(x), decode_hex_length(x)
-
-extern void fail (const char *format, ...)
-__attribute__ ((format (printf, 1, 2)));
-extern void success (const char *format, ...)
-__attribute__ ((format (printf, 1, 2)));
-
-extern void escapeprint (const char *str, size_t len);
-extern void hexprint (const void *str, size_t len);
-extern void binprint (const void *str, size_t len);
-
-extern int
-compare_buffer(uint8_t *buffer,  uint32_t length_buffer,
-               uint8_t *pattern, uint32_t length_pattern);
-
-/* This must be implemented elsewhere. */
-extern void doit (void);
-
-#endif /* UTILS_H */
diff --git a/openair-cn/OPENAIRHSS/tests/up_loc_test.c b/openair-cn/OPENAIRHSS/tests/up_loc_test.c
deleted file mode 100644
index 83a56db738c9bd087973dd8e86164933145980bf..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/tests/up_loc_test.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdint.h>
-#include <unistd.h>
-
-#include "config.h"
-#include "test_utils.h"
-#include "test_fd.h"
-
-void
-doit (void)
-{
-  s6a_fd_init();
-
-  sleep(1);
-
-  s6a_fd_stop();
-
-  success ("freediameter start/stop ok\n");
-}
diff --git a/openair-cn/OPENAIRHSS/utils/COPYING b/openair-cn/OPENAIRHSS/utils/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/utils/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/OPENAIRHSS/utils/Makefile.am b/openair-cn/OPENAIRHSS/utils/Makefile.am
deleted file mode 100644
index 42c9a412efa45baef813ef33b35b27800f8411b3..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/utils/Makefile.am
+++ /dev/null
@@ -1,40 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AM_CFLAGS = @ADD_CFLAGS@
-AM_YFLAGS = -d
-AM_LFLAGS = -o$(LEX_OUTPUT_ROOT).c
-
-BUILT_SOURCE = hss_parser.h
-
-noinst_LTLIBRARIES = libutils.la
-libutils_la_LDFLAGS = -all-static
-libutils_la_SOURCES = \
-	hss_parser.y	hss_scanner.l	\
-	hss_config.h	hss_config.c	\
-	conversion.h	conversion.c
diff --git a/openair-cn/OPENAIRHSS/utils/conversion.c b/openair-cn/OPENAIRHSS/utils/conversion.c
deleted file mode 100644
index 19347fc1174d1549c250641c95b76caa0a4dc928..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/utils/conversion.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdlib.h>
-#include <stdint.h>
-#include <ctype.h>
-
-#include "conversion.h"
-
-static const char hex_to_ascii_table[16] = {
-  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f',
-};
-
-static const signed char ascii_to_hex_table[0x100] = {
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
-};
-
-static const signed char ascii_to_dec_table[0x100] = {
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-  -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
-};
-
-void hexa_to_ascii(uint8_t *from, char *to, size_t length)
-{
-  int i;
-
-  for(i = 0; i < length; i++) {
-    uint8_t upper = (from[i] & 0xf0) >> 4;
-    uint8_t lower =  from[i] & 0x0f;
-    to[2 * i] = hex_to_ascii_table[upper];
-    to[2 * i + 1] = hex_to_ascii_table[lower];
-  }
-}
-
-int ascii_to_hex(uint8_t *dst, const char *h)
-{
-  const unsigned char *hex = (const unsigned char *) h;
-  unsigned i = 0;
-
-  for (;;) {
-    int high, low;
-
-    while (*hex && isspace(*hex)) {
-      hex++;
-    }
-
-    if (!*hex) {
-      return 1;
-    }
-
-    high = ascii_to_hex_table[*hex++];
-
-    if (high < 0) {
-      return 0;
-    }
-
-    while (*hex && isspace(*hex)) {
-      hex++;
-    }
-
-    if (!*hex) {
-      return 0;
-    }
-
-    low = ascii_to_hex_table[*hex++];
-
-    if (low < 0) {
-      return 0;
-    }
-
-    dst[i++] = (high << 4) | low;
-  }
-}
-
-int bcd_to_hex(uint8_t *dst, const char *h, int h_length)
-{
-  const unsigned char *hex = (const unsigned char *) h;
-  unsigned i = 0;
-
-  for (i = 0; i < h_length; i++) {
-    int value = ascii_to_dec_table[*hex++];
-
-    if (value < 0)
-      return -1;
-
-    dst[i] = value;
-  }
-
-  return 0;
-}
diff --git a/openair-cn/OPENAIRHSS/utils/conversion.h b/openair-cn/OPENAIRHSS/utils/conversion.h
deleted file mode 100644
index c587020c98432e03e801a94d980c235d36af40a3..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/utils/conversion.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef CONVERSION_H_
-#define CONVERSION_H_
-
-void hexa_to_ascii(uint8_t *from, char *to, size_t length);
-int ascii_to_hex(uint8_t *dst, const char *h);
-int bcd_to_hex(uint8_t *dst, const char *h, int h_length);
-
-#endif /* CONVERSION_H_ */
diff --git a/openair-cn/OPENAIRHSS/utils/hss_config.c b/openair-cn/OPENAIRHSS/utils/hss_config.c
deleted file mode 100644
index 415504fc750e98cec18e643aa46e7d62bf040359..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/utils/hss_config.c
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file hss_config.c
- * \brief Base configuration for the HSS. Parse command line and configuration file
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdint.h>
-#include <errno.h>
-#include <getopt.h>
-
-#include "hss_config.h"
-#include "hss_parser.h"
-
-
-#ifndef PACKAGE_NAME
-#define PACKAGE_NAME "OPENAIR-HSS"
-#endif
-#ifndef PACKAGE_VERSION
-#define PACKAGE_VERSION "UNKNOWN-EXPERIMENTAL"
-#endif
-#ifndef PACKAGE_BUGREPORT
-#define PACKAGE_BUGREPORT "openair4G-devel@eurecom.fr"
-#endif
-
-// LG TODO fd_g_debug_lvl
-int fd_g_debug_lvl = 1;
-
-/* YACC forward declarations */
-extern int  yyparse (struct hss_config_s *hss_config_p);
-static int config_parse_command_line(int argc, char *argv[],
-                                     hss_config_t *hss_config_p);
-static int config_parse_file(hss_config_t *hss_config_p);
-static void display_banner(void);
-static void config_display(hss_config_t *hss_config_p);
-
-static struct option long_options[] = {
-  { "config",  1, 0, 'c' },
-  { "help",    0, 0, 'h' },
-  { "version", 0, 0, 'v' },
-  { 0, 0, 0, 0 },
-};
-
-static const char option_string[] = "c:vh";
-
-int config_init(int argc, char *argv[], hss_config_t *hss_config_p)
-{
-  int ret = 0;
-
-  if (hss_config_p == NULL) {
-    return EINVAL;
-  }
-
-  hss_config_p->valid_op = 0;
-
-  if ((ret = config_parse_command_line(argc, argv, hss_config_p)) != 0) {
-    return ret;
-  }
-
-  display_banner();
-
-  if ((ret = config_parse_file(hss_config_p)) != 0) {
-    /* Parsing of the file failed. -> abort */
-    abort();
-  }
-  if (hss_config_p->random) {
-    if (strcasecmp(hss_config_p->random, "false") == 0) {
-      hss_config_p->random_bool = 0;
-    } else if (strcasecmp(hss_config_p->random, "true") == 0) {
-      hss_config_p->random_bool = 1;
-    } else {
-      fprintf(stderr,
-                "Error in configuration file: random: %s (allowed values {true,false})\n",
-                hss_config_p->random);
-        abort();
-    }
-  } else {
-	  hss_config_p->random      = "true";
-	  hss_config_p->random_bool = 1;
-      fprintf(stderr,
-                "Default values for random: %s (allowed values {true,false})\n",
-                hss_config_p->random);
-  }
-
-  // post processing for op key
-  if (hss_config_p->operator_key) {
-    if (strlen(hss_config_p->operator_key) == 32) {
-      ret = sscanf(hss_config_p->operator_key,
-                   "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
-                   (unsigned int*)&hss_config_p->operator_key_bin[0],(unsigned int*)&hss_config_p->operator_key_bin[1],
-                   (unsigned int*)&hss_config_p->operator_key_bin[2],(unsigned int*)&hss_config_p->operator_key_bin[3],
-                   (unsigned int*)&hss_config_p->operator_key_bin[4],(unsigned int*)&hss_config_p->operator_key_bin[5],
-                   (unsigned int*)&hss_config_p->operator_key_bin[6],(unsigned int*)&hss_config_p->operator_key_bin[7],
-                   (unsigned int*)&hss_config_p->operator_key_bin[8],(unsigned int*)&hss_config_p->operator_key_bin[9],
-                   (unsigned int*)&hss_config_p->operator_key_bin[10],(unsigned int*)&hss_config_p->operator_key_bin[11],
-                   (unsigned int*)&hss_config_p->operator_key_bin[12],(unsigned int*)&hss_config_p->operator_key_bin[13],
-                   (unsigned int*)&hss_config_p->operator_key_bin[14],(unsigned int*)&hss_config_p->operator_key_bin[15]);
-
-      if (ret != 16) {
-        fprintf(stderr,
-                "Error in configuration file: operator key: %s\n",
-                hss_config_p->operator_key);
-        abort();
-      }
-      hss_config_p->valid_op = 1;
-    }
-  }
-  config_display(hss_config_p);
-
-
-  return 0;
-}
-
-static void display_banner(void)
-{
-  fprintf(stdout, "==== EURECOM %s v%s ====\n", PACKAGE_NAME, PACKAGE_VERSION);
-  fprintf(stdout, "Please report any bug to: %s\n\n", PACKAGE_BUGREPORT);
-}
-
-static void usage(void)
-{
-  display_banner();
-  fprintf(stdout, "Usage: openair_hss [options]\n\n");
-  fprintf(stdout, "Available options:\n");
-  fprintf(stdout, "\t--help\n\t-h\n");
-  fprintf(stdout, "\t\tPrint this help and return\n\n");
-  fprintf(stdout, "\t--config=<path>\n\t-c<path>\n");
-  fprintf(stdout, "\t\tSet the configuration file for hss\n");
-  fprintf(stdout, "\t\tSee template in conf dir\n\n");
-  fprintf(stdout, "\t--version\n\t-v\n");
-  fprintf(stdout, "\t\tPrint %s version and return\n", PACKAGE_NAME);
-}
-
-static void config_display(hss_config_t *hss_config_p)
-{
-  fprintf(stdout, "Configuration\n");
-  fprintf(stdout, "* Global:\n");
-  fprintf(stdout, "\t- File .............: %s\n", hss_config_p->config);
-  fprintf(stdout, "* MYSQL:\n");
-  fprintf(stdout, "\t- Server ...........: %s\n", hss_config_p->mysql_server);
-  fprintf(stdout, "\t- Database .........: %s\n", hss_config_p->mysql_database);
-  fprintf(stdout, "\t- User .............: %s\n", hss_config_p->mysql_user);
-  fprintf(stdout, "\t- Password .........: %s\n",
-          (hss_config_p->mysql_password == NULL) ? "None" : "*****");
-  fprintf(stdout, "* FreeDiameter:\n");
-  fprintf(stdout, "\t- Conf file ........: %s\n",
-          hss_config_p->freediameter_config);
-  fprintf(stdout, "* Security:\n");
-  fprintf(stdout, "\t- Operator key......: %s\n",
-          hss_config_p->operator_key);
-  fprintf(stdout, "\t- Random      ......: %s\n",
-		  hss_config_p->random);
-}
-
-static int config_parse_command_line(int argc, char *argv[],
-                                     hss_config_t *hss_config_p)
-{
-  int c;
-  int option_index = 0;
-
-  while ((c = getopt_long (argc, argv, option_string, long_options,
-                           &option_index)) != -1) {
-    switch(c) {
-    case 'c': {
-      hss_config_p->config = strdup(optarg);
-    }
-    break;
-
-    case 'v': {
-      /* We display version and return immediately */
-      display_banner();
-      exit(0);
-    }
-    break;
-
-    default:
-    case 'h': {
-      usage();
-      exit(0);
-    }
-    break;
-    }
-  }
-
-  return 0;
-}
-
-static int config_parse_file(hss_config_t *hss_config_p)
-{
-  extern FILE *yyin;
-  int ret = -1;
-
-  if (hss_config_p == NULL) {
-    return ret;
-  }
-
-  if (hss_config_p->config == NULL) {
-    return ret;
-  }
-
-  printf("Parsing configuration file: %s\n", hss_config_p->config);
-
-  yyin = fopen(hss_config_p->config, "r");
-
-  if (!yyin) {
-    /* We failed to open the file */
-    fprintf(stderr, "Unable to open the configuration file: %s (%d:%s)\n",
-            hss_config_p->config, errno, strerror(errno));
-    return errno;
-  }
-
-  /* Call the yacc parser */
-  ret = yyparse(hss_config_p);
-
-  /* Close the file descriptor */
-  if (fclose(yyin) != 0) {
-    fprintf(stderr, "Unable to close the configuration file: %s (%d:%s)\n",
-            hss_config_p->config, errno, strerror(errno));
-    return errno;
-  }
-
-  return ret;
-}
diff --git a/openair-cn/OPENAIRHSS/utils/hss_config.h b/openair-cn/OPENAIRHSS/utils/hss_config.h
deleted file mode 100644
index 6f3425c6d05be33880e2dff2a5560289cc8815bc..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/utils/hss_config.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef HSS_CONFIG_H_
-#define HSS_CONFIG_H_
-
-typedef struct hss_config_s {
-  char *mysql_server;
-  char *mysql_user;
-  char *mysql_password;
-  char *mysql_database;
-
-
-  char *operator_key;
-  unsigned char operator_key_bin[16];
-  int   valid_op;
-
-  /* The freediameter configuration file */
-  char *freediameter_config;
-
-  /* THe HSS global configuration file */
-  char *config;
-
-  char *random;
-  char  random_bool;
-} hss_config_t;
-
-int config_init(int argc, char *argv[], hss_config_t *hss_config_p);
-
-#endif /* HSS_CONFIG_H_ */
diff --git a/openair-cn/OPENAIRHSS/utils/hss_parser.y b/openair-cn/OPENAIRHSS/utils/hss_parser.y
deleted file mode 100644
index 5fb532dcdf81348b1e0102bef645aa06783132ba..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/utils/hss_parser.y
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/* For development only : */
-%debug
-%error-verbose
-
-%parse-param {struct hss_config_s *hss_config_p}
-
-/* Keep track of location */
-%locations
-%defines
-%pure-parser
-
-%{
-#include <stdio.h>
-#include <errno.h>
-
-#include "hss_config.h"
-#include "hss_parser.h"
-
-void yyerror (YYLTYPE *llocp, struct hss_config_s *hss_config_p, const char *s);
-
-extern int yywrap();
-extern int yylex();
-
-/* The Lex parser prototype */
-int fddlex(YYSTYPE *lvalp, YYLTYPE *llocp);
-%}
-
-/* Values returned by lex for token */
-%union {
-    char         *string;   /* The string is allocated by strdup in lex.*/
-    int           integer;  /* Store integer values */
-}
-
-%token <string> QSTRING
-%token <integer> INTEGER
-
-%token LEX_ERROR
-%token FDCONF
-%token MYSQL_USER
-%token MYSQL_SERVER
-%token MYSQL_PASS
-%token MYSQL_DB
-%token OPERATOR_KEY
-%token RANDOM
-
-%%
-conffile:       /* Empty is OK -- for simplicity here, we reject in daemon later */
-    | conffile mysql_db
-    | conffile mysql_server
-    | conffile mysql_user
-    | conffile mysql_pass
-    | conffile operator_key
-    | conffile random
-    | conffile fdconf
-    | conffile errors
-    {
-        yyerror(&yylloc, hss_config_p, "An error occurred while parsing the configuration file");
-        return EINVAL;
-    }
-    ;
-
-mysql_db: MYSQL_DB '=' QSTRING ';'
-    {
-        hss_config_p->mysql_database = $3;
-    }
-    ;
-
-mysql_pass: MYSQL_PASS '=' QSTRING ';'
-    {
-        hss_config_p->mysql_password = $3;
-    }
-    ;
-
-mysql_user: MYSQL_USER '=' QSTRING ';'
-    {
-        hss_config_p->mysql_user = $3;
-    }
-    ;
-
-mysql_server: MYSQL_SERVER '=' QSTRING ';'
-    {
-        hss_config_p->mysql_server = $3;
-    }
-    ;
-
-operator_key: OPERATOR_KEY '=' QSTRING ';'
-    {
-        hss_config_p->operator_key = $3;
-    }
-    ;
-
-random: RANDOM '=' QSTRING ';'
-    {
-        hss_config_p->random = $3;
-    }
-    ;
-
-fdconf: FDCONF '=' QSTRING ';'
-    {
-        hss_config_p->freediameter_config = $3;
-    }
-    ;
-
-    /* Lexical or syntax error */
-errors: LEX_ERROR
-    | error
-    ;
-%%
-
-void yyerror(YYLTYPE *llocp, struct hss_config_s *hss_config_p, const char *str)
-{
-    fprintf(stderr, "Error in %s ( on line %i column %i -> line %i column %i) : %s\n",
-            hss_config_p->freediameter_config, llocp->first_line, llocp->first_column,
-            llocp->last_line, llocp->last_column, str);
-}
diff --git a/openair-cn/OPENAIRHSS/utils/hss_scanner.l b/openair-cn/OPENAIRHSS/utils/hss_scanner.l
deleted file mode 100644
index e9c43c9a2b594ac6e2155452471bc9ca19911b96..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/utils/hss_scanner.l
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/* Lex configuration parser.
- *
- * This file defines the token for parsing the configuration file
- *
- * Note : This module is NOT thread-safe. All processing must be done from one thread only.
- */
-%{
-#include <stdio.h>
-
-#include "hss_config.h"
-/* Include yacc tokens definitions */
-#include "hss_parser.h"
-
-/* Update the column information */
-#ifdef DEBUG_LEX
-#define YY_USER_ACTION {                        \
-    yylloc->first_column = yylloc->last_column + 1;         \
-    yylloc->last_column = yylloc->first_column + yyleng - 1;    \
-    TRACE_DEBUG(FULL,                       \
-        "(%d:%d-%d:%d) matched rule %d, length=%d, txt='%s'\n", \
-        yylloc->first_line, yylloc->first_column,       \
-        yylloc->last_line, yylloc->last_column,         \
-        yy_act, yyleng, yytext);                \
-}
-#else /* DEBUG_LEX */
-#define YY_USER_ACTION {                        \
-    yylloc->first_column = yylloc->last_column + 1;         \
-    yylloc->last_column = yylloc->first_column + yyleng - 1;    \
-}
-#endif
-
-#define YY_NO_INPUT
-%}
-
-%option bison-bridge
-%option bison-locations
-%option noyywrap
-%option nounput
-
-/* Quoted string. Multilines do not match. */
-qstring     \"[^\"\n]*\"
-
-%%
-
-    /* List of patterns and actions */
-
-<*>\n {
-    /* Update the line count */
-    yylloc->first_line++;
-    yylloc->last_line++;
-    yylloc->last_column=0;
-}
-
-<*>([[:space:]]{-}[\n])+    ; /* Eat all spaces, not new lines */
-<*>#.*$                     ; /* Eat all comments */
-
-{qstring}       {
-    /* First copy the string without the quotes for use in the yacc parser */
-    if ((yylval->string = strdup(yytext+1)) == NULL) { /* This allocates one useless tail char but... it's easier :D */
-        return LEX_ERROR;/* on error, trig an error in yacc parser */
-    }
-    yylval->string[yyleng-2] = '\0';
-
-    /* the yacc parser will check the string is valid */
-    return QSTRING;
-}
-
-[[:digit:]]+    {
-    /* Convert this to an integer value */
-    int ret = sscanf(yytext, "%i", &yylval->integer);
-    if (ret != 1) {
-        /* No matching: an error occurred */
-        fprintf(stderr, "Unable to convert the value '%s' to a valid number: %s\n",
-                yytext, strerror(errno));
-        return LEX_ERROR; /* trig an error in yacc parser */
-        /* Maybe we could REJECT instead of failing here? */
-    }
-    return INTEGER;
-}
-
-    /* Full words tokens (keywords) */
-(?i:"FD_conf")      { return FDCONF; }
-(?i:"MYSQL_server") { return MYSQL_SERVER; }
-(?i:"MYSQL_user")   { return MYSQL_USER; }
-(?i:"MYSQL_pass")   { return MYSQL_PASS; }
-(?i:"MYSQL_db")     { return MYSQL_DB; }
-(?i:"OPERATOR_key")     { return OPERATOR_KEY; }
-(?i:"RANDOM")       { return RANDOM; }
-
-    /* Valid single characters for yyparse */
-<*>[=,:;{}]     { return yytext[0]; }
-
-<*>[[:alnum:]]+     |   /* This rule is only useful to print a complete token in error messages */
-    /* Unrecognized character */
-<*>.    {
-    fprintf(stderr, "Unrecognized text on line %d col %d: '%s'.\n",
-            yylloc->first_line, yylloc->first_column, yytext);
-    return LEX_ERROR;
-}
-
-%%
diff --git a/openair-cn/OPENAIRHSS/utils/queue.h b/openair-cn/OPENAIRHSS/utils/queue.h
deleted file mode 100644
index 47f638b57cd7d94e6925be3837883e2e6af8667f..0000000000000000000000000000000000000000
--- a/openair-cn/OPENAIRHSS/utils/queue.h
+++ /dev/null
@@ -1,592 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- *  The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *  @(#)queue.h 8.5 (Berkeley) 8/20/94
- */
-
-#ifndef _SYS_QUEUE_H_
-#define _SYS_QUEUE_H_
-
-/*
- * This file defines five types of data structures: singly-linked lists,
- * lists, simple queues, tail queues, and circular queues.
- *
- * A singly-linked list is headed by a single forward pointer. The
- * elements are singly linked for minimum space and pointer manipulation
- * overhead at the expense of O(n) removal for arbitrary elements. New
- * elements can be added to the list after an existing element or at the
- * head of the list.  Elements being removed from the head of the list
- * should use the explicit macro for this purpose for optimum
- * efficiency. A singly-linked list may only be traversed in the forward
- * direction.  Singly-linked lists are ideal for applications with large
- * datasets and few or no removals or for implementing a LIFO queue.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A simple queue is headed by a pair of pointers, one the head of the
- * list and the other to the tail of the list. The elements are singly
- * linked to save space, so elements can only be removed from the
- * head of the list. New elements can be added to the list after
- * an existing element, at the head of the list, or at the end of the
- * list. A simple queue may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may be traversed in either direction.
- *
- * A circle queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the list.
- * A circle queue may be traversed in either direction, but has a more
- * complex end of list detection.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- *                      SLIST   LIST    STAILQ  TAILQ   CIRCLEQ
- * _HEAD                +       +       +       +       +
- * _HEAD_INITIALIZER    +       +       +       +       +
- * _ENTRY               +       +       +       +       +
- * _INIT                +       +       +       +       +
- * _EMPTY               +       +       +       +       +
- * _FIRST               +       +       +       +       +
- * _NEXT                +       +       +       +       +
- * _PREV                -       -       -       +       +
- * _LAST                -       -       +       +       +
- * _FOREACH             +       +       +       +       +
- * _FOREACH_REVERSE     -       -       -       +       +
- * _INSERT_HEAD         +       +       +       +       +
- * _INSERT_BEFORE       -       +       -       +       +
- * _INSERT_AFTER        +       +       +       +       +
- * _INSERT_TAIL         -       -       +       +       +
- * _REMOVE_HEAD         +       -       +       -       -
- * _REMOVE              +       +       +       +       +
- */
-
-/*
- * List definitions.
- */
-#define LIST_HEAD(name, type)                       \
-    struct name {                               \
-        struct type *lh_first;  /* first element */         \
-    }
-
-#define LIST_HEAD_INITIALIZER(head)                 \
-    { NULL }
-
-#define LIST_ENTRY(type)                        \
-    struct {                                \
-        struct type *le_next;   /* next element */          \
-        struct type **le_prev;  /* address of previous next element */  \
-    }
-
-/*
- * List functions.
- */
-#define LIST_INIT(head) do {                        \
-        (head)->lh_first = NULL;                    \
-    } while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_AFTER(listelm, elm, field) do {         \
-        if (((elm)->field.le_next = (listelm)->field.le_next) != NULL)  \
-            (listelm)->field.le_next->field.le_prev =       \
-                    &(elm)->field.le_next;              \
-        (listelm)->field.le_next = (elm);               \
-        (elm)->field.le_prev = &(listelm)->field.le_next;       \
-    } while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_BEFORE(listelm, elm, field) do {            \
-        (elm)->field.le_prev = (listelm)->field.le_prev;        \
-        (elm)->field.le_next = (listelm);               \
-        *(listelm)->field.le_prev = (elm);              \
-        (listelm)->field.le_prev = &(elm)->field.le_next;       \
-    } while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_HEAD(head, elm, field) do {             \
-        if (((elm)->field.le_next = (head)->lh_first) != NULL)      \
-            (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
-        (head)->lh_first = (elm);                   \
-        (elm)->field.le_prev = &(head)->lh_first;           \
-    } while (/*CONSTCOND*/0)
-
-#define LIST_REMOVE(elm, field) do {                    \
-        if ((elm)->field.le_next != NULL)               \
-            (elm)->field.le_next->field.le_prev =           \
-                    (elm)->field.le_prev;               \
-        *(elm)->field.le_prev = (elm)->field.le_next;           \
-    } while (/*CONSTCOND*/0)
-
-#define LIST_FOREACH(var, head, field)                  \
-    for ((var) = ((head)->lh_first);                \
-            (var);                          \
-            (var) = ((var)->field.le_next))
-
-/*
- * List access methods.
- */
-#define LIST_EMPTY(head)        ((head)->lh_first == NULL)
-#define LIST_FIRST(head)        ((head)->lh_first)
-#define LIST_NEXT(elm, field)       ((elm)->field.le_next)
-
-
-/*
- * Singly-linked List definitions.
- */
-#define SLIST_HEAD(name, type)                      \
-    struct name {                               \
-        struct type *slh_first; /* first element */         \
-    }
-
-#define SLIST_HEAD_INITIALIZER(head)                    \
-    { NULL }
-
-#define SLIST_ENTRY(type)                       \
-    struct {                                \
-        struct type *sle_next;  /* next element */          \
-    }
-
-/*
- * Singly-linked List functions.
- */
-#define SLIST_INIT(head) do {                       \
-        (head)->slh_first = NULL;                   \
-    } while (/*CONSTCOND*/0)
-
-#define SLIST_INSERT_AFTER(slistelm, elm, field) do {           \
-        (elm)->field.sle_next = (slistelm)->field.sle_next;     \
-        (slistelm)->field.sle_next = (elm);             \
-    } while (/*CONSTCOND*/0)
-
-#define SLIST_INSERT_HEAD(head, elm, field) do {            \
-        (elm)->field.sle_next = (head)->slh_first;          \
-        (head)->slh_first = (elm);                  \
-    } while (/*CONSTCOND*/0)
-
-#define SLIST_REMOVE_HEAD(head, field) do {             \
-        (head)->slh_first = (head)->slh_first->field.sle_next;      \
-    } while (/*CONSTCOND*/0)
-
-#define SLIST_REMOVE(head, elm, type, field) do {           \
-        if ((head)->slh_first == (elm)) {               \
-            SLIST_REMOVE_HEAD((head), field);           \
-        }                               \
-        else {                              \
-            struct type *curelm = (head)->slh_first;        \
-            while(curelm->field.sle_next != (elm))          \
-                curelm = curelm->field.sle_next;        \
-            curelm->field.sle_next =                \
-                                                    curelm->field.sle_next->field.sle_next;     \
-        }                               \
-    } while (/*CONSTCOND*/0)
-
-#define SLIST_FOREACH(var, head, field)                 \
-    for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
-
-/*
- * Singly-linked List access methods.
- */
-#define SLIST_EMPTY(head)   ((head)->slh_first == NULL)
-#define SLIST_FIRST(head)   ((head)->slh_first)
-#define SLIST_NEXT(elm, field)  ((elm)->field.sle_next)
-
-
-/*
- * Singly-linked Tail queue declarations.
- */
-#define STAILQ_HEAD(name, type)                 \
-    struct name {                               \
-        struct type *stqh_first;    /* first element */         \
-        struct type **stqh_last;    /* addr of last next element */     \
-    }
-
-#define STAILQ_HEAD_INITIALIZER(head)                   \
-    { NULL, &(head).stqh_first }
-
-#define STAILQ_ENTRY(type)                      \
-    struct {                                \
-        struct type *stqe_next; /* next element */          \
-    }
-
-/*
- * Singly-linked Tail queue functions.
- */
-#define STAILQ_INIT(head) do {                      \
-        (head)->stqh_first = NULL;                  \
-        (head)->stqh_last = &(head)->stqh_first;                \
-    } while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_HEAD(head, elm, field) do {           \
-        if (((elm)->field.stqe_next = (head)->stqh_first) == NULL)  \
-            (head)->stqh_last = &(elm)->field.stqe_next;        \
-        (head)->stqh_first = (elm);                 \
-    } while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_TAIL(head, elm, field) do {           \
-        (elm)->field.stqe_next = NULL;                  \
-        *(head)->stqh_last = (elm);                 \
-        (head)->stqh_last = &(elm)->field.stqe_next;            \
-    } while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do {     \
-        if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
-            (head)->stqh_last = &(elm)->field.stqe_next;        \
-        (listelm)->field.stqe_next = (elm);             \
-    } while (/*CONSTCOND*/0)
-
-#define STAILQ_REMOVE_HEAD(head, field) do {                \
-        if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
-            (head)->stqh_last = &(head)->stqh_first;            \
-    } while (/*CONSTCOND*/0)
-
-#define STAILQ_REMOVE(head, elm, type, field) do {          \
-        if ((head)->stqh_first == (elm)) {              \
-            STAILQ_REMOVE_HEAD((head), field);          \
-        } else {                            \
-            struct type *curelm = (head)->stqh_first;       \
-            while (curelm->field.stqe_next != (elm))            \
-                curelm = curelm->field.stqe_next;       \
-            if ((curelm->field.stqe_next =              \
-                    curelm->field.stqe_next->field.stqe_next) == NULL) \
-                (head)->stqh_last = &(curelm)->field.stqe_next; \
-        }                               \
-    } while (/*CONSTCOND*/0)
-
-#define STAILQ_FOREACH(var, head, field)                \
-    for ((var) = ((head)->stqh_first);              \
-            (var);                          \
-            (var) = ((var)->field.stqe_next))
-
-#define STAILQ_CONCAT(head1, head2) do {                \
-        if (!STAILQ_EMPTY((head2))) {                   \
-            *(head1)->stqh_last = (head2)->stqh_first;      \
-            (head1)->stqh_last = (head2)->stqh_last;        \
-            STAILQ_INIT((head2));                   \
-        }                               \
-    } while (/*CONSTCOND*/0)
-
-/*
- * Singly-linked Tail queue access methods.
- */
-#define STAILQ_EMPTY(head)  ((head)->stqh_first == NULL)
-#define STAILQ_FIRST(head)  ((head)->stqh_first)
-#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
-
-
-/*
- * Simple queue definitions.
- */
-#define SIMPLEQ_HEAD(name, type)                    \
-    struct name {                               \
-        struct type *sqh_first; /* first element */         \
-        struct type **sqh_last; /* addr of last next element */     \
-    }
-
-#define SIMPLEQ_HEAD_INITIALIZER(head)                  \
-    { NULL, &(head).sqh_first }
-
-#define SIMPLEQ_ENTRY(type)                     \
-    struct {                                \
-        struct type *sqe_next;  /* next element */          \
-    }
-
-/*
- * Simple queue functions.
- */
-#define SIMPLEQ_INIT(head) do {                     \
-        (head)->sqh_first = NULL;                   \
-        (head)->sqh_last = &(head)->sqh_first;              \
-    } while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_HEAD(head, elm, field) do {          \
-        if (((elm)->field.sqe_next = (head)->sqh_first) == NULL)    \
-            (head)->sqh_last = &(elm)->field.sqe_next;      \
-        (head)->sqh_first = (elm);                  \
-    } while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_TAIL(head, elm, field) do {          \
-        (elm)->field.sqe_next = NULL;                   \
-        *(head)->sqh_last = (elm);                  \
-        (head)->sqh_last = &(elm)->field.sqe_next;          \
-    } while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {        \
-        if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
-            (head)->sqh_last = &(elm)->field.sqe_next;      \
-        (listelm)->field.sqe_next = (elm);              \
-    } while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_REMOVE_HEAD(head, field) do {               \
-        if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
-            (head)->sqh_last = &(head)->sqh_first;          \
-    } while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_REMOVE(head, elm, type, field) do {         \
-        if ((head)->sqh_first == (elm)) {               \
-            SIMPLEQ_REMOVE_HEAD((head), field);         \
-        } else {                            \
-            struct type *curelm = (head)->sqh_first;        \
-            while (curelm->field.sqe_next != (elm))         \
-                curelm = curelm->field.sqe_next;        \
-            if ((curelm->field.sqe_next =               \
-                    curelm->field.sqe_next->field.sqe_next) == NULL) \
-                (head)->sqh_last = &(curelm)->field.sqe_next; \
-        }                               \
-    } while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_FOREACH(var, head, field)               \
-    for ((var) = ((head)->sqh_first);               \
-            (var);                          \
-            (var) = ((var)->field.sqe_next))
-
-/*
- * Simple queue access methods.
- */
-#define SIMPLEQ_EMPTY(head)     ((head)->sqh_first == NULL)
-#define SIMPLEQ_FIRST(head)     ((head)->sqh_first)
-#define SIMPLEQ_NEXT(elm, field)    ((elm)->field.sqe_next)
-
-
-/*
- * Tail queue definitions.
- */
-#define _TAILQ_HEAD(name, type, qual)                   \
-    struct name {                               \
-        qual type *tqh_first;       /* first element */     \
-        qual type *qual *tqh_last;  /* addr of last next element */ \
-    }
-#define TAILQ_HEAD(name, type)  _TAILQ_HEAD(name, struct type,)
-
-#define TAILQ_HEAD_INITIALIZER(head)                    \
-    { NULL, &(head).tqh_first }
-
-#define _TAILQ_ENTRY(type, qual)                    \
-    struct {                                \
-        qual type *tqe_next;        /* next element */      \
-        qual type *qual *tqe_prev;  /* address of previous next element */\
-    }
-#define TAILQ_ENTRY(type)   _TAILQ_ENTRY(struct type,)
-
-/*
- * Tail queue functions.
- */
-#define TAILQ_INIT(head) do {                       \
-        (head)->tqh_first = NULL;                   \
-        (head)->tqh_last = &(head)->tqh_first;              \
-    } while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_HEAD(head, elm, field) do {            \
-        if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)    \
-            (head)->tqh_first->field.tqe_prev =         \
-                    &(elm)->field.tqe_next;             \
-        else                                \
-            (head)->tqh_last = &(elm)->field.tqe_next;      \
-        (head)->tqh_first = (elm);                  \
-        (elm)->field.tqe_prev = &(head)->tqh_first;         \
-    } while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_TAIL(head, elm, field) do {            \
-        (elm)->field.tqe_next = NULL;                   \
-        (elm)->field.tqe_prev = (head)->tqh_last;           \
-        *(head)->tqh_last = (elm);                  \
-        (head)->tqh_last = &(elm)->field.tqe_next;          \
-    } while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do {      \
-        if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
-            (elm)->field.tqe_next->field.tqe_prev =         \
-                    &(elm)->field.tqe_next;             \
-        else                                \
-            (head)->tqh_last = &(elm)->field.tqe_next;      \
-        (listelm)->field.tqe_next = (elm);              \
-        (elm)->field.tqe_prev = &(listelm)->field.tqe_next;     \
-    } while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_BEFORE(listelm, elm, field) do {           \
-        (elm)->field.tqe_prev = (listelm)->field.tqe_prev;      \
-        (elm)->field.tqe_next = (listelm);              \
-        *(listelm)->field.tqe_prev = (elm);             \
-        (listelm)->field.tqe_prev = &(elm)->field.tqe_next;     \
-    } while (/*CONSTCOND*/0)
-
-#define TAILQ_REMOVE(head, elm, field) do {             \
-        if (((elm)->field.tqe_next) != NULL)                \
-            (elm)->field.tqe_next->field.tqe_prev =         \
-                    (elm)->field.tqe_prev;              \
-        else                                \
-            (head)->tqh_last = (elm)->field.tqe_prev;       \
-        *(elm)->field.tqe_prev = (elm)->field.tqe_next;         \
-    } while (/*CONSTCOND*/0)
-
-#define TAILQ_FOREACH(var, head, field)                 \
-    for ((var) = ((head)->tqh_first);               \
-            (var);                          \
-            (var) = ((var)->field.tqe_next))
-
-#define TAILQ_FOREACH_REVERSE(var, head, headname, field)       \
-    for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));    \
-            (var);                          \
-            (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
-
-#define TAILQ_CONCAT(head1, head2, field) do {              \
-        if (!TAILQ_EMPTY(head2)) {                  \
-            *(head1)->tqh_last = (head2)->tqh_first;        \
-            (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
-            (head1)->tqh_last = (head2)->tqh_last;          \
-            TAILQ_INIT((head2));                    \
-        }                               \
-    } while (/*CONSTCOND*/0)
-
-/*
- * Tail queue access methods.
- */
-#define TAILQ_EMPTY(head)       ((head)->tqh_first == NULL)
-#define TAILQ_FIRST(head)       ((head)->tqh_first)
-#define TAILQ_NEXT(elm, field)      ((elm)->field.tqe_next)
-
-#define TAILQ_LAST(head, headname) \
-    (*(((struct headname *)((head)->tqh_last))->tqh_last))
-#define TAILQ_PREV(elm, headname, field) \
-    (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-
-
-/*
- * Circular queue definitions.
- */
-#define CIRCLEQ_HEAD(name, type)                    \
-    struct name {                               \
-        struct type *cqh_first;     /* first element */     \
-        struct type *cqh_last;      /* last element */      \
-    }
-
-#define CIRCLEQ_HEAD_INITIALIZER(head)                  \
-    { (void *)&head, (void *)&head }
-
-#define CIRCLEQ_ENTRY(type)                     \
-    struct {                                \
-        struct type *cqe_next;      /* next element */      \
-        struct type *cqe_prev;      /* previous element */      \
-    }
-
-/*
- * Circular queue functions.
- */
-#define CIRCLEQ_INIT(head) do {                     \
-        (head)->cqh_first = (void *)(head);             \
-        (head)->cqh_last = (void *)(head);              \
-    } while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {        \
-        (elm)->field.cqe_next = (listelm)->field.cqe_next;      \
-        (elm)->field.cqe_prev = (listelm);              \
-        if ((listelm)->field.cqe_next == (void *)(head))        \
-            (head)->cqh_last = (elm);               \
-        else                                \
-            (listelm)->field.cqe_next->field.cqe_prev = (elm);  \
-        (listelm)->field.cqe_next = (elm);              \
-    } while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {       \
-        (elm)->field.cqe_next = (listelm);              \
-        (elm)->field.cqe_prev = (listelm)->field.cqe_prev;      \
-        if ((listelm)->field.cqe_prev == (void *)(head))        \
-            (head)->cqh_first = (elm);              \
-        else                                \
-            (listelm)->field.cqe_prev->field.cqe_next = (elm);  \
-        (listelm)->field.cqe_prev = (elm);              \
-    } while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_HEAD(head, elm, field) do {          \
-        (elm)->field.cqe_next = (head)->cqh_first;          \
-        (elm)->field.cqe_prev = (void *)(head);             \
-        if ((head)->cqh_last == (void *)(head))             \
-            (head)->cqh_last = (elm);               \
-        else                                \
-            (head)->cqh_first->field.cqe_prev = (elm);      \
-        (head)->cqh_first = (elm);                  \
-    } while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_TAIL(head, elm, field) do {          \
-        (elm)->field.cqe_next = (void *)(head);             \
-        (elm)->field.cqe_prev = (head)->cqh_last;           \
-        if ((head)->cqh_first == (void *)(head))            \
-            (head)->cqh_first = (elm);              \
-        else                                \
-            (head)->cqh_last->field.cqe_next = (elm);       \
-        (head)->cqh_last = (elm);                   \
-    } while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_REMOVE(head, elm, field) do {               \
-        if ((elm)->field.cqe_next == (void *)(head))            \
-            (head)->cqh_last = (elm)->field.cqe_prev;       \
-        else                                \
-            (elm)->field.cqe_next->field.cqe_prev =         \
-                    (elm)->field.cqe_prev;              \
-        if ((elm)->field.cqe_prev == (void *)(head))            \
-            (head)->cqh_first = (elm)->field.cqe_next;      \
-        else                                \
-            (elm)->field.cqe_prev->field.cqe_next =         \
-                    (elm)->field.cqe_next;              \
-    } while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_FOREACH(var, head, field)               \
-    for ((var) = ((head)->cqh_first);               \
-            (var) != (const void *)(head);              \
-            (var) = ((var)->field.cqe_next))
-
-#define CIRCLEQ_FOREACH_REVERSE(var, head, field)           \
-    for ((var) = ((head)->cqh_last);                \
-            (var) != (const void *)(head);              \
-            (var) = ((var)->field.cqe_prev))
-
-/*
- * Circular queue access methods.
- */
-#define CIRCLEQ_EMPTY(head)     ((head)->cqh_first == (void *)(head))
-#define CIRCLEQ_FIRST(head)     ((head)->cqh_first)
-#define CIRCLEQ_LAST(head)      ((head)->cqh_last)
-#define CIRCLEQ_NEXT(elm, field)    ((elm)->field.cqe_next)
-#define CIRCLEQ_PREV(elm, field)    ((elm)->field.cqe_prev)
-
-#define CIRCLEQ_LOOP_NEXT(head, elm, field)             \
-    (((elm)->field.cqe_next == (void *)(head))          \
-     ? ((head)->cqh_first)                   \
-     : (elm->field.cqe_next))
-#define CIRCLEQ_LOOP_PREV(head, elm, field)             \
-    (((elm)->field.cqe_prev == (void *)(head))          \
-     ? ((head)->cqh_last)                    \
-     : (elm->field.cqe_prev))
-
-#endif  /* sys/queue.h */
diff --git a/openair-cn/README b/openair-cn/README
deleted file mode 100644
index 11ae2e631e084a5d7199605b09bb1a8709a4c7b7..0000000000000000000000000000000000000000
--- a/openair-cn/README
+++ /dev/null
@@ -1,128 +0,0 @@
-===============================================================================
-***************************** OAISIM_MME v0.3 *********************************
-===============================================================================
-
-MME + P-GW + S-GW implementation of 3GPP standard.
-
-|-----|       |------|
-| MME | ----- | eNBs |
-|-----|       |------|
-
-Controle plane:
-
-              eNB                                    MME                                     HSS
-
-                                       |----------------------------|
-                                       |    MME Application layer   |
-                                       |----------------------------|
-                                       |------------|                          |-------------|  |-------------|     |--------------|
-                                       |     NAS    |                          |     AUC     |--|    Mysql    | --- |   Database   |
-                                       |------------|                          |-------------|  |-------------|     |--------------|
-|------------|   |------------|        |------------|  |--------------|        |------------------------------|
-|    RRC     | - | S1AP layer | ------ | S1AP layer |  | S6A/Diameter | ------ |          S6A/Diameter        |
-|------------|   |------------|        |------------|  |--------------|        |------------------------------|
-                 |------------|        |------------------------------|        |------------------------------|
-                 | SCTP layer | ------ |           SCTP layer         | ------ |           SCTP layer         |
-                 |------------|        |------------------------------|        |------------------------------|
-
-
-Non-UE associated control plane goes directly from S1AP to MME application layer.
-
-User plane:
-
-      eNB                   MME
-
-|------------|        |------------|
-|    PDCP    |        |     MAL    |
-|------------|        |------------|
-|------------|        |------------|
-|    S1-U    | ------ |    S1-U    |
-|------------|        |------------|
-|------------|        |------------|
-|  GTPV1-U   | ------ |   GTPV1-U  |
-|------------|        |------------|
-|------------|        |------------|
-|  UDP layer | ------ |  UDP layer |
-|------------|        |------------|
-
-Current development:
-
-- NAS  layer: under development
-- S1AP layer: compliant with 3GPP TS36.413-8a0 and TS36.413-980 and TS35.413-a50
-- SCTP layer: SEQ_PACKET socket types
-
-For now the MME is able to register new eNBs on SCTP layer,
-and handles S1 Setup request, Initial UE message, UplinkNASTransport on
-S1AP layer.
-
-The MME needs some libraries and tools:
-- libsctp-dev (SCTP support)
-- libpthread-dev
-- asn1c utility (patched with Aligned PER support, see README in
-S1AP/MESSAGES/ASN1)
-- flex
-- bison
-To install the dependencies:
-sudo apt-get install libsctp-dev libpthread-dev flex bison g++ gcc make -y
-
-A script is present in S6A/freediameter to install required packages for
-S6A interface over diameter. Run it as a sudoer.   
-
-install_openvswitch1.9.0.bash
-cd S6A/freediameter/README
-
-Compilations steps for use with oaisim 4G emulation environment:
-./autogen.sh or autoreconf -i --force --install
-mkdir objs && cd objs
-../configure [options]
-make
-
-Compilations steps for oaisim_mme use alone:
-./autogen.sh
-./configure [options]
-make
-
-Current options supported for configure:
---enable-r8: disable R9 and R10 S1AP messages updates
---enable-r9: disable R10 updates
-code build switch: UPDATE_RELEASE_9 and UPDATE_RELEASE_10
-NOTE: Release 10 is enabled by default
---enable-standalone-epc: all-in-one package, MME, S-GW and P-GW are compiled in a single
-executable and S11 interface is not used; messages are exchanged internally,
-linking MME applicative layer to S+P-GW applicative layer
-
-How to run EPC environnement ?
-
-If you avec enabled the standalone option
-the package is called oai_epc in the OAI_EPC directory.
-
-If you have decided to use the S11 interface,
-two executables should be run on different machines
-
-* oai_sgw in OAI_SGW
-* oaisim_mme in OAISIM_MME
-
-For example to rum mme:
-./OAISIM_MME/oaisim_mme [options]
-Avalaible options:
--h: print help
--v: enable verbosity level [1-2]
--V: print current executable version and return
-
-Before any commit:
-make maintainer-clean
-
-MME SCTP port for S1AP messages is 36412
-SGW and eNB GTP-u port is 2152
-SGW and MME GTP-c port is 2123
-
--------- Adding new files to build system --------
-1) When adding a new file to compile, edit the Makefile.am of the corresponding
-   directory.
-2) Execute ./autogen.sh
-3) make
-WARNING: do not edit directly Makefiles and Makefile.in, they are re-generated by
-         autoconf/automake.
-
-Bugs:
-report any bug to openair_admin@eurecom.fr
diff --git a/openair-cn/S11/COPYING b/openair-cn/S11/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/S11/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/S11/Makefile.am b/openair-cn/S11/Makefile.am
deleted file mode 100644
index 7878e76f6af3e0fc6e5cdbb53a7bdd8d40c2d2ee..0000000000000000000000000000000000000000
--- a/openair-cn/S11/Makefile.am
+++ /dev/null
@@ -1,54 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-noinst_LTLIBRARIES = libs11.la
-
-libs11_la_LDFLAGS = -all-static
-
-AM_CFLAGS =	\
-	@ADD_CFLAGS@	\
-	-I$(top_srcdir)/COMMON	\
-	-I$(top_srcdir)/GTPV2-C/nwgtpv2c-0.11/shared	\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE	\
-	-I$(top_srcdir)/SGW-LITE	\
-	-I$(top_srcdir)/UTILS
-
-libs11_la_SOURCES = \
-	s11_common.c		  s11_common.h			\
-	s11_ie_formatter.c 	  s11_ie_formatter.h		\
-	s11_mme_task.c 		  s11_mme.h			\
-	s11_sgw.c 		  s11_sgw.h 			\
-	s11_mme_session_manager.c s11_mme_session_manager.h	\
-	s11_sgw_session_manager.c s11_sgw_session_manager.h	\
-	s11_sgw_bearer_manager.c  s11_sgw_bearer_manager.h
\ No newline at end of file
diff --git a/openair-cn/S11/s11_common.c b/openair-cn/S11/s11_common.c
deleted file mode 100644
index b24e82b586e3e2f0aacd4eac0776f8d33a2fda96..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_common.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "NwGtpv2c.h"
-
-#include "s11_common.h"
-
-NwRcT s11_ie_indication_generic(uint8_t  ieType,
-                                uint8_t  ieLength,
-                                uint8_t  ieInstance,
-                                uint8_t *ieValue,
-                                void  *arg)
-{
-  S11_DEBUG("Received IE Parse Indication for of type %u, length %u, "
-            "instance %u!\n", ieType, ieLength, ieInstance);
-  return NW_OK;
-}
diff --git a/openair-cn/S11/s11_common.h b/openair-cn/S11/s11_common.h
deleted file mode 100644
index a1f59006b2a0b10654e31bf8c3b9cdc565b546ae..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_common.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef S11_COMMON_H_
-#define S11_COMMON_H_
-
-#define S11_DEBUG(x, args...) fprintf(stdout, "[S11] [D]"x, ##args)
-#define S11_INFO(x, args...)  fprintf(stdout, "[S11] [I]"x, ##args)
-#define S11_WARN(x, args...)  fprintf(stdout, "[S11] [W]"x, ##args)
-#define S11_ERROR(x, args...) fprintf(stderr, "[S11] [E]"x, ##args)
-
-NwRcT s11_ie_indication_generic(uint8_t  ieType,
-                                uint8_t  ieLength,
-                                uint8_t  ieInstance,
-                                uint8_t *ieValue,
-                                void  *arg);
-
-#endif /* S11_COMMON_H_ */
diff --git a/openair-cn/S11/s11_ie_formatter.c b/openair-cn/S11/s11_ie_formatter.c
deleted file mode 100644
index 1b3f85acf4613aeea2ee19f3d0cfe41559241f68..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_ie_formatter.c
+++ /dev/null
@@ -1,1164 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdio.h>
-#include <stdint.h>
-#include <inttypes.h>
-
-#include "assertions.h"
-#include "conversions.h"
-
-#include "sgw_lite_messages_types.h"
-
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgParser.h"
-
-#include "s11_common.h"
-#include "s11_ie_formatter.h"
-
-NwRcT s11_imsi_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  Imsi_t *imsi;
-  uint8_t i;
-  uint8_t mask = 0x0F;
-  uint8_t imsi_length = 2 * ieLength;
-
-  DevAssert(arg != NULL);
-  imsi = (Imsi_t *)arg;
-
-  for (i = 0; i < ieLength * 2; i++) {
-    if (mask == 0x0F) {
-      imsi->digit[i] = (ieValue[i / 2] & (mask));
-    } else {
-      imsi->digit[i] = (ieValue[i / 2] & (mask)) >> 4;
-    }
-
-    imsi->digit[i] += '0';
-    mask = ~mask;
-  }
-
-  if (imsi->digit[imsi_length - 1] == (0x0f + '0')) {
-    imsi->digit[imsi_length - 1] = 0;
-    imsi_length--;
-  }
-
-  imsi->length = imsi_length;
-
-  S11_DEBUG("\t- IMSI length %d\n", imsi->length);
-  S11_DEBUG("\t-      value  %*s\n", imsi->length, imsi->digit);
-
-  return NW_OK;
-}
-
-int s11_imsi_ie_set(NwGtpv2cMsgHandleT *msg, const Imsi_t *imsi)
-{
-  uint8_t *temp = NULL;
-  uint8_t imsi_length, i;
-  NwRcT   rc;
-
-  DevAssert(msg != NULL);
-  DevAssert(imsi != NULL);
-
-  /* In case of odd/even imsi */
-  imsi_length = imsi->length % 2 == 0 ? imsi->length / 2 : imsi->length / 2 + 1;
-
-  temp = calloc(imsi_length, sizeof(uint8_t));
-
-  DevAssert(temp != NULL);
-
-  for (i = 0; i < imsi->length; i++) {
-    temp[i / 2] |= ((imsi->digit[i] - '0') & 0x0F) << (i % 2 ? 4 : 0);
-  }
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_IMSI, imsi_length, 0, temp);
-  DevAssert(NW_OK == rc);
-
-  free(temp);
-
-  return 0;
-}
-
-NwRcT s11_msisdn_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  Msisdn_t *msisdn;
-  uint8_t   i;
-  uint8_t   mask = 0x0F;
-  uint8_t   msisdn_length = 2 * ieLength;
-
-  DevAssert(arg != NULL);
-  msisdn = (Msisdn_t *)arg;
-
-  for (i = 0; i < ieLength * 2; i++) {
-    if (mask == 0x0F) {
-      msisdn->digit[i] = (ieValue[i / 2] & (mask));
-    } else {
-      msisdn->digit[i] = (ieValue[i / 2] & (mask)) >> 4;
-    }
-
-    msisdn->digit[i] += '0';
-    mask = ~mask;
-  }
-
-  if (msisdn->digit[msisdn_length - 1] == (0x0f + '0')) {
-    msisdn->digit[msisdn_length - 1] = 0;
-    msisdn_length--;
-  }
-
-  msisdn->length = msisdn_length;
-
-  S11_DEBUG("\t- MSISDN length %d\n", msisdn->length);
-  S11_DEBUG("\t-        value  %*s\n", msisdn->length, (char *)msisdn->digit);
-
-  return NW_OK;
-}
-
-NwRcT s11_mei_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  Mei_t *mei = (Mei_t *)arg;
-
-  DevAssert(mei != NULL);
-
-
-
-  return NW_OK;
-}
-
-NwRcT s11_pdn_type_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  pdn_type_t *pdn_type = (pdn_type_t *)arg;
-
-  DevAssert(pdn_type != NULL);
-
-  if (*ieValue == 1) {
-    /* Only IPv4 */
-    *pdn_type = IPv4;
-  } else if (*ieValue == 2) {
-    /* Only IPv6 */
-    *pdn_type = IPv6;
-  } else if (*ieValue == 3) {
-    /* IPv4 and/or IPv6 */
-    *pdn_type = IPv4_AND_v6;
-  } else {
-    S11_ERROR("Received unknown value for PDN Type: %u\n", *ieValue);
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  S11_DEBUG("\t- PDN type %u\n", *pdn_type);
-
-  return NW_OK;
-}
-
-int s11_pdn_type_ie_set(NwGtpv2cMsgHandleT *msg, const pdn_type_t *pdn_type)
-{
-  NwRcT   rc;
-  uint8_t value;
-
-  DevAssert(pdn_type != NULL);
-  DevAssert(msg != NULL);
-
-  switch (*pdn_type) {
-  case IPv4:
-    value = 1;
-    break;
-
-  case IPv6:
-    value = 2;
-    break;
-
-  case IPv4_AND_v6:
-  case IPv4_OR_v6:
-    value = 3;
-    break;
-
-  default:
-    S11_ERROR("Invalid PDN type received: %d\n", *pdn_type);
-    return -1;
-  }
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_PDN_TYPE, 1, 0, (uint8_t*)&value);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-NwRcT s11_rat_type_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  rat_type_t *rat_type = (rat_type_t *)arg;
-
-  DevAssert(rat_type != NULL);
-
-  switch (*ieValue) {
-  case 1:
-    *rat_type = RAT_UTRAN;
-    break;
-
-  case 2:
-    *rat_type = RAT_GERAN;
-    break;
-
-  case 3:
-    *rat_type = RAT_WLAN;
-    break;
-
-  case 4:
-    *rat_type = RAT_GAN;
-    break;
-
-  case 5:
-    *rat_type = RAT_HSPA_EVOLUTION;
-    break;
-
-  case 6:
-    *rat_type = RAT_EUTRAN;
-    break;
-
-  default:
-    S11_ERROR("Can't map GTP RAT type %u to EPC definition\n"
-              "\tCheck TS.29.274 #8.17 for possible values\n", *ieValue);
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  S11_DEBUG("\t- RAT type (%d): %d\n", *ieValue, *rat_type);
-
-  return NW_OK;
-}
-
-int s11_rat_type_ie_set(NwGtpv2cMsgHandleT *msg, const rat_type_t *rat_type)
-{
-  NwRcT   rc;
-  uint8_t value;
-
-  DevAssert(rat_type != NULL);
-  DevAssert(msg != NULL);
-
-  switch (*rat_type) {
-  case RAT_UTRAN:
-    value = 1;
-    break;
-
-  case RAT_GERAN:
-    value = 2;
-    break;
-
-  case RAT_WLAN:
-    value = 3;
-    break;
-
-  case RAT_GAN:
-    value = 4;
-    break;
-
-  case RAT_HSPA_EVOLUTION:
-    value = 5;
-    break;
-
-  case RAT_EUTRAN:
-    value = 6;
-    break;
-
-  default:
-    S11_ERROR("Can't map RAT type %d to GTP RAT type\n"
-              "\tCheck TS.29.274 #8.17 for possible values\n", *rat_type);
-    return -1;
-  }
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_RAT_TYPE, 1, 0, (uint8_t*)&value);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-int s11_ebi_ie_set(NwGtpv2cMsgHandleT *msg, const unsigned ebi)
-{
-  NwRcT   rc;
-  uint8_t value = 0;
-
-  value = ebi & 0x0F;
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_EBI, 1, 0,
-                        &value);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-NwRcT s11_ebi_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  uint8_t *ebi = (uint8_t *)arg;
-
-  DevAssert(ebi != NULL);
-
-  *ebi = ieValue[0] & 0x0F;
-
-  S11_DEBUG("\t- EBI %u\n", *ebi);
-
-  return NW_OK;
-}
-
-NwRcT s11_cause_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  SGWCause_t *cause = (SGWCause_t *)arg;
-
-  DevAssert(cause != NULL);
-
-  *cause = ieValue[0];
-
-  S11_DEBUG("\t- Cause %u\n", *cause);
-
-  return NW_OK;
-}
-
-int s11_cause_ie_set(NwGtpv2cMsgHandleT *msg,
-                     const gtp_cause_t  *cause)
-{
-  NwRcT rc;
-  uint8_t value[6];
-
-  DevAssert(msg != NULL);
-  DevAssert(cause != NULL);
-
-  value[0] = cause->cause_value;
-  value[1] = ((cause->pce & 0x1) << 2) | ((cause->bce & 0x1) << 1) | (cause->cs & 0x1);
-
-  if (cause->offending_ie_type != 0) {
-    value[2] = cause->offending_ie_type;
-    value[3] = (cause->offending_ie_length & 0xFF00) >> 8;
-    value[4] = cause->offending_ie_length & 0x00FF;
-    value[5] = cause->offending_ie_instance & 0x0F;
-    rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_CAUSE, 6, 0, value);
-  } else {
-    rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_CAUSE, 2, 0, value);
-  }
-
-  DevAssert(NW_OK == rc);
-
-  return rc == NW_OK ? 0 : -1;
-}
-
-NwRcT s11_bearer_context_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  bearer_to_create_t *bearer_to_create = (bearer_to_create_t *)arg;
-  uint8_t read = 0;
-  NwRcT   rc;
-
-  DevAssert(bearer_to_create != NULL);
-
-  while (ieLength > read) {
-    NwGtpv2cIeTlvT *ie_p;
-
-    ie_p = (NwGtpv2cIeTlvT*)&ieValue[read];
-
-    switch (ie_p->t) {
-    case NW_GTPV2C_IE_EBI:
-      rc = s11_ebi_ie_get(ie_p->t, ie_p->l, ie_p->i,
-                          &ieValue[read + sizeof(NwGtpv2cIeTlvT)],
-                          &bearer_to_create->eps_bearer_id);
-      DevAssert(NW_OK == rc);
-      break;
-
-    case NW_GTPV2C_IE_BEARER_LEVEL_QOS:
-      break;
-
-    default:
-      S11_ERROR("Received unexpected IE %u\n", ie_p->t);
-      return NW_GTPV2C_IE_INCORRECT;
-    }
-
-    read += (ntohs(ie_p->l) + sizeof(NwGtpv2cIeTlvT));
-  }
-
-  return NW_OK;
-}
-
-int s11_bearer_context_to_create_ie_set(
-  NwGtpv2cMsgHandleT *msg, const bearer_to_create_t *bearer_to_create)
-{
-  NwRcT rc;
-
-  DevAssert(msg != NULL);
-  DevAssert(bearer_to_create != NULL);
-
-  /* Start section for grouped IE: bearer context to create */
-  rc = nwGtpv2cMsgGroupedIeStart(*msg, NW_GTPV2C_IE_BEARER_CONTEXT,
-                                 NW_GTPV2C_IE_INSTANCE_ZERO);
-  DevAssert(NW_OK == rc);
-
-  s11_ebi_ie_set(msg, bearer_to_create->eps_bearer_id);
-
-  /* End section for grouped IE: bearer context to create */
-  rc = nwGtpv2cMsgGroupedIeEnd(*msg);
-  DevAssert(NW_OK == rc);
-  return 0;
-}
-
-NwRcT s11_bearer_context_to_modifiy_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  bearer_context_to_modify_t *bearer_to_modify = (bearer_context_to_modify_t *)arg;
-  uint8_t read = 0;
-  NwRcT   rc;
-
-  DevAssert(bearer_to_modify != NULL);
-
-  while (ieLength > read) {
-    NwGtpv2cIeTlvT *ie_p;
-
-    ie_p = (NwGtpv2cIeTlvT*)&ieValue[read];
-
-    switch (ie_p->t) {
-    case NW_GTPV2C_IE_EBI:
-      rc = s11_ebi_ie_get(ie_p->t, ie_p->l, ie_p->i,
-                          &ieValue[read + sizeof(NwGtpv2cIeTlvT)],
-                          &bearer_to_modify->eps_bearer_id);
-      DevAssert(NW_OK == rc);
-      break;
-
-    case NW_GTPV2C_IE_FTEID:
-      rc = s11_fteid_ie_get(ie_p->t, ie_p->l, ie_p->i,
-                            &ieValue[read + sizeof(NwGtpv2cIeTlvT)],
-                            &bearer_to_modify->s1_eNB_fteid);
-      break;
-
-    default:
-      S11_ERROR("Received unexpected IE %u\n", ie_p->t);
-      return NW_GTPV2C_IE_INCORRECT;
-    }
-
-    read += (ntohs(ie_p->l) + sizeof(NwGtpv2cIeTlvT));
-  }
-
-  return NW_OK;
-}
-
-NwRcT s11_bearer_context_created_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  bearer_context_created_t *bearer_created = (bearer_context_created_t *)arg;
-  uint8_t read = 0;
-  NwRcT   rc;
-
-  DevAssert(bearer_created != NULL);
-
-  while (ieLength > read) {
-    NwGtpv2cIeTlvT *ie_p;
-
-    ie_p = (NwGtpv2cIeTlvT*)&ieValue[read];
-
-    switch (ie_p->t) {
-    case NW_GTPV2C_IE_EBI:
-      rc = s11_ebi_ie_get(ie_p->t, ie_p->l, ie_p->i,
-                          &ieValue[read + sizeof(NwGtpv2cIeTlvT)],
-                          &bearer_created->eps_bearer_id);
-      DevAssert(NW_OK == rc);
-      break;
-
-    case NW_GTPV2C_IE_FTEID:
-      rc = s11_fteid_ie_get(ie_p->t, ie_p->l, ie_p->i,
-                            &ieValue[read + sizeof(NwGtpv2cIeTlvT)],
-                            &bearer_created->s1u_sgw_fteid);
-      break;
-
-    case NW_GTPV2C_IE_CAUSE:
-      rc = s11_cause_ie_get(ie_p->t, ie_p->l, ie_p->i,
-                            &ieValue[read + sizeof(NwGtpv2cIeTlvT)],
-                            &bearer_created->cause);
-      break;
-
-    default:
-      S11_ERROR("Received unexpected IE %u\n", ie_p->t);
-      return NW_GTPV2C_IE_INCORRECT;
-    }
-
-    read += (ntohs(ie_p->l) + sizeof(NwGtpv2cIeTlvT));
-  }
-
-  return NW_OK;
-}
-
-int s11_bearer_context_created_ie_set(
-  NwGtpv2cMsgHandleT *msg, const bearer_context_created_t *bearer)
-{
-  NwRcT rc;
-
-  DevAssert(msg != NULL);
-  DevAssert(bearer != NULL);
-
-  /* Start section for grouped IE: bearer context created */
-  rc = nwGtpv2cMsgGroupedIeStart(*msg, NW_GTPV2C_IE_BEARER_CONTEXT,
-                                 NW_GTPV2C_IE_INSTANCE_ZERO);
-  DevAssert(NW_OK == rc);
-
-  s11_ebi_ie_set(msg, bearer->eps_bearer_id);
-
-  rc = nwGtpv2cMsgAddIeCause(*msg, NW_GTPV2C_IE_INSTANCE_ZERO, bearer->cause,
-                             0, 0, 0);
-  DevAssert(NW_OK == rc);
-
-  rc = nwGtpv2cMsgAddIeFteid(*msg, NW_GTPV2C_IE_INSTANCE_ZERO,
-                             bearer->s1u_sgw_fteid.interface_type,
-                             bearer->s1u_sgw_fteid.teid,
-                             bearer->s1u_sgw_fteid.ipv4 ? htonl(bearer->s1u_sgw_fteid.ipv4_address) : 0,
-                             bearer->s1u_sgw_fteid.ipv6 ? (uint8_t*)bearer->s1u_sgw_fteid.ipv6_address : NULL);
-  DevAssert(NW_OK == rc);
-
-  /* End section for grouped IE: bearer context created */
-  rc = nwGtpv2cMsgGroupedIeEnd(*msg);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-/* This IE shall be included in the E-UTRAN initial attach,
- * PDP Context Activation and UE Requested PDN connectivity procedures.
- * This IE denotes the most stringent restriction as required
- * by any already active bearer context. If there are no already active bearer
- * contexts, this value is set to the least restrictive type.
- */
-int s11_apn_restriction_ie_set(
-  NwGtpv2cMsgHandleT *msg, const uint8_t apn_restriction)
-{
-  NwRcT rc;
-
-  DevAssert(msg != NULL);
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_APN_RESTRICTION, 1, 0,
-                        (uint8_t *)&apn_restriction);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-NwRcT s11_serving_network_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  ServingNetwork_t *serving_net = (ServingNetwork_t *)arg;
-
-  DevAssert(serving_net != NULL);
-
-  serving_net->mcc[1] = (ieValue[0] & 0xF0) >> 4;
-  serving_net->mcc[0] = (ieValue[0] & 0x0F);
-  serving_net->mcc[2] = (ieValue[1] & 0x0F);
-
-  if ((ieValue[1] & 0xF0) == 0xF0) {
-    /* Two digits MNC */
-    serving_net->mnc[0] = 0;
-    serving_net->mnc[2] = (ieValue[2] & 0xF0) >> 4;
-    serving_net->mnc[1] = (ieValue[2] & 0x0F);
-  } else {
-    serving_net->mnc[0] = (ieValue[1] & 0xF0) >> 4;
-    serving_net->mnc[2] = (ieValue[2] & 0xF0) >> 4;
-    serving_net->mnc[1] = (ieValue[2] & 0x0F);
-  }
-
-  S11_DEBUG("\t- Serving network %d.%d\n",
-            serving_net->mcc[0] * 100 + serving_net->mcc[1] * 10
-            + serving_net->mcc[2],
-            serving_net->mnc[0] * 100 + serving_net->mnc[1] * 10
-            + serving_net->mnc[2]);
-
-  return NW_OK;
-}
-
-int s11_serving_network_ie_set(
-  NwGtpv2cMsgHandleT     *msg,
-  const ServingNetwork_t *serving_network)
-{
-  NwRcT   rc;
-  uint8_t value[3];
-
-  DevAssert(msg != NULL);
-  DevAssert(serving_network != NULL);
-
-  /* MCC Decimal | MCC Hundreds */
-  value[0] = ((serving_network->mcc[1] & 0x0F) << 4) |
-             (serving_network->mcc[2] & 0x0F);
-  value[1] = serving_network->mcc[0] & 0x0F;
-
-  if ((serving_network->mnc[0] & 0xF) == 0xF) {
-    /* Only two digits */
-    value[1] |= 0xF0;
-    value[2] = ((serving_network->mnc[2] & 0x0F) << 4) |
-               (serving_network->mnc[1] & 0x0F);
-  } else {
-    value[1] |= (serving_network->mnc[2] & 0x0F) << 4;
-    value[2] = ((serving_network->mnc[1] & 0x0F) << 4) |
-               (serving_network->mnc[0] & 0x0F);
-  }
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_SERVING_NETWORK, 3, 0, value);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-NwRcT s11_fteid_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  uint8_t offset = 0;
-  FTeid_t *fteid = (FTeid_t *)arg;
-
-  DevAssert(fteid != NULL);
-
-  fteid->ipv4 = (ieValue[0] & 0x80) >> 7;
-  fteid->ipv6 = (ieValue[0] & 0x40) >> 6;
-
-  fteid->interface_type = ieValue[0] & 0x1F;
-  S11_DEBUG("\t- F-TEID type %d\n", fteid->interface_type);
-
-  /* Copy the TEID or GRE key */
-  fteid->teid = ntoh_int32_buf(&ieValue[1]);
-
-  S11_DEBUG("\t- TEID/GRE    %08x\n", fteid->teid);
-
-  if (fteid->ipv4 == 1) {
-    /* IPv4 present: copy the 4 bytes */
-    memcpy(&fteid->ipv4_address, &ieValue[5], 4);
-    offset = 4;
-
-    S11_DEBUG("\t- IPv4 addr   "IPV4_ADDR"\n",
-              IPV4_ADDR_FORMAT(fteid->ipv4_address));
-  }
-
-  if (fteid->ipv6 == 1) {
-    char ipv6_ascii[40];
-    /* IPv6 present: copy the 16 bytes
-     * WARNING: if Ipv4 is present, 4 bytes of offset should be applied
-     */
-    memcpy(fteid->ipv6_address, &ieValue[5 + offset], 16);
-
-    inet_ntop(AF_INET6, fteid->ipv6_address, ipv6_ascii, 40);
-    S11_DEBUG("\t- IPv6 addr   %s\n", ipv6_ascii);
-  }
-
-  return NW_OK;
-}
-
-NwRcT s11_paa_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  uint8_t offset = 0;
-  PAA_t *paa = (PAA_t *)arg;
-
-  DevAssert(paa != NULL);
-
-  paa->pdn_type = ieValue[0] & 0x07;
-  S11_DEBUG("\t- PAA type  %d\n", paa->pdn_type);
-
-  if (paa->pdn_type & 0x2) {
-    char ipv6_ascii[40];
-    /* IPv6 present: copy the 16 bytes
-     * WARNING: if both ipv4 and ipv6 are present,
-     *          17 bytes of offset should be applied for ipv4
-     * NOTE: an ipv6 prefix length is prepend
-     * NOTE: in Rel.8 the prefix length has a default value of /64
-     */
-    paa->ipv6_prefix_length = ieValue[1];
-    memcpy(paa->ipv6_address, &ieValue[2], 16);
-
-    inet_ntop(AF_INET6, paa->ipv6_address, ipv6_ascii, 40);
-    S11_DEBUG("\t- IPv6 addr %s/%u\n", ipv6_ascii, paa->ipv6_prefix_length);
-  }
-
-  if (paa->pdn_type == 3) {
-    offset = 17;
-  }
-
-  if (paa->pdn_type & 0x1) {
-    memcpy(paa->ipv4_address, &ieValue[1 + offset], 4);
-
-    S11_DEBUG("\t- IPv4 addr "IPV4_ADDR"\n",
-              paa->ipv4_address[0], paa->ipv4_address[1],
-              paa->ipv4_address[2], paa->ipv4_address[3]);
-  }
-
-  paa->pdn_type -= 1;
-  return NW_OK;
-}
-
-int s11_paa_ie_set(NwGtpv2cMsgHandleT *msg, const PAA_t *paa)
-{
-  /* ipv4 address = 4 + ipv6 address = 16 + ipv6 prefix length = 1
-   * + pdn_type = 1
-   * = maximum of 22 bytes
-   */
-  uint8_t temp[22];
-  uint8_t pdn_type;
-  uint8_t offset = 0;
-  NwRcT   rc;
-
-  DevAssert(paa != NULL);
-
-  pdn_type = paa->pdn_type + 1;
-
-  temp[offset] = pdn_type;
-  offset++;
-
-  if (pdn_type & 0x2) {
-    /* If ipv6 or ipv4v6 present */
-    temp[1] = paa->ipv6_prefix_length;
-    memcpy(&temp[2], paa->ipv6_address, 16);
-    offset += 17;
-  }
-
-  if (pdn_type & 0x1) {
-    memcpy(&temp[offset], paa->ipv4_address, 4);
-    offset += 4;
-  }
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_PAA, offset, 0,
-                        temp);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-/* The encoding of the APN shall follow the Name Syntax defined in RFC 2181,
- * RFC 1035 and RFC 1123. The APN consists of one or more labels. Each label
- * is coded as a one octet length field followed by that number of octets
- * coded as 8 bit ASCII characters. Following RFC 1035 the labels shall consist
- * only of the alphabetic characters (A-Z and a-z), digits (0-9)
- * and the hyphen (-).
- */
-NwRcT s11_apn_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  uint8_t read = 1;
-  uint8_t word_length;
-  char *apn = (char *)arg;
-
-  DevAssert(apn != NULL);
-
-  DevCheck(ieLength <= APN_MAX_LENGTH, ieLength, APN_MAX_LENGTH, 0);
-
-  word_length = ieValue[0];
-
-  while (read < ieLength) {
-    if (word_length > 0) {
-      apn[read - 1] = ieValue[read];
-      word_length--;
-    } else {
-      /* This is not an alphanumeric character */
-      word_length = ieValue[read];
-      /* Replace the length attribute by '.' */
-      apn[read - 1] = '.';
-    }
-
-    read ++;
-  }
-
-  apn[read - 1] = '\0';
-
-  S11_DEBUG("\t- APN %s\n", apn);
-
-  return NW_OK;
-}
-
-int s11_apn_ie_set(NwGtpv2cMsgHandleT *msg, const char *apn)
-{
-  NwRcT    rc;
-  uint8_t *value;
-  uint8_t  apn_length;
-  uint8_t  offset = 0;
-  uint8_t *last_size;
-  uint8_t  word_length = 0;
-
-  DevAssert(apn != NULL);
-  DevAssert(msg != NULL);
-
-  apn_length = strlen(apn);
-
-  value = calloc(apn_length + 1, sizeof(uint8_t));
-  last_size = &value[0];
-
-  while (apn[offset]) {
-    /* We replace the . by the length of the word */
-    if (apn[offset] == '.') {
-      *last_size = word_length;
-      word_length = 0;
-      last_size = &value[offset + 1];
-    } else {
-      word_length++;
-      value[offset + 1] = apn[offset];
-    }
-
-    offset++;
-  }
-
-  *last_size = word_length;
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_APN, apn_length + 1, 0, value);
-  DevAssert(NW_OK == rc);
-
-  free(value);
-
-  return 0;
-}
-
-NwRcT s11_ambr_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  ambr_t *ambr = (ambr_t *)arg;
-
-  DevAssert(ambr != NULL);
-
-  ambr->br_ul = ntoh_int32_buf(&ieValue[0]);
-  ambr->br_dl = ntoh_int32_buf(&ieValue[4]);
-
-  S11_DEBUG("\t- AMBR UL %"PRIu64"\n", ambr->br_ul);
-  S11_DEBUG("\t- AMBR DL %"PRIu64"\n", ambr->br_dl);
-
-  return NW_OK;
-}
-
-NwRcT s11_uli_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  Uli_t *uli = (Uli_t *)arg;
-
-  DevAssert(uli != NULL);
-
-  uli->present = ieValue[0];
-
-  if (uli->present & ULI_CGI) {
-
-  }
-
-  return NW_OK;
-}
-
-int s11_bearer_qos_ie_set(NwGtpv2cMsgHandleT *msg, const BearerQOS_t *bearer_qos)
-{
-  NwRcT   rc;
-  uint8_t value[18];
-
-  DevAssert(msg != NULL);
-  DevAssert(bearer_qos != NULL);
-
-  value[0] = (bearer_qos->pci << 6) | (bearer_qos->pl << 2) | (bearer_qos->pvi);
-  value[1] =  bearer_qos->qci;
-
-  /* TODO: check endianness */
-  memcpy(&value[2],  &bearer_qos->mbr.br_ul, 4);
-  memcpy(&value[6],  &bearer_qos->mbr.br_dl, 4);
-  memcpy(&value[10], &bearer_qos->gbr.br_ul, 4);
-  memcpy(&value[14], &bearer_qos->gbr.br_dl, 4);
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_BEARER_LEVEL_QOS, 18, 0, value);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-NwRcT s11_ip_address_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  gtp_ip_address_t *ip_address = (gtp_ip_address_t *)arg;
-
-  DevAssert(ip_address != NULL);
-
-  if (ieLength == 4) {
-    /* This is an IPv4 Address */
-    ip_address->present = GTP_IP_ADDR_v4;
-    memcpy(ip_address->address.v4, ieValue, 4);
-  } else if (ieLength == 16) {
-    /* This is an IPv6 Address */
-    ip_address->present = GTP_IP_ADDR_v6;
-    memcpy(ip_address->address.v6, ieValue, 16);
-  } else {
-    /* Length doesn't lie in possible values */
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  return NW_OK;
-}
-
-int s11_ip_address_ie_set(NwGtpv2cMsgHandleT     *msg,
-                          const gtp_ip_address_t *ip_address)
-{
-  return 0;
-}
-
-NwRcT s11_delay_value_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  DelayValue_t *delay_value = (DelayValue_t *)arg;
-
-  DevAssert(arg != NULL);
-
-  if (ieLength != 1) {
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  *delay_value = ieValue[0];
-
-  S11_DEBUG("\t - Delay Value %u\n", *delay_value);
-
-  return NW_OK;
-}
-
-int s11_delay_value_ie_set(NwGtpv2cMsgHandleT *msg,
-                           const DelayValue_t *delay_value)
-{
-  uint8_t value;
-  NwRcT   rc;
-
-  DevAssert(msg != NULL);
-  DevAssert(delay_value != NULL);
-
-  value = *delay_value;
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_DELAY_VALUE, 1, 0, (uint8_t*)&value);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-NwRcT s11_ue_time_zone_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  UETimeZone_t *ue_time_zone = (UETimeZone_t *)arg;
-
-  DevAssert(ue_time_zone != NULL);
-
-  if (ieLength != 2) {
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  ue_time_zone->time_zone = ieValue[0];
-  ue_time_zone->daylight_saving_time = ieValue[1] & 0x03;
-
-  S11_DEBUG("\t - Time Zone    %u\n", ue_time_zone->time_zone);
-  S11_DEBUG("\t - Daylight SVT %u\n", ue_time_zone->daylight_saving_time);
-
-  return NW_OK;
-}
-
-int s11_ue_time_zone_ie_set(NwGtpv2cMsgHandleT *msg,
-                            const UETimeZone_t *ue_time_zone)
-{
-  uint8_t value[2];
-  NwRcT   rc;
-
-  DevAssert(msg != NULL);
-  DevAssert(ue_time_zone != NULL);
-
-  value[0] = ue_time_zone->time_zone;
-  value[1] = ue_time_zone->daylight_saving_time;
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_UE_TIME_ZONE, 2, 0, value);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-NwRcT s11_target_identification_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  target_identification_t *target_identification = (target_identification_t *)arg;
-
-  DevAssert(target_identification != NULL);
-
-  target_identification->target_type = ieValue[0];
-
-  switch (target_identification->target_type) {
-  case TARGET_ID_RNC_ID: {
-    target_identification->target_id.rnc_id.lac = (ieValue[4] << 8) |
-        ieValue[5];
-    target_identification->target_id.rnc_id.rac = ieValue[6];
-
-    if (ieLength == 11) {
-      /* Extended RNC id */
-      target_identification->target_id.rnc_id.rnc_id = (ieValue[7] << 24) |
-          (ieValue[8] << 16) | (ieValue[9] << 8) | (ieValue[10]);
-    } else if (ieLength == 9) {
-      /* Normal RNC id */
-      target_identification->target_id.rnc_id.rnc_id = (ieValue[7] << 8) |
-          ieValue[8];
-    } else {
-      /* This case is not possible */
-      return NW_GTPV2C_IE_INCORRECT;
-    }
-
-    S11_DEBUG("\t\t- LAC 0x%04x\n", target_identification->target_id.rnc_id.lac);
-    S11_DEBUG("\t\t- RAC 0x%02x\n", target_identification->target_id.rnc_id.rac);
-    S11_DEBUG("\t\t- RNC 0x%08x\n", target_identification->target_id.rnc_id.rnc_id);
-  }
-  break;
-
-  case TARGET_ID_MACRO_ENB_ID: {
-    if (ieLength != 9) {
-      return NW_GTPV2C_IE_INCORRECT;
-    }
-
-    target_identification->target_id.macro_enb_id.enb_id = ((ieValue[4] & 0x0F) << 16) |
-        (ieValue[5] << 8) | ieValue[6];
-    target_identification->target_id.macro_enb_id.tac = (ieValue[7] << 8) | ieValue[8];
-    S11_DEBUG("\t\t- ENB Id 0x%06x\n", target_identification->target_id.macro_enb_id.enb_id);
-    S11_DEBUG("\t\t- TAC    0x%04x\n", target_identification->target_id.macro_enb_id.tac);
-  }
-  break;
-
-  case TARGET_ID_HOME_ENB_ID: {
-    if (ieLength != 10) {
-      return NW_GTPV2C_IE_INCORRECT;
-    }
-
-    target_identification->target_id.home_enb_id.enb_id = ((ieValue[4] & 0x0F) << 14) |
-        (ieValue[5] << 16) | (ieValue[6] << 8) | ieValue[7];
-    target_identification->target_id.home_enb_id.tac = (ieValue[8] << 8) | ieValue[9];
-    S11_DEBUG("\t\t- ENB Id 0x%07x\n", target_identification->target_id.home_enb_id.enb_id);
-    S11_DEBUG("\t\t- TAC    0x%04x\n", target_identification->target_id.home_enb_id.tac);
-  }
-  break;
-
-  default:
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  return NW_OK;
-}
-
-NwRcT s11_bearer_flags_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  bearer_flags_t *bearer_flags = (bearer_flags_t *)arg;
-
-  DevAssert(arg != NULL);
-
-  if (ieLength != 1) {
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  bearer_flags->ppc = ieValue[0] & 0x01;
-  bearer_flags->vb  = ieValue[0] & 0x02;
-
-  return NW_OK;
-}
-
-int s11_bearer_flags_ie_set(NwGtpv2cMsgHandleT   *msg,
-                            const bearer_flags_t *bearer_flags)
-{
-  NwRcT   rc;
-  uint8_t value;
-
-  DevAssert(msg != NULL);
-  DevAssert(bearer_flags != NULL);
-
-  value = (bearer_flags->vb << 1) | bearer_flags->ppc;
-
-  rc = nwGtpv2cMsgAddIe(*msg, NW_GTPV2C_IE_BEARER_FLAGS, 1, 0, (uint8_t*)&value);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-NwRcT s11_indication_flags_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  indication_flags_t *indication_flags = (indication_flags_t*)arg;
-
-  DevAssert(indication_flags != NULL);
-
-  if (ieLength < 3) {
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  *indication_flags = ieValue[0] | (ieValue[1] << 8) | (ieValue[2] << 16);
-
-  S11_DEBUG("\t- Indication Flags %06x\n", *indication_flags);
-
-  return NW_OK;
-}
-
-NwRcT s11_fqcsid_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg)
-{
-  FQ_CSID_t *fq_csid = (FQ_CSID_t *)arg;
-
-  DevAssert(fq_csid != NULL);
-
-  fq_csid->node_id_type = (ieValue[0] & 0xF0) >> 4;
-  S11_DEBUG("\t- FQ-CSID type %u\n", fq_csid->node_id_type);
-
-  /* NOTE: Values of Number of CSID other than 1 are only employed in the
-   * Delete PDN Connection Set Request and Response.
-   */
-  if ((ieValue[0] & 0x0F) != 1) {
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  switch (fq_csid->node_id_type) {
-  case GLOBAL_UNICAST_IPv4: {
-    if (ieLength != 7) {
-      return NW_GTPV2C_IE_INCORRECT;
-    }
-
-    fq_csid->node_id.unicast_ipv4 = (ieValue[1] << 24) |
-                                    (ieValue[2] << 16) | (ieValue[3] << 8) | (ieValue[4]);
-    fq_csid->csid = (ieValue[5] << 8) | ieValue[6];
-
-    S11_DEBUG("\t- v4 address ["IPV4_ADDR"]\n",
-              IPV4_ADDR_FORMAT(fq_csid->node_id.unicast_ipv4));
-  }
-  break;
-
-  case GLOBAL_UNICAST_IPv6: {
-    char ipv6[40];
-
-    if (ieLength != 19) {
-      return NW_GTPV2C_IE_INCORRECT;
-    }
-
-    memcpy(fq_csid->node_id.unicast_ipv6, &ieValue[1], 16);
-    fq_csid->csid = (ieValue[17] << 8) | ieValue[18];
-
-    /* Convert the ipv6 to printable string */
-    inet_ntop(AF_INET6, fq_csid->node_id.unicast_ipv6, ipv6, 40);
-
-    S11_DEBUG("\t- v6 address [%s]\n", fq_csid->node_id.unicast_ipv6);
-  }
-  break;
-
-  default:
-    return NW_GTPV2C_IE_INCORRECT;
-  }
-
-  S11_DEBUG("\t- CSID 0x%04x\n", fq_csid->csid);
-  return NW_OK;
-}
diff --git a/openair-cn/S11/s11_ie_formatter.h b/openair-cn/S11/s11_ie_formatter.h
deleted file mode 100644
index 0d820b34629ebfb023d849c0e78db4498b68cc09..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_ie_formatter.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#ifndef S11_IE_FORMATTER_H_
-#define S11_IE_FORMATTER_H_
-
-/* Imsi Information Element
- * 3GPP TS.29.274 #8.3
- * NOTE: Imsi is TBCD coded
- * octet 5   | Number digit 2 | Number digit 1   |
- * octet n+4 | Number digit m | Number digit m-1 |
- */
-NwRcT s11_imsi_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_imsi_ie_set(NwGtpv2cMsgHandleT *msg, const Imsi_t *imsi);
-
-NwRcT s11_msisdn_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-/* PDN Type Information Element
- * 3GPP TS 29.274 #8.34
- * PDN type:
- *      * 1 = IPv4
- *      * 2 = IPv6
- *      * 3 = IPv4v6
- */
-NwRcT s11_pdn_type_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_pdn_type_ie_set(NwGtpv2cMsgHandleT *msg, const pdn_type_t *pdn_type);
-
-/* RAT type Information Element
- * WARNING: the RAT type used in MME and S/P-GW is not the same as the one
- * for S11 interface defined in 3GPP TS 29.274 #8.17.
- */
-NwRcT s11_rat_type_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_rat_type_ie_set(NwGtpv2cMsgHandleT *msg, const rat_type_t *rat_type);
-
-/* EPS Bearer Id Information Element
- * 3GPP TS 29.274 #8.8
- */
-NwRcT s11_ebi_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_ebi_ie_set(NwGtpv2cMsgHandleT *msg, const unsigned ebi);
-
-/* Bearer Contexts to Create Information Element as part of Create Session Request
- * 3GPP TS 29.274 Table 7.2.1-2.
- */
-NwRcT s11_bearer_context_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_bearer_context_to_create_ie_set(
-  NwGtpv2cMsgHandleT *msg, const bearer_to_create_t *bearer_to_create);
-
-NwRcT s11_bearer_context_to_modifiy_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-/* EPS Bearer Id Information Element
- * 3GPP TS 29.274 #8.8
- * ebi is 4 bits long
- */
-int s11_ebi_ie_set(NwGtpv2cMsgHandleT *msg, const unsigned ebi);
-
-/* Cause Information Element */
-NwRcT s11_cause_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_cause_ie_set(NwGtpv2cMsgHandleT *msg,
-                     const gtp_cause_t  *cause);
-
-/* Bearer Context Created grouped Information Element */
-NwRcT s11_bearer_context_created_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_bearer_context_created_ie_set(
-  NwGtpv2cMsgHandleT *msg, const bearer_context_created_t *bearer);
-
-/* Serving Network Information Element
- * 3GPP TS 29.274 #8.18
- */
-NwRcT s11_serving_network_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_serving_network_ie_set(
-  NwGtpv2cMsgHandleT     *msg,
-  const ServingNetwork_t *serving_network);
-
-NwRcT s11_fteid_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-/* PDN Address Allocation Information Element */
-NwRcT s11_paa_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_paa_ie_set(NwGtpv2cMsgHandleT *msg, const PAA_t *paa);
-
-/* Access Point Name Information Element
- * 3GPP TS 29.274 #8.6
- * NOTE: The APN field is not encoded as a dotted string as commonly used in
- * documentation.
- * The encoding of the APN field follows 3GPP TS 23.003 subclause 9.1
- */
-NwRcT s11_apn_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_apn_ie_set(NwGtpv2cMsgHandleT *msg, const char *apn);
-
-NwRcT s11_ambr_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-NwRcT s11_mei_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-NwRcT s11_uli_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-/* APN restrtiction Information Element */
-int s11_apn_restriction_ie_set(
-  NwGtpv2cMsgHandleT *msg, const uint8_t apn_restriction);
-
-/* Bearer level Qos Information Element
- * 3GPP TS 29.274 #8.15
- */
-int s11_bearer_qos_ie_set(NwGtpv2cMsgHandleT *msg, const BearerQOS_t *bearer_qos);
-
-/* IP address Information Element
- * 3GPP TS 29.274 #8.9
- */
-NwRcT s11_ip_address_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_ip_address_ie_set(NwGtpv2cMsgHandleT     *msg,
-                          const gtp_ip_address_t *ip_address);
-
-/* Delay Value Information Element
- * 3GPP TS 29.274 #8.27
- */
-NwRcT s11_delay_value_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_delay_value_ie_set(NwGtpv2cMsgHandleT *msg,
-                           const DelayValue_t *delay_value);
-
-/* UE Time Zone Information Element
- * 3GPP TS 29.274 #8.44
- */
-NwRcT s11_ue_time_zone_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_ue_time_zone_ie_set(NwGtpv2cMsgHandleT *msg,
-                            const UETimeZone_t *ue_time_zone);
-
-/* Target Identification Information Element
- * 3GPP TS 29.274 #8.51
- */
-NwRcT s11_target_identification_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-/* Bearer Flags Information Element
- * 3GPP TS 29.274 #8.32
- */
-NwRcT s11_bearer_flags_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-int s11_bearer_flags_ie_set(NwGtpv2cMsgHandleT   *msg,
-                            const bearer_flags_t *bearer_flags);
-
-NwRcT s11_indication_flags_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-/* FQ-CSID Information Element
- * 3GPP TS 29.274 #8.62
- */
-
-NwRcT s11_fqcsid_ie_get(
-  uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t *ieValue, void *arg);
-
-#endif /* S11_IE_FORMATTER_H_ */
diff --git a/openair-cn/S11/s11_mme.h b/openair-cn/S11/s11_mme.h
deleted file mode 100644
index 0d5f817faebb844d4b0ab71be4d31415bd09d624..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_mme.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef S11_MME_H_
-#define S11_MME_H_
-
-int s11_mme_init(const mme_config_t *mme_config);
-
-#endif /* S11_MME_H_ */
diff --git a/openair-cn/S11/s11_mme_peer_manager.c b/openair-cn/S11/s11_mme_peer_manager.c
deleted file mode 100644
index 5355a8adbf6c46c2e7054d695b2f8412d667c67a..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_mme_peer_manager.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdlib.h>
-#include <stdio.h>
-
-
diff --git a/openair-cn/S11/s11_mme_session_manager.c b/openair-cn/S11/s11_mme_session_manager.c
deleted file mode 100644
index 5adf2c492bd1e718efcbeb250b9f66fab5d40730..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_mme_session_manager.c
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "assertions.h"
-#include "intertask_interface.h"
-
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgParser.h"
-
-#include "s11_common.h"
-#include "s11_mme_session_manager.h"
-#include "s11_ie_formatter.h"
-
-int s11_mme_create_session_request(NwGtpv2cStackHandleT    *stack_p,
-                                   SgwCreateSessionRequest *create_session_p)
-{
-  NwGtpv2cUlpApiT ulp_req;
-
-  NwRcT   rc;
-  uint8_t restart_counter = 0;
-
-  DevAssert(stack_p          != NULL);
-  DevAssert(create_session_p != NULL);
-
-  memset(&ulp_req, 0, sizeof(NwGtpv2cUlpApiT));
-
-  ulp_req.apiType = NW_GTPV2C_ULP_API_INITIAL_REQ;
-
-  /* Prepare a new Create Session Request msg */
-  rc = nwGtpv2cMsgNew(*stack_p,
-                      NW_TRUE,
-                      NW_GTP_CREATE_SESSION_REQ,
-                      create_session_p->teid,
-                      0,
-                      &(ulp_req.hMsg));
-
-  ulp_req.apiInfo.initialReqInfo.peerIp    = create_session_p->peer_ip;
-  ulp_req.apiInfo.initialReqInfo.teidLocal = create_session_p->sender_fteid_for_cp.teid;
-
-  /* Add recovery if contacting the peer for the first time */
-  rc = nwGtpv2cMsgAddIe((ulp_req.hMsg), NW_GTPV2C_IE_RECOVERY, 1, 0,
-                        (uint8_t*)&restart_counter);
-  DevAssert(NW_OK == rc);
-
-  /* Putting the information Elements */
-  s11_imsi_ie_set(&(ulp_req.hMsg), &create_session_p->imsi);
-  s11_rat_type_ie_set(&(ulp_req.hMsg), &create_session_p->rat_type);
-  s11_pdn_type_ie_set(&(ulp_req.hMsg), &create_session_p->pdn_type);
-
-  /* Sender F-TEID for Control Plane (MME S11) */
-  rc = nwGtpv2cMsgAddIeFteid((ulp_req.hMsg), NW_GTPV2C_IE_INSTANCE_ZERO,
-                             S11_MME_GTP_C,
-                             create_session_p->sender_fteid_for_cp.teid,
-                             create_session_p->sender_fteid_for_cp.ipv4 ?
-                             create_session_p->sender_fteid_for_cp.ipv4_address : 0,
-                             create_session_p->sender_fteid_for_cp.ipv6 ?
-                             create_session_p->sender_fteid_for_cp.ipv6_address : NULL);
-  /* The P-GW TEID should be present on the S11 interface.
-   * In case of an initial attach it should be set to 0...
-   */
-  rc = nwGtpv2cMsgAddIeFteid((ulp_req.hMsg), NW_GTPV2C_IE_INSTANCE_ONE,
-                             S5_S8_PGW_GTP_C,
-                             create_session_p->pgw_address_for_cp.teid,
-                             create_session_p->pgw_address_for_cp.ipv4 ?
-                             create_session_p->pgw_address_for_cp.ipv4_address : 0,
-                             create_session_p->pgw_address_for_cp.ipv6 ?
-                             create_session_p->pgw_address_for_cp.ipv6_address : NULL);
-
-  s11_apn_ie_set(&(ulp_req.hMsg), create_session_p->apn);
-
-  s11_serving_network_ie_set(&(ulp_req.hMsg), &create_session_p->serving_network);
-
-  s11_bearer_context_to_create_ie_set(
-    &(ulp_req.hMsg), &create_session_p->bearer_to_create);
-
-  rc = nwGtpv2cProcessUlpReq(*stack_p, &ulp_req);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-int s11_mme_handle_create_session_response(NwGtpv2cStackHandleT *stack_p,
-    NwGtpv2cUlpApiT      *pUlpApi)
-{
-  NwRcT  rc = NW_OK;
-  uint8_t  offendingIeType, offendingIeInstance;
-  uint16_t offendingIeLength;
-
-  SgwCreateSessionResponse *create_session_resp_p;
-  MessageDef               *message_p;
-
-  NwGtpv2cMsgParserT *pMsgParser;
-
-  DevAssert(stack_p != NULL);
-
-  message_p = itti_alloc_new_message(TASK_S11, SGW_CREATE_SESSION_RESPONSE);
-
-  create_session_resp_p = &message_p->ittiMsg.sgwCreateSessionResponse;
-
-  /* Create a new message parser */
-  rc = nwGtpv2cMsgParserNew(*stack_p, NW_GTP_CREATE_SESSION_RSP,
-                            s11_ie_indication_generic,
-                            NULL, &pMsgParser);
-  DevAssert(NW_OK == rc);
-
-  /* Cause IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser,
-                              NW_GTPV2C_IE_CAUSE,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_MANDATORY,
-                              s11_cause_ie_get,
-                              &create_session_resp_p->cause);
-  DevAssert(NW_OK == rc);
-
-  /* Sender FTEID for CP IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_FTEID,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_fteid_ie_get,
-                              &create_session_resp_p->s11_sgw_teid);
-  DevAssert(NW_OK == rc);
-
-  /* Sender FTEID for PGW S5/S8 IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_FTEID,
-                              NW_GTPV2C_IE_INSTANCE_ONE,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_fteid_ie_get,
-                              &create_session_resp_p->s5_s8_pgw_teid);
-  DevAssert(NW_OK == rc);
-
-  /* PAA IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_PAA,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_paa_ie_get,
-                              &create_session_resp_p->paa);
-  DevAssert(NW_OK == rc);
-
-  /* Bearer Contexts Created IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_BEARER_CONTEXT,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_bearer_context_created_ie_get,
-                              &create_session_resp_p->bearer_context_created);
-  DevAssert(NW_OK == rc);
-
-  /* Run the parser */
-  rc = nwGtpv2cMsgParserRun(pMsgParser,
-                            (pUlpApi->hMsg),
-                            &offendingIeType,
-                            &offendingIeInstance,
-                            &offendingIeLength);
-
-  if (rc != NW_OK) {
-    /* TODO: handle this case */
-    itti_free(ITTI_MSG_ORIGIN_ID(message_p), message_p);
-    message_p = NULL;
-
-    rc = nwGtpv2cMsgParserDelete(*stack_p, pMsgParser);
-    DevAssert(NW_OK == rc);
-
-    rc = nwGtpv2cMsgDelete(*stack_p, (pUlpApi->hMsg));
-    DevAssert(NW_OK == rc);
-
-    return -1;
-  }
-
-  rc = nwGtpv2cMsgParserDelete(*stack_p, pMsgParser);
-  DevAssert(NW_OK == rc);
-
-  rc = nwGtpv2cMsgDelete(*stack_p, (pUlpApi->hMsg));
-  DevAssert(NW_OK == rc);
-
-  return itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-}
-
-
-int s11_mme_release_access_bearers_request(NwGtpv2cStackHandleT    *stack_p,
-		SgwReleaseAccessBearersRequest *release_access_bearers_p)
-{
-  NwGtpv2cUlpApiT ulp_req;
-
-  NwRcT   rc;
-  uint8_t restart_counter = 0;
-
-  DevAssert(stack_p          != NULL);
-  DevAssert(release_access_bearers_p != NULL);
-
-  memset(&ulp_req, 0, sizeof(NwGtpv2cUlpApiT));
-
-  AssertFatal(0 == 1, "TODO s11_mme_release_access_bearers_request()");
-}
diff --git a/openair-cn/S11/s11_mme_session_manager.h b/openair-cn/S11/s11_mme_session_manager.h
deleted file mode 100644
index dd11f859bc78517987ddb00a8c604e10101e8540..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_mme_session_manager.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#ifndef S11_MME_SESSION_MANAGER_H_
-#define S11_MME_SESSION_MANAGER_H_
-
-/* @brief Create a new Create Session Request and send it to provided S-GW.
- */
-int s11_mme_create_session_request(NwGtpv2cStackHandleT    *stack_p,
-                                   SgwCreateSessionRequest *create_session_p);
-
-
-/* @brief Create a new Release Access Bearers Request and send it to provided S-GW.
- */
-int s11_mme_release_access_bearers_request(NwGtpv2cStackHandleT    *stack_p,
-		SgwReleaseAccessBearersRequest *release_access_bearers_p);
-
-/* @brief Handle a Create Session Response received from S-GW.
- */
-int s11_mme_handle_create_session_response(NwGtpv2cStackHandleT *stack_p,
-    NwGtpv2cUlpApiT      *pUlpApi);
-
-#endif /* S11_MME_SESSION_MANAGER_H_ */
diff --git a/openair-cn/S11/s11_mme_task.c b/openair-cn/S11/s11_mme_task.c
deleted file mode 100644
index d2a52aff96b7037f869427fb93bc1e64ceaeb0df..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_mme_task.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <assert.h>
-
-#include "assertions.h"
-
-#include "mme_config.h"
-#include "intertask_interface.h"
-
-#include "timer.h"
-
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cMsg.h"
-
-#include "s11_mme.h"
-#include "s11_mme_session_manager.h"
-
-#define S11_DEBUG(x, args...) fprintf(stdout, "[S11] [D]"x, ##args)
-#define S11_INFO(x, args...)  fprintf(stdout, "[S11] [I]"x, ##args)
-#define S11_WARN(x, args...)  fprintf(stdout, "[S11] [W]"x, ##args)
-#define S11_ERROR(x, args...) fprintf(stderr, "[S11] [E]"x, ##args)
-
-static NwGtpv2cStackHandleT s11_mme_stack_handle;
-
-static
-NwRcT s11_mme_log_wrapper(NwGtpv2cLogMgrHandleT hLogMgr,
-                          uint32_t logLevel,
-                          NwCharT* file,
-                          uint32_t line,
-                          NwCharT* logStr)
-{
-  S11_DEBUG("%s\n", logStr);
-  return NW_OK;
-}
-
-static
-NwRcT s11_mme_ulp_process_stack_req_cb(
-  NwGtpv2cUlpHandleT hUlp, NwGtpv2cUlpApiT *pUlpApi)
-{
-  //     NwRcT rc = NW_OK;
-  int ret = 0;
-
-  DevAssert(pUlpApi != NULL);
-
-  switch(pUlpApi->apiType) {
-  case NW_GTPV2C_ULP_API_TRIGGERED_RSP_IND:
-    S11_DEBUG("Received triggered response indication\n");
-
-    switch (pUlpApi->apiInfo.triggeredRspIndInfo.msgType) {
-    case NW_GTP_CREATE_SESSION_RSP:
-      ret = s11_mme_handle_create_session_response(
-              &s11_mme_stack_handle, pUlpApi);
-      break;
-
-    default:
-      S11_WARN("Received unhandled message type %d\n",
-               pUlpApi->apiInfo.triggeredRspIndInfo.msgType);
-      break;
-    }
-
-    break;
-
-  default:
-    break;
-  }
-
-  return ret == 0 ? NW_OK : NW_FAILURE;
-}
-
-static
-NwRcT s11_mme_send_udp_msg(
-  NwGtpv2cUdpHandleT udpHandle,
-  uint8_t *buffer,
-  uint32_t buffer_len,
-  uint32_t peerIpAddr,
-  uint32_t peerPort)
-{
-  // Create and alloc new message
-  MessageDef     *message_p;
-  udp_data_req_t *udp_data_req_p;
-  int ret = 0;
-
-  message_p = itti_alloc_new_message(TASK_S11, UDP_DATA_REQ);
-
-  udp_data_req_p = &message_p->ittiMsg.udp_data_req;
-
-  udp_data_req_p->peer_address  = peerIpAddr;
-  udp_data_req_p->peer_port     = peerPort;
-  udp_data_req_p->buffer        = buffer;
-  udp_data_req_p->buffer_length = buffer_len;
-
-  ret = itti_send_msg_to_task(TASK_UDP, INSTANCE_DEFAULT, message_p);
-
-  return ((ret == 0) ? NW_OK : NW_FAILURE);
-}
-
-static
-NwRcT s11_mme_start_timer_wrapper(
-  NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-  uint32_t                  timeoutSec,
-  uint32_t                  timeoutUsec,
-  uint32_t                  tmrType,
-  void                   *timeoutArg,
-  NwGtpv2cTimerHandleT   *hTmr)
-{
-  long        timer_id;
-  int         ret = 0;
-
-  if (tmrType == NW_GTPV2C_TMR_TYPE_REPETITIVE) {
-    ret = timer_setup(timeoutSec,
-                      timeoutUsec,
-                      TASK_S11,
-                      INSTANCE_DEFAULT,
-                      TIMER_PERIODIC,
-                      timeoutArg,
-                      &timer_id);
-  } else {
-    ret = timer_setup(timeoutSec,
-                      timeoutUsec,
-                      TASK_S11,
-                      INSTANCE_DEFAULT,
-                      TIMER_ONE_SHOT,
-                      timeoutArg,
-                      &timer_id);
-  }
-
-  *hTmr = (NwGtpv2cTimerHandleT)timer_id;
-
-  return ((ret == 0) ? NW_OK : NW_FAILURE);
-}
-
-static
-NwRcT s11_mme_stop_timer_wrapper(
-  NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-  NwGtpv2cTimerHandleT    tmrHandle)
-{
-  long timer_id;
-
-  timer_id = (long)tmrHandle;
-
-  return ((timer_remove(timer_id) == 0) ? NW_OK : NW_FAILURE);
-}
-
-static void *s11_mme_thread(void *args)
-{
-  itti_mark_task_ready(TASK_S11);
-
-  while(1) {
-    MessageDef *received_message_p = NULL;
-    itti_receive_msg(TASK_S11, &received_message_p);
-    assert(received_message_p != NULL);
-
-    switch (ITTI_MSG_ID(received_message_p)) {
-    case SGW_CREATE_SESSION_REQUEST: {
-      s11_mme_create_session_request(
-        &s11_mme_stack_handle,
-        &received_message_p->ittiMsg.sgwCreateSessionRequest);
-    }
-    break;
-
-    case SGW_RELEASE_ACCESS_BEARERS_REQUEST: {
-        s11_mme_release_access_bearers_request(
-          &s11_mme_stack_handle,
-          &received_message_p->ittiMsg.sgwReleaseAccessBearersRequest);
-    }
-    break;
-
-    case UDP_DATA_IND: {
-      /* We received new data to handle from the UDP layer */
-      NwRcT rc;
-      udp_data_ind_t *udp_data_ind;
-
-      udp_data_ind = &received_message_p->ittiMsg.udp_data_ind;
-
-      rc = nwGtpv2cProcessUdpReq(s11_mme_stack_handle,
-                                 udp_data_ind->buffer,
-                                 udp_data_ind->buffer_length,
-                                 udp_data_ind->peer_port,
-                                 udp_data_ind->peer_address);
-
-      DevAssert(rc == NW_OK);
-    }
-    break;
-
-    case TIMER_HAS_EXPIRED: {
-      S11_DEBUG("Processing timeout for timer_id 0x%lx and arg %p\n",
-                received_message_p->ittiMsg.timer_has_expired.timer_id,
-                received_message_p->ittiMsg.timer_has_expired.arg);
-      DevAssert(nwGtpv2cProcessTimeout(
-                  received_message_p->ittiMsg.timer_has_expired.arg) == NW_OK);
-    }
-    break;
-
-    default: {
-      S11_ERROR("Unkwnon message ID %d:%s\n",
-                ITTI_MSG_ID(received_message_p),
-                ITTI_MSG_NAME(received_message_p));
-    }
-    break;
-    }
-
-    itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), received_message_p);
-    received_message_p = NULL;
-  }
-
-  return NULL;
-}
-
-static int s11_send_init_udp(char *address, uint16_t port_number)
-{
-  MessageDef *message_p;
-
-  message_p = itti_alloc_new_message(TASK_S11, UDP_INIT);
-
-  if (message_p == NULL) {
-    return -1;
-  }
-
-  message_p->ittiMsg.udp_init.port = port_number;
-  //LG message_p->ittiMsg.udpInit.address = "0.0.0.0"; //ANY address
-  message_p->ittiMsg.udp_init.address = address;
-
-  S11_DEBUG("Tx UDP_INIT IP addr %s\n", message_p->ittiMsg.udp_init.address);
-
-  return itti_send_msg_to_task(TASK_UDP, INSTANCE_DEFAULT, message_p);
-}
-
-int s11_mme_init(const mme_config_t *mme_config_p)
-{
-  int ret = 0;
-  NwGtpv2cUlpEntityT      ulp;
-  NwGtpv2cUdpEntityT      udp;
-  NwGtpv2cTimerMgrEntityT tmrMgr;
-  NwGtpv2cLogMgrEntityT   logMgr;
-
-  struct in_addr addr;
-  char *s11_address_str = NULL;
-
-  S11_DEBUG("Initializing S11 interface\n");
-
-  if (nwGtpv2cInitialize(&s11_mme_stack_handle) != NW_OK) {
-    S11_ERROR("Failed to initialize gtpv2-c stack\n");
-    goto fail;
-  }
-
-  /* Set ULP entity */
-  ulp.hUlp           = (NwGtpv2cUlpHandleT)NULL;
-  ulp.ulpReqCallback = s11_mme_ulp_process_stack_req_cb;
-  DevAssert(NW_OK == nwGtpv2cSetUlpEntity(s11_mme_stack_handle, &ulp));
-
-  /* Set UDP entity */
-  udp.hUdp               = (NwGtpv2cUdpHandleT)NULL;
-  udp.udpDataReqCallback = s11_mme_send_udp_msg;
-  DevAssert(NW_OK == nwGtpv2cSetUdpEntity(s11_mme_stack_handle, &udp));
-
-  /* Set Timer entity */
-  tmrMgr.tmrMgrHandle = (NwGtpv2cTimerMgrHandleT)NULL;
-  tmrMgr.tmrStartCallback = s11_mme_start_timer_wrapper;
-  tmrMgr.tmrStopCallback  = s11_mme_stop_timer_wrapper;
-  DevAssert(NW_OK == nwGtpv2cSetTimerMgrEntity(s11_mme_stack_handle, &tmrMgr));
-
-  logMgr.logMgrHandle    = 0;
-  logMgr.logReqCallback  = s11_mme_log_wrapper;
-  DevAssert(NW_OK == nwGtpv2cSetLogMgrEntity(s11_mme_stack_handle, &logMgr));
-
-  if (itti_create_task(TASK_S11, &s11_mme_thread, NULL) < 0) {
-    S11_ERROR("gtpv1u phtread_create: %s\n", strerror(errno));
-    goto fail;
-  }
-
-  DevAssert(NW_OK == nwGtpv2cSetLogLevel(s11_mme_stack_handle,
-                                         NW_LOG_LEVEL_DEBG));
-
-  config_read_lock(&mme_config);
-  addr.s_addr = mme_config.ipv4.mme_ip_address_for_S11;
-  config_unlock(&mme_config);
-
-  s11_address_str = inet_ntoa(addr);
-
-  DevAssert(s11_address_str != NULL);
-
-  s11_send_init_udp(s11_address_str, 2123);
-
-  S11_DEBUG("Initializing S11 interface: DONE\n");
-
-  return ret;
-
-fail:
-  S11_DEBUG("Initializing S11 interface: FAILURE\n");
-  return -1;
-}
diff --git a/openair-cn/S11/s11_sgw.c b/openair-cn/S11/s11_sgw.c
deleted file mode 100644
index ae62a1334a343fe54999427ecafd8e6ba527e641..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_sgw.c
+++ /dev/null
@@ -1,347 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <assert.h>
-
-#include "assertions.h"
-#include "queue.h"
-
-#include "mme_config.h"
-#include "intertask_interface.h"
-
-#include "timer.h"
-
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-
-#include "sgw_lite_ie_defs.h"
-
-#include "s11_common.h"
-#include "s11_sgw.h"
-#include "s11_sgw_bearer_manager.h"
-#include "s11_sgw_session_manager.h"
-
-static NwGtpv2cStackHandleT s11_sgw_stack_handle;
-
-/* ULP callback for the GTPv2-C stack */
-static
-NwRcT s11_sgw_ulp_process_stack_req_cb(
-  NwGtpv2cUlpHandleT hUlp, NwGtpv2cUlpApiT *pUlpApi)
-{
-  int ret = 0;
-
-  DevAssert(pUlpApi != NULL);
-
-  switch (pUlpApi->apiType) {
-  case NW_GTPV2C_ULP_API_INITIAL_REQ_IND:
-    S11_DEBUG("Received initial req indication\n");
-
-    switch (pUlpApi->apiInfo.initialReqIndInfo.msgType) {
-    case NW_GTP_CREATE_SESSION_REQ:
-      ret = s11_sgw_handle_create_session_request(
-              &s11_sgw_stack_handle, pUlpApi);
-      break;
-
-    case NW_GTP_MODIFY_BEARER_REQ:
-      ret = s11_sgw_handle_modify_bearer_request(
-              &s11_sgw_stack_handle, pUlpApi);
-      break;
-
-    case NW_GTP_DELETE_SESSION_REQ:
-      ret = s11_sgw_handle_delete_session_request(
-              &s11_sgw_stack_handle, pUlpApi);
-      break;
-
-    default:
-      S11_WARN("Received unhandled message type %d\n",
-               pUlpApi->apiInfo.initialReqIndInfo.msgType);
-      break;
-    }
-
-    break;
-
-  default:
-    S11_ERROR("Received unknown stack req message %d\n",
-              pUlpApi->apiType);
-    break;
-  }
-
-  return ret == -1 ? NW_FAILURE : NW_OK;
-}
-
-static
-NwRcT s11_sgw_send_udp_msg(
-  NwGtpv2cUdpHandleT udpHandle,
-  uint8_t *buffer,
-  uint32_t buffer_len,
-  uint32_t peerIpAddr,
-  uint32_t peerPort)
-{
-  // Create and alloc new message
-  MessageDef     *message_p;
-  udp_data_req_t *udp_data_req_p;
-  int ret = 0;
-
-  message_p = itti_alloc_new_message(TASK_S11, UDP_DATA_REQ);
-
-  udp_data_req_p = &message_p->ittiMsg.udp_data_req;
-
-  udp_data_req_p->peer_address  = peerIpAddr;
-  udp_data_req_p->peer_port     = peerPort;
-  udp_data_req_p->buffer        = buffer;
-  udp_data_req_p->buffer_length = buffer_len;
-
-  ret = itti_send_msg_to_task(TASK_UDP, INSTANCE_DEFAULT, message_p);
-
-  return ret == 0 ? NW_OK : NW_FAILURE;
-}
-
-static
-NwRcT s11_sgw_log_wrapper(NwGtpv2cLogMgrHandleT hLogMgr,
-                          uint32_t logLevel,
-                          NwCharT* file,
-                          uint32_t line,
-                          NwCharT* logStr)
-{
-  S11_DEBUG("%s\n", logStr);
-  return NW_OK;
-}
-
-static
-NwRcT s11_sgw_start_timer_wrapper(
-  NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-  uint32_t                  timeoutSec,
-  uint32_t                  timeoutUsec,
-  uint32_t                  tmrType,
-  void                   *timeoutArg,
-  NwGtpv2cTimerHandleT   *hTmr)
-{
-  long        timer_id;
-  int         ret = 0;
-
-  if (tmrType == NW_GTPV2C_TMR_TYPE_REPETITIVE) {
-    ret = timer_setup(timeoutSec,
-                      timeoutUsec,
-                      TASK_S11,
-                      INSTANCE_DEFAULT,
-                      TIMER_PERIODIC,
-                      timeoutArg,
-                      &timer_id);
-  } else {
-    ret = timer_setup(timeoutSec,
-                      timeoutUsec,
-                      TASK_S11,
-                      INSTANCE_DEFAULT,
-                      TIMER_ONE_SHOT,
-                      timeoutArg,
-                      &timer_id);
-  }
-
-  return ret == 0 ? NW_OK : NW_FAILURE;
-}
-
-static
-NwRcT s11_sgw_stop_timer_wrapper(
-  NwGtpv2cTimerMgrHandleT tmrMgrHandle,
-  NwGtpv2cTimerHandleT    tmrHandle)
-{
-  int ret;
-  long timer_id;
-
-  timer_id = (long)tmrHandle;
-
-  ret = timer_remove(timer_id); //TODO
-
-  return ret == 0 ? NW_OK : NW_FAILURE;
-}
-
-static void *s11_sgw_thread(void *args)
-{
-  itti_mark_task_ready(TASK_S11);
-
-  while(1) {
-    MessageDef *received_message_p = NULL;
-    itti_receive_msg(TASK_S11, &received_message_p);
-    assert(received_message_p != NULL);
-
-    switch (ITTI_MSG_ID(received_message_p)) {
-    case UDP_DATA_IND: {
-      /* We received new data to handle from the UDP layer */
-      NwRcT rc;
-      udp_data_ind_t *udp_data_ind;
-
-      udp_data_ind = &received_message_p->ittiMsg.udp_data_ind;
-
-      S11_DEBUG("Processing new data indication from UDP\n");
-
-      rc = nwGtpv2cProcessUdpReq(s11_sgw_stack_handle,
-                                 udp_data_ind->buffer,
-                                 udp_data_ind->buffer_length,
-                                 udp_data_ind->peer_port,
-                                 udp_data_ind->peer_address);
-
-      DevAssert(rc == NW_OK);
-    }
-    break;
-
-    case SGW_CREATE_SESSION_RESPONSE: {
-      S11_DEBUG("Received create session response from S-PGW APP\n");
-      s11_sgw_handle_create_session_response(
-        &s11_sgw_stack_handle,
-        &received_message_p->ittiMsg.sgwCreateSessionResponse);
-    }
-    break;
-
-    case SGW_MODIFY_BEARER_RESPONSE: {
-      S11_DEBUG("Received modify bearer response from S-PGW APP\n");
-      s11_sgw_handle_modify_bearer_response(
-        &s11_sgw_stack_handle,
-        &received_message_p->ittiMsg.sgwModifyBearerResponse);
-    }
-    break;
-
-    case SGW_DELETE_SESSION_RESPONSE: {
-      S11_DEBUG("Received delete session response from S-PGW APP\n");
-      s11_sgw_handle_delete_session_response(
-        &s11_sgw_stack_handle,
-        &received_message_p->ittiMsg.sgwDeleteSessionResponse);
-    }
-    break;
-
-    case TIMER_HAS_EXPIRED: {
-      S11_DEBUG("Processing timeout for timer_id 0x%lx and arg %p\n",
-                received_message_p->ittiMsg.timer_has_expired.timer_id,
-                received_message_p->ittiMsg.timer_has_expired.arg);
-      DevAssert(nwGtpv2cProcessTimeout(received_message_p->ittiMsg.timer_has_expired.arg) == NW_OK);
-    }
-    break;
-
-    default: {
-      S11_ERROR("Unkwnon message ID %d:%s\n",
-                ITTI_MSG_ID(received_message_p), ITTI_MSG_NAME(received_message_p));
-    }
-    break;
-    }
-
-    itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), received_message_p);
-    received_message_p = NULL;
-  }
-
-  return NULL;
-}
-
-static int s11_send_init_udp(char *address, uint16_t port_number)
-{
-  MessageDef *message_p;
-
-  message_p = itti_alloc_new_message(TASK_S11, UDP_INIT);
-
-  if (message_p == NULL) {
-    return -1;
-  }
-
-  message_p->ittiMsg.udp_init.port = port_number;
-  //LG message_p->ittiMsg.udpInit.address = "0.0.0.0"; //ANY address
-  message_p->ittiMsg.udp_init.address = address;
-
-  S11_DEBUG("Tx UDP_INIT IP addr %s\n", message_p->ittiMsg.udp_init.address);
-
-  return itti_send_msg_to_task(TASK_UDP, INSTANCE_DEFAULT, message_p);
-}
-
-int s11_sgw_init(const mme_config_t *mme_config_p)
-{
-  int ret = 0;
-  NwGtpv2cUlpEntityT      ulp;
-  NwGtpv2cUdpEntityT      udp;
-  NwGtpv2cTimerMgrEntityT tmrMgr;
-  NwGtpv2cLogMgrEntityT   logMgr;
-  struct in_addr addr;
-  char *s11_address_str = NULL;
-
-  S11_DEBUG("Initializing S11 interface\n");
-
-  if (nwGtpv2cInitialize(&s11_sgw_stack_handle) != NW_OK) {
-    S11_ERROR("Failed to initialize gtpv2-c stack\n");
-    goto fail;
-  }
-
-  /* Set ULP entity */
-  ulp.hUlp           = (NwGtpv2cUlpHandleT)NULL;
-  ulp.ulpReqCallback = s11_sgw_ulp_process_stack_req_cb;
-  DevAssert(NW_OK == nwGtpv2cSetUlpEntity(s11_sgw_stack_handle, &ulp));
-
-  /* Set UDP entity */
-  udp.hUdp               = (NwGtpv2cUdpHandleT)NULL;
-  udp.udpDataReqCallback = s11_sgw_send_udp_msg;
-  DevAssert(NW_OK == nwGtpv2cSetUdpEntity(s11_sgw_stack_handle, &udp));
-
-  /* Set Timer entity */
-  tmrMgr.tmrMgrHandle = (NwGtpv2cTimerMgrHandleT)NULL;
-  tmrMgr.tmrStartCallback = s11_sgw_start_timer_wrapper;
-  tmrMgr.tmrStopCallback  = s11_sgw_stop_timer_wrapper;
-  DevAssert(NW_OK == nwGtpv2cSetTimerMgrEntity(s11_sgw_stack_handle, &tmrMgr));
-
-  logMgr.logMgrHandle    = 0;
-  logMgr.logReqCallback  = s11_sgw_log_wrapper;
-
-  DevAssert(NW_OK == nwGtpv2cSetLogMgrEntity(s11_sgw_stack_handle, &logMgr));
-
-  if (itti_create_task(TASK_S11, &s11_sgw_thread, NULL) < 0) {
-    S11_ERROR("gtpv1u phtread_create: %s\n", strerror(errno));
-    goto fail;
-  }
-
-  DevAssert(NW_OK == nwGtpv2cSetLogLevel(s11_sgw_stack_handle,
-                                         NW_LOG_LEVEL_DEBG));
-
-  config_read_lock(&mme_config);
-  addr.s_addr = mme_config.ipv4.sgw_ip_address_for_S11;
-  config_unlock(&mme_config);
-
-  s11_address_str = inet_ntoa(addr);
-
-  DevAssert(s11_address_str != NULL);
-
-  s11_send_init_udp(s11_address_str, 2123);
-
-  S11_DEBUG("Initializing S11 interface: DONE\n");
-
-  return ret;
-
-fail:
-  S11_DEBUG("Initializing S11 interface: FAILURE\n");
-  return -1;
-}
diff --git a/openair-cn/S11/s11_sgw.h b/openair-cn/S11/s11_sgw.h
deleted file mode 100644
index ed98169f8b2cc06aa88695ab86e51e33b603e707..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_sgw.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef S11_SGW_H_
-#define S11_SGW_H_
-
-int s11_sgw_init(const mme_config_t *mme_config);
-
-#endif /* S11_SGW_H_ */
diff --git a/openair-cn/S11/s11_sgw_bearer_manager.c b/openair-cn/S11/s11_sgw_bearer_manager.c
deleted file mode 100644
index 27337a25f33f92be16a89bf69c6e459952749faa..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_sgw_bearer_manager.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "assertions.h"
-#include "intertask_interface.h"
-#include "queue.h"
-
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgParser.h"
-
-#include "sgw_lite_ie_defs.h"
-
-#include "s11_common.h"
-#include "s11_sgw_bearer_manager.h"
-#include "s11_ie_formatter.h"
-
-int s11_sgw_handle_modify_bearer_request(NwGtpv2cStackHandleT *stack_p,
-    NwGtpv2cUlpApiT      *pUlpApi)
-{
-  NwRcT  rc = NW_OK;
-  uint8_t  offendingIeType, offendingIeInstance;
-  uint16_t offendingIeLength;
-
-  SgwModifyBearerRequest *modify_bearer_request_p;
-  MessageDef             *message_p;
-
-  NwGtpv2cMsgParserT *pMsgParser;
-
-  DevAssert(stack_p != NULL);
-
-  message_p = itti_alloc_new_message(TASK_S11, SGW_MODIFY_BEARER_REQUEST);
-
-  modify_bearer_request_p = &message_p->ittiMsg.sgwModifyBearerRequest;
-
-  modify_bearer_request_p->trxn = (void *)pUlpApi->apiInfo.initialReqIndInfo.hTrxn;
-  modify_bearer_request_p->teid = nwGtpv2cMsgGetTeid(pUlpApi->hMsg);
-
-  /* Create a new message parser */
-  rc = nwGtpv2cMsgParserNew(*stack_p,
-                            NW_GTP_MODIFY_BEARER_REQ,
-                            s11_ie_indication_generic,
-                            NULL,
-                            &pMsgParser);
-  DevAssert(NW_OK == rc);
-
-  /* Indication Flags IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser,
-                              NW_GTPV2C_IE_INDICATION,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_indication_flags_ie_get,
-                              &modify_bearer_request_p->indication_flags);
-  DevAssert(NW_OK == rc);
-
-  /* MME-FQ-CSID IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser,
-                              NW_GTPV2C_IE_FQ_CSID,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_fqcsid_ie_get,
-                              &modify_bearer_request_p->mme_fq_csid);
-  DevAssert(NW_OK == rc);
-
-  /* RAT Type IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser,
-                              NW_GTPV2C_IE_RAT_TYPE,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_rat_type_ie_get,
-                              &modify_bearer_request_p->rat_type);
-  DevAssert(NW_OK == rc);
-
-  /* Delay Value IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser,
-                              NW_GTPV2C_IE_DELAY_VALUE,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_delay_value_ie_get,
-                              &modify_bearer_request_p->delay_dl_packet_notif_req);
-  DevAssert(NW_OK == rc);
-
-  /* Bearer Context to be modified IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser,
-                              NW_GTPV2C_IE_BEARER_CONTEXT,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_bearer_context_to_modifiy_ie_get,
-                              &modify_bearer_request_p->bearer_context_to_modify);
-  DevAssert(NW_OK == rc);
-
-  rc = nwGtpv2cMsgParserRun(pMsgParser,
-                            pUlpApi->hMsg,
-                            &offendingIeType,
-                            &offendingIeInstance,
-                            &offendingIeLength);
-
-  if (rc != NW_OK) {
-    gtp_cause_t         cause;
-    NwGtpv2cUlpApiT     ulp_req;
-
-    memset(&ulp_req, 0, sizeof(NwGtpv2cUlpApiT));
-    memset(&cause  , 0, sizeof(gtp_cause_t));
-
-    cause.offending_ie_type     = offendingIeType;
-    cause.offending_ie_length   = offendingIeLength;
-    cause.offending_ie_instance = offendingIeInstance;
-
-    switch (rc) {
-    case NW_GTPV2C_MANDATORY_IE_MISSING:
-      S11_DEBUG("Mandatory IE type '%u' of instance '%u' missing!\n",
-                offendingIeType, offendingIeLength);
-      cause.cause_value = NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING;
-      break;
-
-    default:
-      S11_DEBUG("Unknown message parse error!\n");
-      cause.cause_value = 0;
-      break;
-    }
-
-    /*
-     * Send Create session response with failure to Gtpv2c Stack Instance
-     */
-    ulp_req.apiType = NW_GTPV2C_ULP_API_TRIGGERED_RSP;
-
-    ulp_req.apiInfo.triggeredRspInfo.hTrxn = pUlpApi->apiInfo.initialReqIndInfo.hTrxn;
-
-    rc = nwGtpv2cMsgNew(*stack_p,
-                        NW_TRUE,
-                        NW_GTP_CREATE_SESSION_RSP,
-                        0,
-                        nwGtpv2cMsgGetSeqNumber(pUlpApi->hMsg),
-                        &(ulp_req.hMsg));
-
-    s11_cause_ie_set(&(ulp_req.hMsg), &cause);
-
-    S11_DEBUG("Received NW_GTP_CREATE_SESSION_REQ, Sending NW_GTP_CREATE_SESSION_RSP!\n");
-    rc = nwGtpv2cProcessUlpReq(*stack_p, &ulp_req);
-    DevAssert(NW_OK == rc);
-
-    itti_free(ITTI_MSG_ORIGIN_ID(message_p), message_p);
-    message_p = NULL;
-
-    rc = nwGtpv2cMsgParserDelete(*stack_p, pMsgParser);
-    DevAssert(NW_OK == rc);
-
-    rc = nwGtpv2cMsgDelete(*stack_p, (pUlpApi->hMsg));
-    DevAssert(NW_OK == rc);
-
-    return 0;
-  }
-
-  rc = nwGtpv2cMsgParserDelete(*stack_p, pMsgParser);
-  DevAssert(NW_OK == rc);
-
-  rc = nwGtpv2cMsgDelete(*stack_p, (pUlpApi->hMsg));
-  DevAssert(NW_OK == rc);
-
-  return itti_send_msg_to_task(TASK_SPGW_APP, INSTANCE_DEFAULT, message_p);
-}
-
-int s11_sgw_handle_modify_bearer_response(
-  NwGtpv2cStackHandleT    *stack_p,
-  SgwModifyBearerResponse *modify_bearer_response_p)
-{
-  gtp_cause_t         cause;
-  NwRcT               rc;
-  NwGtpv2cUlpApiT     ulp_req;
-  NwGtpv2cTrxnHandleT trxn;
-
-  DevAssert(stack_p != NULL);
-  DevAssert(modify_bearer_response_p != NULL);
-
-  trxn = (NwGtpv2cTrxnHandleT)modify_bearer_response_p->trxn;
-
-  /* Prepare a modify bearer response to send to MME.
-   */
-  memset(&ulp_req, 0, sizeof(NwGtpv2cUlpApiT));
-  memset(&cause  , 0, sizeof(gtp_cause_t));
-
-  ulp_req.apiType = NW_GTPV2C_ULP_API_TRIGGERED_RSP;
-
-  ulp_req.apiInfo.triggeredRspInfo.hTrxn = trxn;
-
-  rc = nwGtpv2cMsgNew(*stack_p,
-                      NW_TRUE,
-                      NW_GTP_MODIFY_BEARER_RSP,
-                      0,
-                      0,
-                      &(ulp_req.hMsg));
-  DevAssert(NW_OK == rc);
-
-  /* Set the remote TEID */
-  rc = nwGtpv2cMsgSetTeid(ulp_req.hMsg, modify_bearer_response_p->teid);
-  DevAssert(NW_OK == rc);
-
-  cause.cause_value = (uint8_t)modify_bearer_response_p->cause;
-
-  s11_cause_ie_set(&(ulp_req.hMsg), &cause);
-
-  rc = nwGtpv2cProcessUlpReq(*stack_p, &ulp_req);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
diff --git a/openair-cn/S11/s11_sgw_bearer_manager.h b/openair-cn/S11/s11_sgw_bearer_manager.h
deleted file mode 100644
index cfbbd389fc61c7e598549c3d96a985ccb94207c9..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_sgw_bearer_manager.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef S11_SGW_BEARER_MANAGER_H_
-#define S11_SGW_BEARER_MANAGER_H_
-
-int s11_sgw_handle_modify_bearer_request(
-  NwGtpv2cStackHandleT *stack_p,
-  NwGtpv2cUlpApiT      *pUlpApi);
-
-int s11_sgw_handle_modify_bearer_response(
-  NwGtpv2cStackHandleT    *stack_p,
-  SgwModifyBearerResponse *modify_bearer_response_p);
-
-#endif /* S11_SGW_BEARER_MANAGER_H_ */
diff --git a/openair-cn/S11/s11_sgw_session_manager.c b/openair-cn/S11/s11_sgw_session_manager.c
deleted file mode 100644
index dc313c7935e9b705171a118bbf6d0c426283b361..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_sgw_session_manager.c
+++ /dev/null
@@ -1,526 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "assertions.h"
-#include "intertask_interface.h"
-#include "queue.h"
-
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgParser.h"
-
-#include "sgw_lite_ie_defs.h"
-
-#include "s11_common.h"
-#include "s11_sgw_session_manager.h"
-#include "s11_ie_formatter.h"
-
-int s11_sgw_handle_create_session_request(NwGtpv2cStackHandleT *stack_p,
-    NwGtpv2cUlpApiT      *pUlpApi)
-{
-  NwRcT  rc = NW_OK;
-  uint8_t  offendingIeType, offendingIeInstance;
-  uint16_t offendingIeLength;
-
-  SgwCreateSessionRequest *create_session_request_p;
-  MessageDef              *message_p;
-
-  NwGtpv2cMsgParserT *pMsgParser;
-
-  DevAssert(stack_p != NULL);
-
-  message_p = itti_alloc_new_message(TASK_S11, SGW_CREATE_SESSION_REQUEST);
-
-  create_session_request_p = &message_p->ittiMsg.sgwCreateSessionRequest;
-
-  /* Create a new message parser */
-  rc = nwGtpv2cMsgParserNew(*stack_p, NW_GTP_CREATE_SESSION_REQ,
-                            s11_ie_indication_generic,
-                            NULL, &pMsgParser);
-  DevAssert(NW_OK == rc);
-
-  /* Imsi IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_IMSI,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_imsi_ie_get,
-                              &create_session_request_p->imsi);
-  DevAssert(NW_OK == rc);
-
-  /* MSISDN IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_MSISDN,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_msisdn_ie_get,
-                              &create_session_request_p->msisdn);
-  DevAssert(NW_OK == rc);
-
-  /* MEI IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_MEI,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_mei_ie_get,
-                              &create_session_request_p->mei);
-  DevAssert(NW_OK == rc);
-
-  /* ULI IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_ULI,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_uli_ie_get,
-                              &create_session_request_p->uli);
-  DevAssert(NW_OK == rc);
-
-  /* Serving Network IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_SERVING_NETWORK,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_serving_network_ie_get,
-                              &create_session_request_p->serving_network);
-  DevAssert(NW_OK == rc);
-
-  /* RAT Type IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_RAT_TYPE,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_MANDATORY,
-                              s11_rat_type_ie_get,
-                              &create_session_request_p->rat_type);
-  DevAssert(NW_OK == rc);
-
-  /* Indication Flags IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_INDICATION,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_indication_flags_ie_get,
-                              &create_session_request_p->indication_flags);
-  DevAssert(NW_OK == rc);
-
-  /* APN IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_APN,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_MANDATORY,
-                              s11_apn_ie_get, &create_session_request_p->apn);
-  DevAssert(NW_OK == rc);
-
-  /* Selection Mode IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_SELECTION_MODE,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_ie_indication_generic, NULL);
-  DevAssert(NW_OK == rc);
-
-  /* PDN Type IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_PDN_TYPE,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_pdn_type_ie_get, &create_session_request_p->pdn_type);
-  DevAssert(NW_OK == rc);
-
-  /* PAA IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_PAA,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_paa_ie_get, &create_session_request_p->paa);
-  DevAssert(NW_OK == rc);
-
-  /* Sender FTEID for CP IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_FTEID,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_MANDATORY,
-                              s11_fteid_ie_get,
-                              &create_session_request_p->sender_fteid_for_cp);
-  DevAssert(NW_OK == rc);
-
-  /* PGW FTEID for CP IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_FTEID,
-                              NW_GTPV2C_IE_INSTANCE_ONE,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_fteid_ie_get,
-                              &create_session_request_p->pgw_address_for_cp);
-  DevAssert(NW_OK == rc);
-
-  /* APN Restriction IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_APN_RESTRICTION,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_ie_indication_generic, NULL);
-  DevAssert(NW_OK == rc);
-
-  /* Bearer Context IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_BEARER_CONTEXT,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_MANDATORY,
-                              s11_bearer_context_ie_get,
-                              &create_session_request_p->bearer_to_create);
-  DevAssert(NW_OK == rc);
-
-  /* AMBR IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_AMBR,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_ambr_ie_get,
-                              &create_session_request_p->ambr);
-  DevAssert(NW_OK == rc);
-
-  /* Recovery IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_RECOVERY,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_MANDATORY,
-                              s11_ie_indication_generic, NULL);
-  DevAssert(NW_OK == rc);
-
-  create_session_request_p->teid    = nwGtpv2cMsgGetTeid(pUlpApi->hMsg);
-  create_session_request_p->trxn    = (void*)pUlpApi->apiInfo.initialReqIndInfo.hTrxn;
-  create_session_request_p->peer_ip = pUlpApi->apiInfo.initialReqIndInfo.peerIp;
-
-  rc = nwGtpv2cMsgParserRun(pMsgParser,
-                            pUlpApi->hMsg,
-                            &offendingIeType,
-                            &offendingIeInstance,
-                            &offendingIeLength);
-
-  if (rc != NW_OK) {
-    gtp_cause_t cause;
-
-    NwGtpv2cUlpApiT     ulp_req;
-
-    memset(&ulp_req, 0, sizeof(NwGtpv2cUlpApiT));
-    memset(&cause  , 0, sizeof(gtp_cause_t));
-
-    cause.offending_ie_type     = offendingIeType;
-    cause.offending_ie_length   = offendingIeLength;
-    cause.offending_ie_instance = offendingIeInstance;
-
-    switch (rc) {
-    case NW_GTPV2C_MANDATORY_IE_MISSING:
-      S11_DEBUG("Mandatory IE type '%u' of instance '%u' missing!\n",
-                offendingIeType, offendingIeLength);
-      cause.cause_value = NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING;
-      break;
-
-    default:
-      S11_DEBUG("Unknown message parse error!\n");
-      cause.cause_value = 0;
-      break;
-    }
-
-    /*
-     * Send Create session response with failure to Gtpv2c Stack Instance
-     */
-    ulp_req.apiType = NW_GTPV2C_ULP_API_TRIGGERED_RSP;
-
-    ulp_req.apiInfo.triggeredRspInfo.hTrxn = pUlpApi->apiInfo.initialReqIndInfo.hTrxn;
-
-    rc = nwGtpv2cMsgNew(*stack_p,
-                        NW_TRUE,
-                        NW_GTP_CREATE_SESSION_RSP,
-                        0,
-                        nwGtpv2cMsgGetSeqNumber(pUlpApi->hMsg),
-                        &(ulp_req.hMsg));
-
-    s11_cause_ie_set(&(ulp_req.hMsg), &cause);
-
-    S11_DEBUG("Received NW_GTP_CREATE_SESSION_REQ, Sending NW_GTP_CREATE_SESSION_RSP!\n");
-    rc = nwGtpv2cProcessUlpReq(*stack_p, &ulp_req);
-    DevAssert(NW_OK == rc);
-
-    itti_free(ITTI_MSG_ORIGIN_ID(message_p), message_p);
-    message_p = NULL;
-
-    rc = nwGtpv2cMsgParserDelete(*stack_p, pMsgParser);
-    DevAssert(NW_OK == rc);
-
-    rc = nwGtpv2cMsgDelete(*stack_p, (pUlpApi->hMsg));
-    DevAssert(NW_OK == rc);
-
-    return 0;
-  }
-
-  rc = nwGtpv2cMsgParserDelete(*stack_p, pMsgParser);
-  DevAssert(NW_OK == rc);
-
-  rc = nwGtpv2cMsgDelete(*stack_p, (pUlpApi->hMsg));
-  DevAssert(NW_OK == rc);
-
-  return itti_send_msg_to_task(TASK_SPGW_APP, INSTANCE_DEFAULT, message_p);
-}
-
-int s11_sgw_handle_create_session_response(
-  NwGtpv2cStackHandleT     *stack_p,
-  SgwCreateSessionResponse *create_session_response_p)
-{
-  NwRcT                     rc;
-  NwGtpv2cUlpApiT           ulp_req;
-  NwGtpv2cTrxnHandleT       trxn;
-
-  gtp_cause_t cause;
-
-  DevAssert(create_session_response_p != NULL);
-  DevAssert(stack_p != NULL);
-
-  trxn = (NwGtpv2cTrxnHandleT)create_session_response_p->trxn;
-
-  DevAssert(trxn != 0);
-
-  /* Create a tunnel for the GTPv2-C stack */
-  memset(&ulp_req, 0, sizeof(NwGtpv2cUlpApiT));
-
-  ulp_req.apiType = NW_GTPV2C_ULP_CREATE_LOCAL_TUNNEL;
-  ulp_req.apiInfo.createLocalTunnelInfo.teidLocal = create_session_response_p->s11_sgw_teid.teid;
-  ulp_req.apiInfo.createLocalTunnelInfo.peerIp    = create_session_response_p->peer_ip;
-
-  rc = nwGtpv2cProcessUlpReq(*stack_p, &ulp_req);
-  DevAssert(NW_OK == rc);
-
-  /* Prepare a create session response to send to MME.
-   */
-  memset(&ulp_req, 0, sizeof(NwGtpv2cUlpApiT));
-  memset(&cause  , 0, sizeof(gtp_cause_t));
-
-  ulp_req.apiType = NW_GTPV2C_ULP_API_TRIGGERED_RSP;
-
-  ulp_req.apiInfo.triggeredRspInfo.hTrxn = trxn;
-
-  rc = nwGtpv2cMsgNew(*stack_p,
-                      NW_TRUE,
-                      NW_GTP_CREATE_SESSION_RSP,
-                      0,
-                      0,
-                      &(ulp_req.hMsg));
-  DevAssert(NW_OK == rc);
-
-  /* Set the remote TEID */
-  rc = nwGtpv2cMsgSetTeid(ulp_req.hMsg, create_session_response_p->teid);
-  DevAssert(NW_OK == rc);
-
-  cause.cause_value = (uint8_t)create_session_response_p->cause;
-
-  s11_cause_ie_set(&(ulp_req.hMsg), &cause);
-
-  rc = nwGtpv2cMsgAddIeFteid((ulp_req.hMsg),
-                             NW_GTPV2C_IE_INSTANCE_ZERO,
-                             S1_U_SGW_GTP_U,
-                             create_session_response_p->s11_sgw_teid.teid,
-                             0xC0A80EA2,
-                             NULL);
-
-  s11_paa_ie_set(&(ulp_req.hMsg), &create_session_response_p->paa);
-  /* Put 0 for now i.e. no existing context or restriction */
-  s11_apn_restriction_ie_set(&(ulp_req.hMsg), 0);
-  s11_bearer_context_created_ie_set(
-    &(ulp_req.hMsg),
-    &create_session_response_p->bearer_context_created);
-
-  rc = nwGtpv2cProcessUlpReq(*stack_p, &ulp_req);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
-
-int s11_sgw_handle_delete_session_request(NwGtpv2cStackHandleT *stack_p,
-    NwGtpv2cUlpApiT      *pUlpApi)
-{
-  NwRcT  rc = NW_OK;
-  uint8_t  offendingIeType, offendingIeInstance;
-  uint16_t offendingIeLength;
-
-  SgwDeleteSessionRequest *delete_session_request_p;
-  MessageDef              *message_p;
-
-  NwGtpv2cMsgParserT *pMsgParser;
-
-  DevAssert(stack_p != NULL);
-
-  message_p = itti_alloc_new_message(TASK_S11, SGW_DELETE_SESSION_REQUEST);
-
-  delete_session_request_p = &message_p->ittiMsg.sgwDeleteSessionRequest;
-
-  /* Create a new message parser */
-  rc = nwGtpv2cMsgParserNew(*stack_p, NW_GTP_DELETE_SESSION_REQ,
-                            s11_ie_indication_generic,
-                            NULL, &pMsgParser);
-  DevAssert(NW_OK == rc);
-
-  /* MME FTEID for CP IE */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_FTEID,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_OPTIONAL,
-                              s11_fteid_ie_get,
-                              &delete_session_request_p->sender_fteid_for_cp);
-  DevAssert(NW_OK == rc);
-
-  /* Linked EPS Bearer Id IE
-   * This information element shall not be present for TAU/RAU/Handover with
-   * S-GW relocation procedures.
-   */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_EBI,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_OPTIONAL,
-                              s11_ebi_ie_get,
-                              &delete_session_request_p->lbi);
-  DevAssert(NW_OK == rc);
-
-  /* Indication Flags IE
-   * For a Delete Session Request on S11 interface,
-   * only the Operation Indication flag might be present.
-   */
-  rc = nwGtpv2cMsgParserAddIe(pMsgParser, NW_GTPV2C_IE_INDICATION,
-                              NW_GTPV2C_IE_INSTANCE_ZERO,
-                              NW_GTPV2C_IE_PRESENCE_CONDITIONAL,
-                              s11_indication_flags_ie_get,
-                              &delete_session_request_p->indication_flags);
-  DevAssert(NW_OK == rc);
-
-  delete_session_request_p->teid    = nwGtpv2cMsgGetTeid(pUlpApi->hMsg);
-  delete_session_request_p->trxn    = (void*)pUlpApi->apiInfo.initialReqIndInfo.hTrxn;
-  delete_session_request_p->peer_ip = pUlpApi->apiInfo.initialReqIndInfo.peerIp;
-
-  rc = nwGtpv2cMsgParserRun(pMsgParser,
-                            pUlpApi->hMsg,
-                            &offendingIeType,
-                            &offendingIeInstance,
-                            &offendingIeLength);
-
-  if (rc != NW_OK) {
-    NwGtpv2cUlpApiT     ulp_req;
-    gtp_cause_t         cause;
-
-    memset(&ulp_req, 0, sizeof(NwGtpv2cUlpApiT));
-    memset(&cause  , 0, sizeof(gtp_cause_t));
-
-    cause.offending_ie_type     = offendingIeType;
-    cause.offending_ie_length   = offendingIeLength;
-    cause.offending_ie_instance = offendingIeInstance;
-
-    switch (rc) {
-    case NW_GTPV2C_MANDATORY_IE_MISSING:
-      S11_DEBUG("Mandatory IE type '%u' of instance '%u' missing!\n",
-                offendingIeType, offendingIeLength);
-      cause.cause_value = NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING;
-      break;
-
-    default:
-      S11_DEBUG("Unknown message parse error!\n");
-      cause.cause_value = 0;
-      break;
-    }
-
-    /*
-     * Send Create session response with failure to Gtpv2c Stack Instance
-     */
-    ulp_req.apiType = NW_GTPV2C_ULP_API_TRIGGERED_RSP;
-
-    ulp_req.apiInfo.triggeredRspInfo.hTrxn = pUlpApi->apiInfo.initialReqIndInfo.hTrxn;
-
-    rc = nwGtpv2cMsgNew(*stack_p,
-                        NW_TRUE,
-                        NW_GTP_DELETE_SESSION_RSP,
-                        0,
-                        nwGtpv2cMsgGetSeqNumber(pUlpApi->hMsg),
-                        &(ulp_req.hMsg));
-
-    /* Adding the cause */
-    s11_cause_ie_set(&(ulp_req.hMsg), &cause);
-
-    S11_DEBUG("Received NW_GTP_DELETE_SESSION_REQ, Sending NW_GTP_DELETE_SESSION_RSP!\n");
-    rc = nwGtpv2cProcessUlpReq(*stack_p, &ulp_req);
-    DevAssert(NW_OK == rc);
-
-    itti_free(ITTI_MSG_ORIGIN_ID(message_p), message_p);
-    message_p = NULL;
-
-    rc = nwGtpv2cMsgParserDelete(*stack_p, pMsgParser);
-    DevAssert(NW_OK == rc);
-
-    rc = nwGtpv2cMsgDelete(*stack_p, (pUlpApi->hMsg));
-    DevAssert(NW_OK == rc);
-
-    return 0;
-  }
-
-  rc = nwGtpv2cMsgParserDelete(*stack_p, pMsgParser);
-  DevAssert(NW_OK == rc);
-
-  rc = nwGtpv2cMsgDelete(*stack_p, (pUlpApi->hMsg));
-  DevAssert(NW_OK == rc);
-
-  return itti_send_msg_to_task(TASK_SPGW_APP, INSTANCE_DEFAULT, message_p);
-}
-
-int s11_sgw_handle_delete_session_response(
-  NwGtpv2cStackHandleT     *stack_p,
-  SgwDeleteSessionResponse *delete_session_response_p)
-{
-  NwRcT                     rc;
-  NwGtpv2cUlpApiT           ulp_req;
-  NwGtpv2cTrxnHandleT       trxn;
-  gtp_cause_t               cause;
-
-  DevAssert(delete_session_response_p != NULL);
-  DevAssert(stack_p != NULL);
-
-  trxn = (NwGtpv2cTrxnHandleT)delete_session_response_p->trxn;
-
-  DevAssert(trxn != 0);
-
-  /* Prepare a create session response to send to MME.
-   */
-  memset(&ulp_req, 0, sizeof(NwGtpv2cUlpApiT));
-  memset(&cause,   0, sizeof(gtp_cause_t));
-
-  ulp_req.apiType = NW_GTPV2C_ULP_API_TRIGGERED_RSP;
-
-  ulp_req.apiInfo.triggeredRspInfo.hTrxn = trxn;
-
-  rc = nwGtpv2cMsgNew(*stack_p,
-                      NW_TRUE,
-                      NW_GTP_DELETE_SESSION_RSP,
-                      0,
-                      0,
-                      &(ulp_req.hMsg));
-  DevAssert(NW_OK == rc);
-
-  /* Set the remote TEID */
-  rc = nwGtpv2cMsgSetTeid(ulp_req.hMsg, delete_session_response_p->teid);
-  DevAssert(NW_OK == rc);
-
-  cause.cause_value = delete_session_response_p->cause;
-
-  s11_cause_ie_set(&(ulp_req.hMsg), &cause);
-
-  rc = nwGtpv2cProcessUlpReq(*stack_p, &ulp_req);
-  DevAssert(NW_OK == rc);
-
-  return 0;
-}
diff --git a/openair-cn/S11/s11_sgw_session_manager.h b/openair-cn/S11/s11_sgw_session_manager.h
deleted file mode 100644
index 2c920fb75ebef88d47f32853cfb41954cf1a0665..0000000000000000000000000000000000000000
--- a/openair-cn/S11/s11_sgw_session_manager.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef S11_SGW_SESSION_MANAGER_H_
-#define S11_SGW_SESSION_MANAGER_H_
-
-int s11_sgw_handle_create_session_request(
-  NwGtpv2cStackHandleT *stack_p,
-  NwGtpv2cUlpApiT      *pUlpApi);
-
-int s11_sgw_handle_create_session_response(
-  NwGtpv2cStackHandleT     *stack_p,
-  SgwCreateSessionResponse *create_session_response_p);
-
-int s11_sgw_handle_delete_session_request(
-  NwGtpv2cStackHandleT *stack_p,
-  NwGtpv2cUlpApiT      *pUlpApi);
-
-int s11_sgw_handle_delete_session_response(
-  NwGtpv2cStackHandleT     *stack_p,
-  SgwDeleteSessionResponse *delete_session_response_p);
-
-#endif /* S11_SGW_SESSION_MANAGER_H_ */
diff --git a/openair-cn/S1AP/MESSAGES/ASN1/Makefile.am b/openair-cn/S1AP/MESSAGES/ASN1/Makefile.am
deleted file mode 100644
index 818775406c71fb1cc5851d35cb75f4ed885a3b5d..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/MESSAGES/ASN1/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-BUILT_SOURCES=ieregen.stamp
-
-ieregen.stamp: $(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py $(top_srcdir)/configure
-	echo Timestamp > $@
-	python $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py -f$(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn -o$(top_builddir)/S1AP
-
-clean-local:
-	rm -f ieregen.stamp
\ No newline at end of file
diff --git a/openair-cn/S1AP/MESSAGES/Makefile.am b/openair-cn/S1AP/MESSAGES/Makefile.am
deleted file mode 100644
index 765f972ab8ea287088b8a767be744e5055b4317b..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/MESSAGES/Makefile.am
+++ /dev/null
@@ -1,805 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-SUBDIRS= ASN1/ .
-ASN_MODULEdir=.
-libs1apmessagesdir=.
-
-ASN_MODULE_SOURCES=	\
-	S1ap-Criticality.c	\
-	S1ap-Presence.c	\
-	S1ap-PrivateIE-ID.c	\
-	S1ap-ProcedureCode.c	\
-	S1ap-ProtocolExtensionID.c	\
-	S1ap-ProtocolIE-ID.c	\
-	S1ap-TriggeringMessage.c	\
-	S1ap-IE-Extensions.c	\
-	S1ap-AllocationAndRetentionPriority.c	\
-	S1ap-Bearers-SubjectToStatusTransfer-List.c	\
-	S1ap-Bearers-SubjectToStatusTransfer-Item.c	\
-	S1ap-BitRate.c	\
-	S1ap-BPLMNs.c	\
-	S1ap-BroadcastCompletedAreaList.c	\
-	S1ap-Cause.c	\
-	S1ap-CauseMisc.c	\
-	S1ap-CauseProtocol.c	\
-	S1ap-CauseRadioNetwork.c	\
-	S1ap-CauseTransport.c	\
-	S1ap-CauseNas.c	\
-	S1ap-CellIdentity.c	\
-	S1ap-CellID-Broadcast.c	\
-	S1ap-CellID-Broadcast-Item.c	\
-	S1ap-Cdma2000PDU.c	\
-	S1ap-Cdma2000RATType.c	\
-	S1ap-Cdma2000SectorID.c	\
-	S1ap-Cdma2000HOStatus.c	\
-	S1ap-Cdma2000HORequiredIndication.c	\
-	S1ap-Cdma2000OneXSRVCCInfo.c	\
-	S1ap-Cdma2000OneXMEID.c	\
-	S1ap-Cdma2000OneXMSI.c	\
-	S1ap-Cdma2000OneXPilot.c	\
-	S1ap-Cdma2000OneXRAND.c	\
-	S1ap-Cell-Size.c	\
-	S1ap-CellType.c	\
-	S1ap-CGI.c	\
-	S1ap-CI.c	\
-	S1ap-CNDomain.c	\
-	S1ap-CSFallbackIndicator.c	\
-	S1ap-CSG-Id.c	\
-	S1ap-CSG-IdList.c	\
-	S1ap-CSG-IdList-Item.c	\
-	S1ap-COUNTvalue.c	\
-	S1ap-CriticalityDiagnostics.c	\
-	S1ap-CriticalityDiagnostics-IE-List.c	\
-	S1ap-CriticalityDiagnostics-IE-Item.c	\
-	S1ap-DataCodingScheme.c	\
-	S1ap-DL-Forwarding.c	\
-	S1ap-Direct-Forwarding-Path-Availability.c	\
-	S1ap-E-RABToBeModifiedListBearerModReq.c	\
-	S1ap-E-RABToBeModifiedItemBearerModReq.c	\
-	S1ap-E-RABReleaseListBearerRelComp.c	\
-	S1ap-E-RABReleaseItemBearerRelComp.c	\
-	S1ap-E-RABDataForwardingList.c	\
-	S1ap-E-RABDataForwardingItem.c	\
-	S1ap-E-RABToBeSetupListCtxtSUReq.c	\
-	S1ap-E-RABToBeSetupItemCtxtSUReq.c	\
-	S1ap-E-RABSetupListBearerSURes.c	\
-	S1ap-E-RABSetupItemBearerSURes.c	\
-	S1ap-E-RABFailedToSetupListHOReqAck.c	\
-	S1ap-E-RABFailedToSetupItemHOReqAck.c	\
-	S1ap-E-RABToBeSetupListBearerSUReq.c	\
-	S1ap-E-RABToBeSetupItemBearerSUReq.c	\
-	S1ap-E-RABAdmittedList.c	\
-	S1ap-E-RABAdmittedItem.c	\
-	S1ap-E-RABToBeSwitchedDLList.c	\
-	S1ap-E-RABToBeSwitchedDLItem.c	\
-	S1ap-E-RABToBeSwitchedULList.c	\
-	S1ap-E-RABToBeSwitchedULItem.c	\
-	S1ap-E-RABModifyListBearerModRes.c	\
-	S1ap-E-RABModifyItemBearerModRes.c	\
-	S1ap-E-RABSetupListCtxtSURes.c	\
-	S1ap-E-RABSetupItemCtxtSURes.c	\
-	S1ap-E-RABToBeSetupListHOReq.c	\
-	S1ap-E-RABToBeSetupItemHOReq.c	\
-	S1ap-ECGIList.c	\
-	S1ap-EmergencyAreaIDList.c	\
-	S1ap-EmergencyAreaID.c	\
-	S1ap-EmergencyAreaID-Broadcast.c	\
-	S1ap-EmergencyAreaID-Broadcast-Item.c	\
-	S1ap-CompletedCellinEAI.c	\
-	S1ap-CompletedCellinEAI-Item.c	\
-	S1ap-ENB-ID.c	\
-	S1ap-GERAN-Cell-ID.c	\
-	S1ap-Global-ENB-ID.c	\
-	S1ap-ENB-StatusTransfer-TransparentContainer.c	\
-	S1ap-ENB-UE-S1AP-ID.c	\
-	S1ap-ENBname.c	\
-	S1ap-ENBX2TLAs.c	\
-	S1ap-EncryptionAlgorithms.c	\
-	S1ap-EPLMNs.c	\
-	S1ap-EventType.c	\
-	S1ap-E-RAB-ID.c	\
-	S1ap-E-RABInformationList.c	\
-	S1ap-E-RABInformationListItem.c	\
-	S1ap-E-RABList.c	\
-	S1ap-E-RABItem.c	\
-	S1ap-E-RABLevelQoSParameters.c	\
-	S1ap-EUTRAN-CGI.c	\
-	S1ap-ExtendedRNC-ID.c	\
-	S1ap-ForbiddenInterRATs.c	\
-	S1ap-ForbiddenTAs.c	\
-	S1ap-ForbiddenTAs-Item.c	\
-	S1ap-ForbiddenTACs.c	\
-	S1ap-ForbiddenLAs.c	\
-	S1ap-ForbiddenLAs-Item.c	\
-	S1ap-ForbiddenLACs.c	\
-	S1ap-GBR-QosInformation.c	\
-	S1ap-GTP-TEID.c	\
-	S1ap-GUMMEI.c	\
-	S1ap-HandoverRestrictionList.c	\
-	S1ap-HandoverType.c	\
-	S1ap-HFN.c	\
-	S1ap-HandoverNotify.c	\
-	S1ap-Inter-SystemInformationTransferType.c	\
-	S1ap-IMSI.c	\
-	S1ap-IntegrityProtectionAlgorithms.c	\
-	S1ap-InterfacesToTrace.c	\
-	S1ap-LAC.c	\
-	S1ap-LAI.c	\
-	S1ap-LastVisitedCell-Item.c	\
-	S1ap-LastVisitedEUTRANCellInformation.c	\
-	S1ap-LastVisitedUTRANCellInformation.c	\
-	S1ap-LastVisitedGERANCellInformation.c	\
-	S1ap-L3-Information.c	\
-	S1ap-MessageIdentifier.c	\
-	S1ap-MMEname.c	\
-	S1ap-MME-Group-ID.c	\
-	S1ap-MME-Code.c	\
-	S1ap-MME-UE-S1AP-ID.c	\
-	S1ap-M-TMSI.c	\
-	S1ap-MSClassmark2.c	\
-	S1ap-MSClassmark3.c	\
-	S1ap-NAS-PDU.c	\
-	S1ap-NASSecurityParametersfromE-UTRAN.c	\
-	S1ap-NASSecurityParameterstoE-UTRAN.c	\
-	S1ap-NumberofBroadcastRequest.c	\
-	S1ap-NumberOfBroadcasts.c	\
-	S1ap-OldBSS-ToNewBSS-Information.c	\
-	S1ap-OverloadAction.c	\
-	S1ap-OverloadResponse.c	\
-	S1ap-PagingDRX.c	\
-	S1ap-PDCP-SN.c	\
-	S1ap-PLMNidentity.c	\
-	S1ap-Pre-emptionCapability.c	\
-	S1ap-Pre-emptionVulnerability.c	\
-	S1ap-PriorityLevel.c	\
-	S1ap-QCI.c	\
-	S1ap-ReceiveStatusofULPDCPSDUs.c	\
-	S1ap-RelativeMMECapacity.c	\
-	S1ap-RAC.c	\
-	S1ap-RequestType.c	\
-	S1ap-ResetType.c	\
-	S1ap-ResetAll.c	\
-	S1ap-RIMTransfer.c	\
-	S1ap-RIMInformation.c	\
-	S1ap-RIMRoutingAddress.c	\
-	S1ap-ReportArea.c	\
-	S1ap-RepetitionPeriod.c	\
-	S1ap-RNC-ID.c	\
-	S1ap-RRC-Container.c	\
-	S1ap-RRC-Establishment-Cause.c	\
-	S1ap-SecurityKey.c	\
-	S1ap-SecurityContext.c	\
-	S1ap-SerialNumber.c	\
-	S1ap-SONInformation.c	\
-	S1ap-SONInformationRequest.c	\
-	S1ap-SONInformationReply.c	\
-	S1ap-SONConfigurationTransfer.c	\
-	S1ap-Source-ToTarget-TransparentContainer.c	\
-	S1ap-SourceBSS-ToTargetBSS-TransparentContainer.c	\
-	S1ap-SourceeNB-ID.c	\
-	S1ap-SRVCCOperationPossible.c	\
-	S1ap-SRVCCHOIndication.c	\
-	S1ap-SourceeNB-ToTargeteNB-TransparentContainer.c	\
-	S1ap-SourceRNC-ToTargetRNC-TransparentContainer.c	\
-	S1ap-ServedGUMMEIs.c	\
-	S1ap-ServedGUMMEIsItem.c	\
-	S1ap-ServedGroupIDs.c	\
-	S1ap-ServedMMECs.c	\
-	S1ap-ServedPLMNs.c	\
-	S1ap-SubscriberProfileIDforRFP.c	\
-	S1ap-SupportedTAs.c	\
-	S1ap-SupportedTAs-Item.c	\
-	S1ap-S-TMSI.c	\
-	S1ap-TAC.c	\
-	S1ap-TAIListforWarning.c	\
-	S1ap-TAIList.c	\
-	S1ap-TAIItem.c	\
-	S1ap-TAI.c	\
-	S1ap-TAI-Broadcast.c	\
-	S1ap-TAI-Broadcast-Item.c	\
-	S1ap-CompletedCellinTAI.c	\
-	S1ap-CompletedCellinTAI-Item.c	\
-	S1ap-TBCD-STRING.c	\
-	S1ap-TargetID.c	\
-	S1ap-TargeteNB-ID.c	\
-	S1ap-TargetRNC-ID.c	\
-	S1ap-TargeteNB-ToSourceeNB-TransparentContainer.c	\
-	S1ap-Target-ToSource-TransparentContainer.c	\
-	S1ap-TargetRNC-ToSourceRNC-TransparentContainer.c	\
-	S1ap-TargetBSS-ToSourceBSS-TransparentContainer.c	\
-	S1ap-TimeToWait.c	\
-	S1ap-Time-UE-StayedInCell.c	\
-	S1ap-TransportLayerAddress.c	\
-	S1ap-TraceActivation.c	\
-	S1ap-TraceDepth.c	\
-	S1ap-E-UTRAN-Trace-ID.c	\
-	S1ap-TypeOfError.c	\
-	S1ap-UEAggregateMaximumBitrate.c	\
-	S1ap-UE-S1AP-IDs.c	\
-	S1ap-UE-S1AP-ID-pair.c	\
-	S1ap-UE-associatedLogicalS1-ConnectionListRes.c	\
-	S1ap-UE-associatedLogicalS1-ConnectionListResAck.c	\
-	S1ap-UE-associatedLogicalS1-ConnectionItem.c	\
-	S1ap-UEIdentityIndexValue.c	\
-	S1ap-UE-HistoryInformation.c	\
-	S1ap-UEPagingID.c	\
-	S1ap-UERadioCapability.c	\
-	S1ap-UESecurityCapabilities.c	\
-	S1ap-WarningAreaList.c	\
-	S1ap-WarningType.c	\
-	S1ap-WarningSecurityInfo.c	\
-	S1ap-WarningMessageContents.c	\
-	S1ap-X2TNLConfigurationInfo.c	\
-	S1AP-PDU.c	\
-	S1ap-InitiatingMessage.c	\
-	S1ap-SuccessfulOutcome.c	\
-	S1ap-UnsuccessfulOutcome.c	\
-	S1ap-HandoverRequired.c	\
-	S1ap-HandoverCommand.c	\
-	S1ap-HandoverPreparationFailure.c	\
-	S1ap-HandoverRequest.c	\
-	S1ap-HandoverRequestAcknowledge.c	\
-	S1ap-HandoverFailure.c	\
-	S1ap-HandoverNotify.c	\
-	S1ap-PathSwitchRequest.c	\
-	S1ap-PathSwitchRequestAcknowledge.c	\
-	S1ap-PathSwitchRequestFailure.c	\
-	S1ap-E-RABSetupRequest.c	\
-	S1ap-E-RABSetupResponse.c	\
-	S1ap-E-RABModifyRequest.c	\
-	S1ap-E-RABModifyResponse.c	\
-	S1ap-E-RABReleaseIndication.c	\
-	S1ap-E-RABReleaseCommand.c	\
-	S1ap-E-RABReleaseResponse.c	\
-	S1ap-InitialContextSetupRequest.c	\
-	S1ap-InitialContextSetupResponse.c	\
-	S1ap-InitialContextSetupFailure.c	\
-	S1ap-UEContextReleaseRequest.c	\
-	S1ap-Paging.c	\
-	S1ap-DownlinkNASTransport.c	\
-	S1ap-InitialUEMessage.c	\
-	S1ap-UplinkNASTransport.c	\
-	S1ap-NASNonDeliveryIndication.c	\
-	S1ap-HandoverCancel.c	\
-	S1ap-HandoverCancelAcknowledge.c	\
-	S1ap-Reset.c	\
-	S1ap-ResetAcknowledge.c	\
-	S1ap-S1SetupResponse.c	\
-	S1ap-S1SetupRequest.c	\
-	S1ap-S1SetupFailure.c	\
-	S1ap-ErrorIndication.c	\
-	S1ap-ENBConfigurationUpdate.c	\
-	S1ap-ENBConfigurationUpdateAcknowledge.c	\
-	S1ap-ENBConfigurationUpdateFailure.c	\
-	S1ap-MMEConfigurationUpdate.c	\
-	S1ap-MMEConfigurationUpdateAcknowledge.c	\
-	S1ap-MMEConfigurationUpdateFailure.c	\
-	S1ap-DownlinkS1cdma2000tunneling.c	\
-	S1ap-UplinkS1cdma2000tunneling.c	\
-	S1ap-UEContextModificationRequest.c	\
-	S1ap-UEContextModificationResponse.c	\
-	S1ap-UEContextModificationFailure.c	\
-	S1ap-UECapabilityInfoIndication.c	\
-	S1ap-UEContextReleaseCommand.c	\
-	S1ap-UEContextReleaseComplete.c	\
-	S1ap-ENBStatusTransfer.c	\
-	S1ap-MMEStatusTransfer.c	\
-	S1ap-DeactivateTrace.c	\
-	S1ap-TraceStart.c	\
-	S1ap-TraceFailureIndication.c	\
-	S1ap-CellTrafficTrace.c	\
-	S1ap-LocationReportingControl.c	\
-	S1ap-LocationReportingFailureIndication.c	\
-	S1ap-LocationReport.c	\
-	S1ap-OverloadStart.c	\
-	S1ap-OverloadStop.c	\
-	S1ap-WriteReplaceWarningRequest.c	\
-	S1ap-WriteReplaceWarningResponse.c	\
-	S1ap-ENBDirectInformationTransfer.c	\
-	S1ap-MMEDirectInformationTransfer.c	\
-	S1ap-ENBConfigurationTransfer.c	\
-	S1ap-MMEConfigurationTransfer.c	\
-	S1ap-PrivateMessage.c	\
-	S1ap-IE.c	\
-	S1ap-IE-Extensions.c
-
-ASN_MODULE_HEADERS=	\
-	S1ap-Criticality.h	\
-	S1ap-Presence.h	\
-	S1ap-PrivateIE-ID.h	\
-	S1ap-ProcedureCode.h	\
-	S1ap-ProtocolExtensionID.h	\
-	S1ap-ProtocolIE-ID.h	\
-	S1ap-TriggeringMessage.h	\
-	S1ap-AllocationAndRetentionPriority.h	\
-	S1ap-Bearers-SubjectToStatusTransfer-List.h	\
-	S1ap-Bearers-SubjectToStatusTransfer-Item.h	\
-	S1ap-BitRate.h	\
-	S1ap-BPLMNs.h	\
-	S1ap-BroadcastCompletedAreaList.h	\
-	S1ap-Cause.h	\
-	S1ap-CauseMisc.h	\
-	S1ap-CauseProtocol.h	\
-	S1ap-CauseRadioNetwork.h	\
-	S1ap-CauseTransport.h	\
-	S1ap-CauseNas.h	\
-	S1ap-CellIdentity.h	\
-	S1ap-CellID-Broadcast.h	\
-	S1ap-CellID-Broadcast-Item.h	\
-	S1ap-Cdma2000PDU.h	\
-	S1ap-Cdma2000RATType.h	\
-	S1ap-Cdma2000SectorID.h	\
-	S1ap-Cdma2000HOStatus.h	\
-	S1ap-Cdma2000HORequiredIndication.h	\
-	S1ap-Cdma2000OneXSRVCCInfo.h	\
-	S1ap-Cdma2000OneXMEID.h	\
-	S1ap-Cdma2000OneXMSI.h	\
-	S1ap-Cdma2000OneXPilot.h	\
-	S1ap-Cdma2000OneXRAND.h	\
-	S1ap-Cell-Size.h	\
-	S1ap-CellType.h	\
-	S1ap-CGI.h	\
-	S1ap-CI.h	\
-	S1ap-CNDomain.h	\
-	S1ap-CSFallbackIndicator.h	\
-	S1ap-CSG-Id.h	\
-	S1ap-CSG-IdList.h	\
-	S1ap-CSG-IdList-Item.h	\
-	S1ap-COUNTvalue.h	\
-	S1ap-CriticalityDiagnostics.h	\
-	S1ap-CriticalityDiagnostics-IE-List.h	\
-	S1ap-CriticalityDiagnostics-IE-Item.h	\
-	S1ap-DataCodingScheme.h	\
-	S1ap-DL-Forwarding.h	\
-	S1ap-Direct-Forwarding-Path-Availability.h	\
-	S1ap-E-RABToBeModifiedListBearerModReq.h	\
-	S1ap-E-RABToBeModifiedItemBearerModReq.h	\
-	S1ap-E-RABReleaseListBearerRelComp.h	\
-	S1ap-E-RABReleaseItemBearerRelComp.h	\
-	S1ap-E-RABDataForwardingList.h	\
-	S1ap-E-RABDataForwardingItem.h	\
-	S1ap-E-RABToBeSetupListCtxtSUReq.h	\
-	S1ap-E-RABToBeSetupItemCtxtSUReq.h	\
-	S1ap-E-RABSetupListBearerSURes.h	\
-	S1ap-E-RABSetupItemBearerSURes.h	\
-	S1ap-E-RABFailedToSetupListHOReqAck.h	\
-	S1ap-E-RABFailedToSetupItemHOReqAck.h	\
-	S1ap-E-RABToBeSetupListBearerSUReq.h	\
-	S1ap-E-RABToBeSetupItemBearerSUReq.h	\
-	S1ap-E-RABAdmittedList.h	\
-	S1ap-E-RABAdmittedItem.h	\
-	S1ap-E-RABToBeSwitchedDLList.h	\
-	S1ap-E-RABToBeSwitchedDLItem.h	\
-	S1ap-E-RABToBeSwitchedULList.h	\
-	S1ap-E-RABToBeSwitchedULItem.h	\
-	S1ap-E-RABModifyListBearerModRes.h	\
-	S1ap-E-RABModifyItemBearerModRes.h	\
-	S1ap-E-RABSetupListCtxtSURes.h	\
-	S1ap-E-RABSetupItemCtxtSURes.h	\
-	S1ap-E-RABToBeSetupListHOReq.h	\
-	S1ap-E-RABToBeSetupItemHOReq.h	\
-	S1ap-ECGIList.h	\
-	S1ap-EmergencyAreaIDList.h	\
-	S1ap-EmergencyAreaID.h	\
-	S1ap-EmergencyAreaID-Broadcast.h	\
-	S1ap-EmergencyAreaID-Broadcast-Item.h	\
-	S1ap-CompletedCellinEAI.h	\
-	S1ap-CompletedCellinEAI-Item.h	\
-	S1ap-ENB-ID.h	\
-	S1ap-GERAN-Cell-ID.h	\
-	S1ap-Global-ENB-ID.h	\
-	S1ap-ENB-StatusTransfer-TransparentContainer.h	\
-	S1ap-ENB-UE-S1AP-ID.h	\
-	S1ap-ENBname.h	\
-	S1ap-ENBX2TLAs.h	\
-	S1ap-EncryptionAlgorithms.h	\
-	S1ap-EPLMNs.h	\
-	S1ap-EventType.h	\
-	S1ap-E-RAB-ID.h	\
-	S1ap-E-RABInformationList.h	\
-	S1ap-E-RABInformationListItem.h	\
-	S1ap-E-RABList.h	\
-	S1ap-E-RABItem.h	\
-	S1ap-E-RABLevelQoSParameters.h	\
-	S1ap-EUTRAN-CGI.h	\
-	S1ap-ExtendedRNC-ID.h	\
-	S1ap-ForbiddenInterRATs.h	\
-	S1ap-ForbiddenTAs.h	\
-	S1ap-ForbiddenTAs-Item.h	\
-	S1ap-ForbiddenTACs.h	\
-	S1ap-ForbiddenLAs.h	\
-	S1ap-ForbiddenLAs-Item.h	\
-	S1ap-ForbiddenLACs.h	\
-	S1ap-GBR-QosInformation.h	\
-	S1ap-GTP-TEID.h	\
-	S1ap-GUMMEI.h	\
-	S1ap-HandoverRestrictionList.h	\
-	S1ap-HandoverType.h	\
-	S1ap-HFN.h	\
-	S1ap-HandoverNotify.h	\
-	S1ap-Inter-SystemInformationTransferType.h	\
-	S1ap-IMSI.h	\
-	S1ap-IntegrityProtectionAlgorithms.h	\
-	S1ap-InterfacesToTrace.h	\
-	S1ap-LAC.h	\
-	S1ap-LAI.h	\
-	S1ap-LastVisitedCell-Item.h	\
-	S1ap-LastVisitedEUTRANCellInformation.h	\
-	S1ap-LastVisitedUTRANCellInformation.h	\
-	S1ap-LastVisitedGERANCellInformation.h	\
-	S1ap-L3-Information.h	\
-	S1ap-MessageIdentifier.h	\
-	S1ap-MMEname.h	\
-	S1ap-MME-Group-ID.h	\
-	S1ap-MME-Code.h	\
-	S1ap-MME-UE-S1AP-ID.h	\
-	S1ap-M-TMSI.h	\
-	S1ap-MSClassmark2.h	\
-	S1ap-MSClassmark3.h	\
-	S1ap-NAS-PDU.h	\
-	S1ap-NASSecurityParametersfromE-UTRAN.h	\
-	S1ap-NASSecurityParameterstoE-UTRAN.h	\
-	S1ap-NumberofBroadcastRequest.h	\
-	S1ap-NumberOfBroadcasts.h	\
-	S1ap-OldBSS-ToNewBSS-Information.h	\
-	S1ap-OverloadAction.h	\
-	S1ap-OverloadResponse.h	\
-	S1ap-PagingDRX.h	\
-	S1ap-PDCP-SN.h	\
-	S1ap-PLMNidentity.h	\
-	S1ap-Pre-emptionCapability.h	\
-	S1ap-Pre-emptionVulnerability.h	\
-	S1ap-PriorityLevel.h	\
-	S1ap-QCI.h	\
-	S1ap-ReceiveStatusofULPDCPSDUs.h	\
-	S1ap-RelativeMMECapacity.h	\
-	S1ap-RAC.h	\
-	S1ap-RequestType.h	\
-	S1ap-ResetType.h	\
-	S1ap-ResetAll.h	\
-	S1ap-RIMTransfer.h	\
-	S1ap-RIMInformation.h	\
-	S1ap-RIMRoutingAddress.h	\
-	S1ap-ReportArea.h	\
-	S1ap-RepetitionPeriod.h	\
-	S1ap-RNC-ID.h	\
-	S1ap-RRC-Container.h	\
-	S1ap-RRC-Establishment-Cause.h	\
-	S1ap-SecurityKey.h	\
-	S1ap-SecurityContext.h	\
-	S1ap-SerialNumber.h	\
-	S1ap-SONInformation.h	\
-	S1ap-SONInformationRequest.h	\
-	S1ap-SONInformationReply.h	\
-	S1ap-SONConfigurationTransfer.h	\
-	S1ap-Source-ToTarget-TransparentContainer.h	\
-	S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h	\
-	S1ap-SourceeNB-ID.h	\
-	S1ap-SRVCCOperationPossible.h	\
-	S1ap-SRVCCHOIndication.h	\
-	S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h	\
-	S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h	\
-	S1ap-ServedGUMMEIs.h	\
-	S1ap-ServedGUMMEIsItem.h	\
-	S1ap-ServedGroupIDs.h	\
-	S1ap-ServedMMECs.h	\
-	S1ap-ServedPLMNs.h	\
-	S1ap-SubscriberProfileIDforRFP.h	\
-	S1ap-SupportedTAs.h	\
-	S1ap-SupportedTAs-Item.h	\
-	S1ap-S-TMSI.h	\
-	S1ap-TAC.h	\
-	S1ap-TAIListforWarning.h	\
-	S1ap-TAIList.h	\
-	S1ap-TAIItem.h	\
-	S1ap-TAI.h	\
-	S1ap-TAI-Broadcast.h	\
-	S1ap-TAI-Broadcast-Item.h	\
-	S1ap-CompletedCellinTAI.h	\
-	S1ap-CompletedCellinTAI-Item.h	\
-	S1ap-TBCD-STRING.h	\
-	S1ap-TargetID.h	\
-	S1ap-TargeteNB-ID.h	\
-	S1ap-TargetRNC-ID.h	\
-	S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h	\
-	S1ap-Target-ToSource-TransparentContainer.h	\
-	S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h	\
-	S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h	\
-	S1ap-TimeToWait.h	\
-	S1ap-Time-UE-StayedInCell.h	\
-	S1ap-TransportLayerAddress.h	\
-	S1ap-TraceActivation.h	\
-	S1ap-TraceDepth.h	\
-	S1ap-E-UTRAN-Trace-ID.h	\
-	S1ap-TypeOfError.h	\
-	S1ap-UEAggregateMaximumBitrate.h	\
-	S1ap-UE-S1AP-IDs.h	\
-	S1ap-UE-S1AP-ID-pair.h	\
-	S1ap-UE-associatedLogicalS1-ConnectionListRes.h	\
-	S1ap-UE-associatedLogicalS1-ConnectionListResAck.h	\
-	S1ap-UE-associatedLogicalS1-ConnectionItem.h	\
-	S1ap-UEIdentityIndexValue.h	\
-	S1ap-UE-HistoryInformation.h	\
-	S1ap-UEPagingID.h	\
-	S1ap-UERadioCapability.h	\
-	S1ap-UESecurityCapabilities.h	\
-	S1ap-WarningAreaList.h	\
-	S1ap-WarningType.h	\
-	S1ap-WarningSecurityInfo.h	\
-	S1ap-WarningMessageContents.h	\
-	S1ap-X2TNLConfigurationInfo.h	\
-	S1AP-PDU.h	\
-	S1ap-InitiatingMessage.h	\
-	S1ap-SuccessfulOutcome.h	\
-	S1ap-UnsuccessfulOutcome.h	\
-	S1ap-HandoverRequired.h	\
-	S1ap-HandoverCommand.h	\
-	S1ap-HandoverPreparationFailure.h	\
-	S1ap-HandoverRequest.h	\
-	S1ap-HandoverRequestAcknowledge.h	\
-	S1ap-HandoverFailure.h	\
-	S1ap-PathSwitchRequest.h	\
-	S1ap-PathSwitchRequestAcknowledge.h	\
-	S1ap-PathSwitchRequestFailure.h	\
-	S1ap-E-RABSetupRequest.h	\
-	S1ap-E-RABSetupResponse.h	\
-	S1ap-E-RABModifyRequest.h	\
-	S1ap-E-RABModifyResponse.h	\
-	S1ap-E-RABReleaseIndication.h	\
-	S1ap-E-RABReleaseCommand.h	\
-	S1ap-E-RABReleaseResponse.h	\
-	S1ap-InitialContextSetupRequest.h	\
-	S1ap-InitialContextSetupResponse.h	\
-	S1ap-InitialContextSetupFailure.h	\
-	S1ap-UEContextReleaseRequest.h	\
-	S1ap-Paging.h	\
-	S1ap-DownlinkNASTransport.h	\
-	S1ap-InitialUEMessage.h	\
-	S1ap-UplinkNASTransport.h	\
-	S1ap-NASNonDeliveryIndication.h	\
-	S1ap-HandoverCancel.h	\
-	S1ap-HandoverCancelAcknowledge.h	\
-	S1ap-Reset.h	\
-	S1ap-ResetAcknowledge.h	\
-	S1ap-S1SetupResponse.h	\
-	S1ap-S1SetupRequest.h	\
-	S1ap-S1SetupFailure.h	\
-	S1ap-ErrorIndication.h	\
-	S1ap-ENBConfigurationUpdate.h	\
-	S1ap-ENBConfigurationUpdateAcknowledge.h	\
-	S1ap-ENBConfigurationUpdateFailure.h	\
-	S1ap-MMEConfigurationUpdate.h	\
-	S1ap-MMEConfigurationUpdateAcknowledge.h	\
-	S1ap-MMEConfigurationUpdateFailure.h	\
-	S1ap-DownlinkS1cdma2000tunneling.h	\
-	S1ap-UplinkS1cdma2000tunneling.h	\
-	S1ap-UEContextModificationRequest.h	\
-	S1ap-UEContextModificationResponse.h	\
-	S1ap-UEContextModificationFailure.h	\
-	S1ap-UECapabilityInfoIndication.h	\
-	S1ap-UEContextReleaseCommand.h	\
-	S1ap-UEContextReleaseComplete.h	\
-	S1ap-ENBStatusTransfer.h	\
-	S1ap-MMEStatusTransfer.h	\
-	S1ap-DeactivateTrace.h	\
-	S1ap-TraceStart.h	\
-	S1ap-TraceFailureIndication.h	\
-	S1ap-CellTrafficTrace.h	\
-	S1ap-LocationReportingControl.h	\
-	S1ap-LocationReportingFailureIndication.h	\
-	S1ap-LocationReport.h	\
-	S1ap-OverloadStart.h	\
-	S1ap-OverloadStop.h	\
-	S1ap-WriteReplaceWarningRequest.h	\
-	S1ap-WriteReplaceWarningResponse.h	\
-	S1ap-ENBDirectInformationTransfer.h	\
-	S1ap-MMEDirectInformationTransfer.h	\
-	S1ap-ENBConfigurationTransfer.h	\
-	S1ap-MMEConfigurationTransfer.h	\
-	S1ap-PrivateMessage.h	\
-	S1ap-IE.h	\
-	S1ap-IE-Extensions.h
-
-ASN_MODULE_HEADERS+=ANY.h
-ASN_MODULE_SOURCES+=ANY.c
-ASN_MODULE_HEADERS+=BOOLEAN.h
-ASN_MODULE_SOURCES+=BOOLEAN.c
-ASN_MODULE_HEADERS+=INTEGER.h
-ASN_MODULE_HEADERS+=NativeEnumerated.h
-ASN_MODULE_SOURCES+=INTEGER.c
-ASN_MODULE_HEADERS+=NULL.h
-ASN_MODULE_SOURCES+=NULL.c
-ASN_MODULE_SOURCES+=NativeEnumerated.c
-ASN_MODULE_HEADERS+=NativeInteger.h
-ASN_MODULE_SOURCES+=NativeInteger.c
-ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h
-ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.c
-ASN_MODULE_HEADERS+=PrintableString.h
-ASN_MODULE_SOURCES+=PrintableString.c
-ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
-ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
-ASN_MODULE_HEADERS+=asn_SET_OF.h
-ASN_MODULE_SOURCES+=asn_SET_OF.c
-ASN_MODULE_HEADERS+=constr_CHOICE.h
-ASN_MODULE_SOURCES+=constr_CHOICE.c
-ASN_MODULE_HEADERS+=constr_SEQUENCE.h
-ASN_MODULE_SOURCES+=constr_SEQUENCE.c
-ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
-ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
-ASN_MODULE_HEADERS+=constr_SET_OF.h
-ASN_MODULE_SOURCES+=constr_SET_OF.c
-ASN_MODULE_HEADERS+=asn_application.h
-ASN_MODULE_HEADERS+=asn_system.h
-ASN_MODULE_HEADERS+=asn_codecs.h
-ASN_MODULE_HEADERS+=asn_internal.h
-ASN_MODULE_HEADERS+=OCTET_STRING.h
-ASN_MODULE_SOURCES+=OCTET_STRING.c
-ASN_MODULE_HEADERS+=BIT_STRING.h
-ASN_MODULE_SOURCES+=BIT_STRING.c
-ASN_MODULE_SOURCES+=asn_codecs_prim.c
-ASN_MODULE_HEADERS+=asn_codecs_prim.h
-ASN_MODULE_HEADERS+=ber_tlv_length.h
-ASN_MODULE_SOURCES+=ber_tlv_length.c
-ASN_MODULE_HEADERS+=ber_tlv_tag.h
-ASN_MODULE_SOURCES+=ber_tlv_tag.c
-ASN_MODULE_HEADERS+=ber_decoder.h
-ASN_MODULE_SOURCES+=ber_decoder.c
-ASN_MODULE_HEADERS+=der_encoder.h
-ASN_MODULE_SOURCES+=der_encoder.c
-ASN_MODULE_HEADERS+=constr_TYPE.h
-ASN_MODULE_SOURCES+=constr_TYPE.c
-ASN_MODULE_HEADERS+=constraints.h
-ASN_MODULE_SOURCES+=constraints.c
-ASN_MODULE_HEADERS+=xer_support.h
-ASN_MODULE_SOURCES+=xer_support.c
-ASN_MODULE_HEADERS+=xer_decoder.h
-ASN_MODULE_SOURCES+=xer_decoder.c
-ASN_MODULE_HEADERS+=xer_encoder.h
-ASN_MODULE_SOURCES+=xer_encoder.c
-ASN_MODULE_HEADERS+=per_support.h
-ASN_MODULE_SOURCES+=per_support.c
-ASN_MODULE_HEADERS+=per_decoder.h
-ASN_MODULE_SOURCES+=per_decoder.c
-ASN_MODULE_HEADERS+=per_encoder.h
-ASN_MODULE_SOURCES+=per_encoder.c
-ASN_MODULE_HEADERS+=per_opentype.h
-ASN_MODULE_SOURCES+=per_opentype.c
-
-if UPDATE_RELEASE_9
-ASN_MODULE_SOURCES += \
-	S1ap-KillResponse.c	\
-	S1ap-KillRequest.c	\
-	S1ap-Data-Forwarding-Not-Possible.c	\
-	S1ap-DownlinkUEAssociatedLPPaTransport.c	\
-	S1ap-UplinkUEAssociatedLPPaTransport.c	\
-	S1ap-DownlinkNonUEAssociatedLPPaTransport.c	\
-	S1ap-UplinkNonUEAssociatedLPPaTransport.c	\
-	S1ap-TAI-Cancelled.c	\
-	S1ap-TAI-Cancelled-Item.c	\
-	S1ap-StratumLevel.c	\
-	S1ap-SynchronizationStatus.c	\
-	S1ap-TimeSynchronizationInfo.c	\
-	S1ap-Routing-ID.c	\
-	S1ap-PS-ServiceNotAvailable.c	\
-	S1ap-LPPa-PDU.c	\
-	S1ap-ExtendedRepetitionPeriod.c	\
-	S1ap-EUTRANRoundTripDelayEstimationInfo.c	\
-	S1ap-EmergencyAreaID-Cancelled.c	\
-	S1ap-EmergencyAreaID-Cancelled-Item.c	\
-	S1ap-CSGMembershipStatus.c	\
-	S1ap-ConcurrentWarningMessageIndicator.c	\
-	S1ap-CellID-Cancelled.c	\
-	S1ap-CellID-Cancelled-Item.c	\
-	S1ap-CellAccessMode.c	\
-	S1ap-CancelledCellinEAI.c	\
-	S1ap-CancelledCellinEAI-Item.c	\
-	S1ap-CancelledCellinTAI.c	\
-	S1ap-CancelledCellinTAI-Item.c	\
-	S1ap-BroadcastCancelledAreaList.c
-
-ASN_MODULE_HEADERS += \
-	S1ap-BroadcastCancelledAreaList.h	\
-	S1ap-CancelledCellinEAI.h	\
-	S1ap-CancelledCellinEAI-Item.h	\
-	S1ap-CancelledCellinTAI.h	\
-	S1ap-CancelledCellinTAI-Item.h	\
-	S1ap-CellAccessMode.h	\
-	S1ap-CellID-Cancelled.h	\
-	S1ap-CellID-Cancelled-Item.h	\
-	S1ap-ConcurrentWarningMessageIndicator.h	\
-	S1ap-CSGMembershipStatus.h	\
-	S1ap-Data-Forwarding-Not-Possible.h	\
-	S1ap-EmergencyAreaID-Cancelled.h	\
-	S1ap-EmergencyAreaID-Cancelled-Item.h	\
-	S1ap-E-RABList.h	\
-	S1ap-EUTRANRoundTripDelayEstimationInfo.h	\
-	S1ap-ExtendedRepetitionPeriod.h	\
-	S1ap-LPPa-PDU.h	\
-	S1ap-PS-ServiceNotAvailable.h	\
-	S1ap-Routing-ID.h	\
-	S1ap-StratumLevel.h	\
-	S1ap-SynchronizationStatus.h	\
-	S1ap-TimeSynchronizationInfo.h	\
-	S1ap-TAI-Cancelled.h	\
-	S1ap-TAI-Cancelled-Item.h	\
-	S1ap-KillResponse.h	\
-	S1ap-KillRequest.h	\
-	S1ap-DownlinkUEAssociatedLPPaTransport.h	\
-	S1ap-UplinkUEAssociatedLPPaTransport.h	\
-	S1ap-DownlinkNonUEAssociatedLPPaTransport.h	\
-	S1ap-UplinkNonUEAssociatedLPPaTransport.h
-endif
-
-if UPDATE_RELEASE_10
-ASN_MODULE_SOURCES += \
-	S1ap-PagingPriority.c	\
-	S1ap-RelayNode-Indicator.c	\
-	S1ap-GWContextReleaseIndication.c	\
-	S1ap-MMERelaySupportIndicator.c	\
-	S1ap-ManagementBasedMDTAllowed.c	\
-	S1ap-PrivacyIndicator.c	\
-	S1ap-TrafficLoadReductionIndication.c	\
-	S1ap-GUMMEIList.c
-	
-ASN_MODULE_HEADERS += \
-	S1ap-PagingPriority.h	\
-	S1ap-RelayNode-Indicator.h	\
-	S1ap-GWContextReleaseIndication.h	\
-	S1ap-MMERelaySupportIndicator.h	\
-	S1ap-ManagementBasedMDTAllowed.h	\
-	S1ap-PrivacyIndicator.h	\
-	S1ap-TrafficLoadReductionIndication.h	\
-	S1ap-GUMMEIList.h
-endif
-
-noinst_LTLIBRARIES = libs1apmessages.la
-libs1apmessages_la_LDFLAGS = -all-static
-
-BUILT_SOURCES = asn1regen.stamp
-
-AM_CFLAGS =				\
-	@ADD_CFLAGS@ 			\
-	-DEMIT_ASN_DEBUG_EXTERN
-
-libs1apmessages_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
-
-asn1regen.stamp: ASN1/$(ASN1DIR)/S1AP-CommonDataTypes.asn ASN1/$(ASN1DIR)/S1AP-Constants.asn ASN1/$(ASN1DIR)/S1AP-IEs.asn ASN1/$(ASN1DIR)/S1AP-PDU.asn
-	asn1c -gen-PER -fhave_native64 $^
-	echo Timestamp > $@
-
-clean-messages:
-	rm -f *.lo
-
-clean-local:
-	rm -f asn1regen.stamp
-	rm -f Makefile.am.sample
-	rm -f converter-sample.c
-	rm -f $(ASN_MODULE_SOURCES)
-	rm -f $(ASN_MODULE_HEADERS)
-	rm -f $(ASN_MODULE_HEADERS_IES)
diff --git a/openair-cn/S1AP/MESSAGES/Makefile.inc b/openair-cn/S1AP/MESSAGES/Makefile.inc
deleted file mode 100644
index e0a780d54110356a95266250fdbf2901af324dec..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/MESSAGES/Makefile.inc
+++ /dev/null
@@ -1,784 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-S1AP_ASN_MODULE_SOURCES= \
-    S1ap-Criticality.o   \
-    S1ap-Presence.o  \
-    S1ap-PrivateIE-ID.o  \
-    S1ap-ProcedureCode.o \
-    S1ap-ProtocolExtensionID.o   \
-    S1ap-ProtocolIE-ID.o \
-    S1ap-TriggeringMessage.o \
-    S1ap-IE-Extensions.o \
-    S1ap-AllocationAndRetentionPriority.o    \
-    S1ap-Bearers-SubjectToStatusTransfer-List.o   \
-    S1ap-Bearers-SubjectToStatusTransfer-Item.o  \
-    S1ap-BitRate.o   \
-    S1ap-BPLMNs.o    \
-    S1ap-BroadcastCompletedAreaList.o    \
-    S1ap-Cause.o \
-    S1ap-CauseMisc.o \
-    S1ap-CauseProtocol.o \
-    S1ap-CauseRadioNetwork.o \
-    S1ap-CauseTransport.o    \
-    S1ap-CauseNas.o  \
-    S1ap-CellIdentity.o  \
-    S1ap-CellID-Broadcast.o  \
-    S1ap-CellID-Broadcast-Item.o \
-    S1ap-Cdma2000PDU.o   \
-    S1ap-Cdma2000RATType.o   \
-    S1ap-Cdma2000SectorID.o  \
-    S1ap-Cdma2000HOStatus.o  \
-    S1ap-Cdma2000HORequiredIndication.o  \
-    S1ap-Cdma2000OneXSRVCCInfo.o \
-    S1ap-Cdma2000OneXMEID.o  \
-    S1ap-Cdma2000OneXMSI.o   \
-    S1ap-Cdma2000OneXPilot.o \
-    S1ap-Cdma2000OneXRAND.o  \
-    S1ap-Cell-Size.o \
-    S1ap-CellType.o  \
-    S1ap-CGI.o   \
-    S1ap-CI.o    \
-    S1ap-CNDomain.o  \
-    S1ap-CSFallbackIndicator.o   \
-    S1ap-CSG-Id.o    \
-    S1ap-CSG-IdList.o    \
-    S1ap-CSG-IdList-Item.o   \
-    S1ap-COUNTvalue.o    \
-    S1ap-CriticalityDiagnostics.o    \
-    S1ap-CriticalityDiagnostics-IE-List.o    \
-    S1ap-CriticalityDiagnostics-IE-Item.o    \
-    S1ap-DataCodingScheme.o  \
-    S1ap-DL-Forwarding.o \
-    S1ap-Direct-Forwarding-Path-Availability.o   \
-    S1ap-E-RABToBeModifiedListBearerModReq.o \
-    S1ap-E-RABToBeModifiedItemBearerModReq.o \
-    S1ap-E-RABReleaseListBearerRelComp.o \
-    S1ap-E-RABReleaseItemBearerRelComp.o \
-    S1ap-E-RABDataForwardingList.o   \
-    S1ap-E-RABDataForwardingItem.o   \
-    S1ap-E-RABToBeSetupListCtxtSUReq.o   \
-    S1ap-E-RABToBeSetupItemCtxtSUReq.o   \
-    S1ap-E-RABSetupListBearerSURes.o \
-    S1ap-E-RABSetupItemBearerSURes.o \
-    S1ap-E-RABFailedToSetupListHOReqAck.o    \
-    S1ap-E-RABFailedToSetupItemHOReqAck.o    \
-    S1ap-E-RABToBeSetupListBearerSUReq.o \
-    S1ap-E-RABToBeSetupItemBearerSUReq.o \
-    S1ap-E-RABAdmittedList.o \
-    S1ap-E-RABAdmittedItem.o \
-    S1ap-E-RABToBeSwitchedDLList.o   \
-    S1ap-E-RABToBeSwitchedDLItem.o   \
-    S1ap-E-RABToBeSwitchedULList.o   \
-    S1ap-E-RABToBeSwitchedULItem.o   \
-    S1ap-E-RABModifyListBearerModRes.o   \
-    S1ap-E-RABModifyItemBearerModRes.o   \
-    S1ap-E-RABSetupListCtxtSURes.o   \
-    S1ap-E-RABSetupItemCtxtSURes.o   \
-    S1ap-E-RABToBeSetupListHOReq.o   \
-    S1ap-E-RABToBeSetupItemHOReq.o   \
-    S1ap-ECGIList.o  \
-    S1ap-EmergencyAreaIDList.o   \
-    S1ap-EmergencyAreaID.o   \
-    S1ap-EmergencyAreaID-Broadcast.o \
-    S1ap-EmergencyAreaID-Broadcast-Item.o    \
-    S1ap-CompletedCellinEAI.o    \
-    S1ap-CompletedCellinEAI-Item.o   \
-    S1ap-ENB-ID.o    \
-    S1ap-GERAN-Cell-ID.o \
-    S1ap-Global-ENB-ID.o \
-    S1ap-ENB-StatusTransfer-TransparentContainer.o   \
-    S1ap-ENB-UE-S1AP-ID.o    \
-    S1ap-ENBname.o   \
-    S1ap-ENBX2TLAs.o \
-    S1ap-EncryptionAlgorithms.o  \
-    S1ap-EPLMNs.o    \
-    S1ap-EventType.o \
-    S1ap-E-RAB-ID.o  \
-    S1ap-E-RABInformationList.o  \
-    S1ap-E-RABInformationListItem.o  \
-    S1ap-E-RABList.o \
-    S1ap-E-RABItem.o \
-    S1ap-E-RABLevelQoSParameters.o   \
-    S1ap-EUTRAN-CGI.o    \
-    S1ap-ExtendedRNC-ID.o    \
-    S1ap-ForbiddenInterRATs.o    \
-    S1ap-ForbiddenTAs.o  \
-    S1ap-ForbiddenTAs-Item.o \
-    S1ap-ForbiddenTACs.o \
-    S1ap-ForbiddenLAs.o  \
-    S1ap-ForbiddenLAs-Item.o \
-    S1ap-ForbiddenLACs.o \
-    S1ap-GBR-QosInformation.o    \
-    S1ap-GTP-TEID.o  \
-    S1ap-GUMMEI.o    \
-    S1ap-HandoverRestrictionList.o   \
-    S1ap-HandoverType.o  \
-    S1ap-HFN.o   \
-    S1ap-Inter-SystemInformationTransferType.o   \
-    S1ap-IMSI.o  \
-    S1ap-IntegrityProtectionAlgorithms.o \
-    S1ap-InterfacesToTrace.o \
-    S1ap-LAC.o   \
-    S1ap-LAI.o   \
-    S1ap-LastVisitedCell-Item.o  \
-    S1ap-LastVisitedEUTRANCellInformation.o  \
-    S1ap-LastVisitedUTRANCellInformation.o   \
-    S1ap-LastVisitedGERANCellInformation.o   \
-    S1ap-L3-Information.o    \
-    S1ap-MessageIdentifier.o \
-    S1ap-MMEname.o   \
-    S1ap-MME-Group-ID.o  \
-    S1ap-MME-Code.o  \
-    S1ap-MME-UE-S1AP-ID.o    \
-    S1ap-M-TMSI.o    \
-    S1ap-MSClassmark2.o  \
-    S1ap-MSClassmark3.o  \
-    S1ap-NAS-PDU.o   \
-    S1ap-NASSecurityParametersfromE-UTRAN.o  \
-    S1ap-NASSecurityParameterstoE-UTRAN.o    \
-    S1ap-NumberofBroadcastRequest.o  \
-    S1ap-NumberOfBroadcasts.o \
-    S1ap-OldBSS-ToNewBSS-Information.o   \
-    S1ap-OverloadAction.o    \
-    S1ap-OverloadResponse.o  \
-    S1ap-PagingDRX.o \
-    S1ap-PDCP-SN.o   \
-    S1ap-PLMNidentity.o  \
-    S1ap-Pre-emptionCapability.o \
-    S1ap-Pre-emptionVulnerability.o  \
-    S1ap-PriorityLevel.o \
-    S1ap-QCI.o   \
-    S1ap-ReceiveStatusofULPDCPSDUs.o \
-    S1ap-RelativeMMECapacity.o   \
-    S1ap-RAC.o   \
-    S1ap-RequestType.o   \
-    S1ap-ResetType.o \
-    S1ap-ResetAll.o  \
-    S1ap-RIMTransfer.o   \
-    S1ap-RIMInformation.o    \
-    S1ap-RIMRoutingAddress.o \
-    S1ap-ReportArea.o    \
-    S1ap-RepetitionPeriod.o  \
-    S1ap-RNC-ID.o    \
-    S1ap-RRC-Container.o \
-    S1ap-RRC-Establishment-Cause.o   \
-    S1ap-SecurityKey.o   \
-    S1ap-SecurityContext.o   \
-    S1ap-SerialNumber.o  \
-    S1ap-SONInformation.o    \
-    S1ap-SONInformationRequest.o \
-    S1ap-SONInformationReply.o   \
-    S1ap-SONConfigurationTransfer.o  \
-    S1ap-Source-ToTarget-TransparentContainer.o  \
-    S1ap-SourceBSS-ToTargetBSS-TransparentContainer.o    \
-    S1ap-SourceeNB-ID.o  \
-    S1ap-SRVCCOperationPossible.o    \
-    S1ap-SRVCCHOIndication.o \
-    S1ap-SourceeNB-ToTargeteNB-TransparentContainer.o    \
-    S1ap-SourceRNC-ToTargetRNC-TransparentContainer.o    \
-    S1ap-ServedGUMMEIs.o \
-    S1ap-ServedGUMMEIsItem.o \
-    S1ap-ServedGroupIDs.o    \
-    S1ap-ServedMMECs.o   \
-    S1ap-ServedPLMNs.o   \
-    S1ap-SubscriberProfileIDforRFP.o \
-    S1ap-SupportedTAs.o  \
-    S1ap-SupportedTAs-Item.o \
-    S1ap-S-TMSI.o    \
-    S1ap-TAC.o   \
-    S1ap-TAIListforWarning.o \
-    S1ap-TAIList.o   \
-    S1ap-TAIItem.o   \
-    S1ap-TAI.o   \
-    S1ap-TAI-Broadcast.o \
-    S1ap-TAI-Broadcast-Item.o    \
-    S1ap-CompletedCellinTAI.o    \
-    S1ap-CompletedCellinTAI-Item.o   \
-    S1ap-TBCD-STRING.o   \
-    S1ap-TargetID.o  \
-    S1ap-TargeteNB-ID.o  \
-    S1ap-TargetRNC-ID.o  \
-    S1ap-TargeteNB-ToSourceeNB-TransparentContainer.o    \
-    S1ap-Target-ToSource-TransparentContainer.o  \
-    S1ap-TargetRNC-ToSourceRNC-TransparentContainer.o    \
-    S1ap-TargetBSS-ToSourceBSS-TransparentContainer.o    \
-    S1ap-TimeToWait.o    \
-    S1ap-Time-UE-StayedInCell.o  \
-    S1ap-TransportLayerAddress.o \
-    S1ap-TraceActivation.o   \
-    S1ap-TraceDepth.o    \
-    S1ap-E-UTRAN-Trace-ID.o  \
-    S1ap-TypeOfError.o   \
-    S1ap-UEAggregateMaximumBitrate.o \
-    S1ap-UE-S1AP-IDs.o   \
-    S1ap-UE-S1AP-ID-pair.o   \
-    S1ap-UE-associatedLogicalS1-ConnectionListRes.o  \
-    S1ap-UE-associatedLogicalS1-ConnectionListResAck.o   \
-    S1ap-UE-associatedLogicalS1-ConnectionItem.o \
-    S1ap-UEIdentityIndexValue.o  \
-    S1ap-UE-HistoryInformation.o \
-    S1ap-UEPagingID.o    \
-    S1ap-UERadioCapability.o \
-    S1ap-UESecurityCapabilities.o    \
-    S1ap-WarningAreaList.o   \
-    S1ap-WarningType.o   \
-    S1ap-WarningSecurityInfo.o   \
-    S1ap-WarningMessageContents.o    \
-    S1ap-X2TNLConfigurationInfo.o    \
-    S1AP-PDU.o  \
-    S1ap-InitiatingMessage.o \
-    S1ap-SuccessfulOutcome.o \
-    S1ap-UnsuccessfulOutcome.o   \
-    S1ap-HandoverRequired.o  \
-    S1ap-HandoverCommand.o   \
-    S1ap-HandoverPreparationFailure.o    \
-    S1ap-HandoverRequest.o   \
-    S1ap-HandoverRequestAcknowledge.o    \
-    S1ap-HandoverFailure.o   \
-    S1ap-HandoverNotify.o \
-    S1ap-PathSwitchRequest.o \
-    S1ap-PathSwitchRequestAcknowledge.o  \
-    S1ap-PathSwitchRequestFailure.o  \
-    S1ap-E-RABSetupRequest.o \
-    S1ap-E-RABSetupResponse.o    \
-    S1ap-E-RABModifyRequest.o    \
-    S1ap-E-RABModifyResponse.o   \
-    S1ap-E-RABReleaseIndication.o    \
-    S1ap-E-RABReleaseCommand.o   \
-    S1ap-E-RABReleaseResponse.o  \
-    S1ap-InitialContextSetupRequest.o    \
-    S1ap-InitialContextSetupResponse.o   \
-    S1ap-InitialContextSetupFailure.o    \
-    S1ap-UEContextReleaseRequest.o   \
-    S1ap-Paging.o    \
-    S1ap-DownlinkNASTransport.o  \
-    S1ap-InitialUEMessage.o  \
-    S1ap-UplinkNASTransport.o    \
-    S1ap-NASNonDeliveryIndication.o  \
-    S1ap-HandoverCancel.o    \
-    S1ap-HandoverCancelAcknowledge.o \
-    S1ap-Reset.o \
-    S1ap-ResetAcknowledge.o  \
-    S1ap-S1SetupResponse.o   \
-    S1ap-S1SetupRequest.o    \
-    S1ap-S1SetupFailure.o    \
-    S1ap-ErrorIndication.o   \
-    S1ap-ENBConfigurationUpdate.o    \
-    S1ap-ENBConfigurationUpdateAcknowledge.o \
-    S1ap-ENBConfigurationUpdateFailure.o \
-    S1ap-MMEConfigurationUpdate.o    \
-    S1ap-MMEConfigurationUpdateAcknowledge.o \
-    S1ap-MMEConfigurationUpdateFailure.o \
-    S1ap-DownlinkS1cdma2000tunneling.o   \
-    S1ap-UplinkS1cdma2000tunneling.o \
-    S1ap-UEContextModificationRequest.o  \
-    S1ap-UEContextModificationResponse.o \
-    S1ap-UEContextModificationFailure.o  \
-    S1ap-UECapabilityInfoIndication.o    \
-    S1ap-UEContextReleaseCommand.o   \
-    S1ap-UEContextReleaseComplete.o  \
-    S1ap-ENBStatusTransfer.o \
-    S1ap-MMEStatusTransfer.o \
-    S1ap-DeactivateTrace.o   \
-    S1ap-TraceStart.o    \
-    S1ap-TraceFailureIndication.o    \
-    S1ap-CellTrafficTrace.o  \
-    S1ap-LocationReportingControl.o  \
-    S1ap-LocationReportingFailureIndication.o    \
-    S1ap-LocationReport.o    \
-    S1ap-OverloadStart.o \
-    S1ap-OverloadStop.o  \
-    S1ap-WriteReplaceWarningRequest.o    \
-    S1ap-WriteReplaceWarningResponse.o   \
-    S1ap-ENBDirectInformationTransfer.o  \
-    S1ap-MMEDirectInformationTransfer.o  \
-    S1ap-ENBConfigurationTransfer.o  \
-    S1ap-MMEConfigurationTransfer.o  \
-    S1ap-PrivateMessage.o    \
-    S1ap-IE.o
-
-S1AP_ASN_MODULE_HEADERS= \
-    S1ap-Criticality.h   \
-    S1ap-Presence.h  \
-    S1ap-PrivateIE-ID.h  \
-    S1ap-ProcedureCode.h \
-    S1ap-ProtocolExtensionID.h   \
-    S1ap-ProtocolIE-ID.h \
-    S1ap-TriggeringMessage.h \
-    S1ap-IE-Extensions.h \
-    S1ap-AllocationAndRetentionPriority.h    \
-    S1ap-Bearers-SubjectToStatusTransfer-List.h   \
-    S1ap-Bearers-SubjectToStatusTransfer-Item.h  \
-    S1ap-BitRate.h   \
-    S1ap-BPLMNs.h    \
-    S1ap-BroadcastCompletedAreaList.h    \
-    S1ap-Cause.h \
-    S1ap-CauseMisc.h \
-    S1ap-CauseProtocol.h \
-    S1ap-CauseRadioNetwork.h \
-    S1ap-CauseTransport.h    \
-    S1ap-CauseNas.h  \
-    S1ap-CellIdentity.h  \
-    S1ap-CellID-Broadcast.h  \
-    S1ap-CellID-Broadcast-Item.h \
-    S1ap-Cdma2000PDU.h   \
-    S1ap-Cdma2000RATType.h   \
-    S1ap-Cdma2000SectorID.h  \
-    S1ap-Cdma2000HOStatus.h  \
-    S1ap-Cdma2000HORequiredIndication.h  \
-    S1ap-Cdma2000OneXSRVCCInfo.h \
-    S1ap-Cdma2000OneXMEID.h  \
-    S1ap-Cdma2000OneXMSI.h   \
-    S1ap-Cdma2000OneXPilot.h \
-    S1ap-Cdma2000OneXRAND.h  \
-    S1ap-Cell-Size.h \
-    S1ap-CellType.h  \
-    S1ap-CGI.h   \
-    S1ap-CI.h    \
-    S1ap-CNDomain.h  \
-    S1ap-CSFallbackIndicator.h   \
-    S1ap-CSG-Id.h    \
-    S1ap-CSG-IdList.h    \
-    S1ap-CSG-IdList-Item.h   \
-    S1ap-COUNTvalue.h    \
-    S1ap-CriticalityDiagnostics.h    \
-    S1ap-CriticalityDiagnostics-IE-List.h    \
-    S1ap-CriticalityDiagnostics-IE-Item.h    \
-    S1ap-DataCodingScheme.h  \
-    S1ap-DL-Forwarding.h \
-    S1ap-Direct-Forwarding-Path-Availability.h   \
-    S1ap-E-RABToBeModifiedListBearerModReq.h \
-    S1ap-E-RABToBeModifiedItemBearerModReqIEs.h  \
-    S1ap-E-RABToBeModifiedItemBearerModReq.h \
-    S1ap-E-RABReleaseListBearerRelComp.h \
-    S1ap-E-RABReleaseItemBearerRelCompIEs.h  \
-    S1ap-E-RABReleaseItemBearerRelComp.h \
-    S1ap-E-RABSubjecttoDataForwardingList.h  \
-    S1ap-E-RABDataForwardingList.h   \
-    S1ap-E-RABDataForwardingItemIEs.h    \
-    S1ap-E-RABDataForwardingItem.h   \
-    S1ap-E-RABToBeSetupListCtxtSUReq.h   \
-    S1ap-E-RABToBeSetupItemCtxtSUReqIEs.h    \
-    S1ap-E-RABToBeSetupItemCtxtSUReq.h   \
-    S1ap-E-RABSetupListBearerSURes.h \
-    S1ap-E-RABSetupItemBearerSUResIEs.h  \
-    S1ap-E-RABSetupItemBearerSURes.h \
-    S1ap-E-RABFailedToSetupListHOReqAck.h    \
-    S1ap-E-RABFailedToSetupItemHOReqAckIEs.h \
-    S1ap-E-RABFailedToSetupItemHOReqAck.h    \
-    S1ap-E-RABToBeSetupListBearerSUReq.h \
-    S1ap-E-RABToBeSetupItemBearerSUReqIEs.h  \
-    S1ap-E-RABToBeSetupItemBearerSUReq.h \
-    S1ap-E-RABAdmittedList.h \
-    S1ap-E-RABAdmittedItemIEs.h  \
-    S1ap-E-RABAdmittedItem.h \
-    S1ap-E-RABToBeSwitchedDLList.h   \
-    S1ap-E-RABToBeSwitchedDLListIEs.h    \
-    S1ap-E-RABToBeSwitchedDLItem.h   \
-    S1ap-E-RABToBeSwitchedULList.h   \
-    S1ap-E-RABToBeSwitchedULItemIEs.h    \
-    S1ap-E-RABToBeSwitchedULItem.h   \
-    S1ap-E-RABModifyListBearerModRes.h   \
-    S1ap-E-RABModifyItemBearerModResIEs.h    \
-    S1ap-E-RABModifyItemBearerModRes.h   \
-    S1ap-E-RABSetupListCtxtSURes.h   \
-    S1ap-E-RABSetupListCtxtSUResIEs.h    \
-    S1ap-E-RABSetupItemCtxtSURes.h   \
-    S1ap-E-RABToBeSetupListHOReq.h   \
-    S1ap-E-RABToBeSetupListHOReqIEs.h    \
-    S1ap-E-RABToBeSetupItemHOReq.h   \
-    S1ap-ECGIList.h  \
-    S1ap-EmergencyAreaIDList.h   \
-    S1ap-EmergencyAreaID.h   \
-    S1ap-EmergencyAreaID-Broadcast.h \
-    S1ap-EmergencyAreaID-Broadcast-Item.h    \
-    S1ap-CompletedCellinEAI.h    \
-    S1ap-CompletedCellinEAI-Item.h   \
-    S1ap-ENB-ID.h    \
-    S1ap-GERAN-Cell-ID.h \
-    S1ap-Global-ENB-ID.h \
-    S1ap-ENB-StatusTransfer-TransparentContainer.h   \
-    S1ap-ENB-UE-S1AP-ID.h    \
-    S1ap-ENBname.h   \
-    S1ap-ENBX2TLAs.h \
-    S1ap-EncryptionAlgorithms.h  \
-    S1ap-EPLMNs.h    \
-    S1ap-EventType.h \
-    S1ap-E-RAB-ID.h  \
-    S1ap-E-RABInformationList.h  \
-    S1ap-E-RABInformationListItem.h  \
-    S1ap-E-RABList.h \
-    S1ap-E-RABItem.h \
-    S1ap-E-RABLevelQoSParameters.h   \
-    S1ap-EUTRAN-CGI.h    \
-    S1ap-ExtendedRNC-ID.h    \
-    S1ap-ForbiddenInterRATs.h    \
-    S1ap-ForbiddenTAs.h  \
-    S1ap-ForbiddenTAs-Item.h \
-    S1ap-ForbiddenTACs.h \
-    S1ap-ForbiddenLAs.h  \
-    S1ap-ForbiddenLAs-Item.h \
-    S1ap-ForbiddenLACs.h \
-    S1ap-GBR-QosInformation.h    \
-    S1ap-GTP-TEID.h  \
-    S1ap-GUMMEI.h    \
-    S1ap-HandoverRestrictionList.h   \
-    S1ap-HandoverType.h  \
-    S1ap-HFN.h   \
-    S1ap-HandoverNotify.h    \
-    S1ap-Inter-SystemInformationTransferType.h   \
-    S1ap-IMSI.h  \
-    S1ap-IntegrityProtectionAlgorithms.h \
-    S1ap-InterfacesToTrace.h \
-    S1ap-LAC.h   \
-    S1ap-LAI.h   \
-    S1ap-LastVisitedCell-Item.h  \
-    S1ap-LastVisitedEUTRANCellInformation.h  \
-    S1ap-LastVisitedUTRANCellInformation.h   \
-    S1ap-LastVisitedGERANCellInformation.h   \
-    S1ap-L3-Information.h    \
-    S1ap-MessageIdentifier.h \
-    S1ap-MMEname.h   \
-    S1ap-MME-Group-ID.h  \
-    S1ap-MME-Code.h  \
-    S1ap-MME-UE-S1AP-ID.h    \
-    S1ap-M-TMSI.h    \
-    S1ap-MSClassmark2.h  \
-    S1ap-MSClassmark3.h  \
-    S1ap-NAS-PDU.h   \
-    S1ap-NASSecurityParametersfromE-UTRAN.h  \
-    S1ap-NASSecurityParameterstoE-UTRAN.h    \
-    S1ap-NumberofBroadcastRequest.h  \
-    S1ap-NumberOfBroadcasts.h \
-    S1ap-OldBSS-ToNewBSS-Information.h   \
-    S1ap-OverloadAction.h    \
-    S1ap-OverloadResponse.h  \
-    S1ap-PagingDRX.h \
-    S1ap-PDCP-SN.h   \
-    S1ap-PLMNidentity.h  \
-    S1ap-Pre-emptionCapability.h \
-    S1ap-Pre-emptionVulnerability.h  \
-    S1ap-PriorityLevel.h \
-    S1ap-QCI.h   \
-    S1ap-ReceiveStatusofULPDCPSDUs.h \
-    S1ap-RelativeMMECapacity.h   \
-    S1ap-RAC.h   \
-    S1ap-RequestType.h   \
-    S1ap-ResetType.h \
-    S1ap-ResetAll.h  \
-    S1ap-RIMTransfer.h   \
-    S1ap-RIMInformation.h    \
-    S1ap-RIMRoutingAddress.h \
-    S1ap-ReportArea.h    \
-    S1ap-RepetitionPeriod.h  \
-    S1ap-RNC-ID.h    \
-    S1ap-RRC-Container.h \
-    S1ap-RRC-Establishment-Cause.h   \
-    S1ap-SecurityKey.h   \
-    S1ap-SecurityContext.h   \
-    S1ap-SerialNumber.h  \
-    S1ap-SONInformation.h    \
-    S1ap-SONInformationRequest.h \
-    S1ap-SONInformationReply.h   \
-    S1ap-SONConfigurationTransfer.h  \
-    S1ap-Source-ToTarget-TransparentContainer.h  \
-    S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h    \
-    S1ap-SourceeNB-ID.h  \
-    S1ap-SRVCCOperationPossible.h    \
-    S1ap-SRVCCHOIndication.h \
-    S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h    \
-    S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h    \
-    S1ap-ServedGUMMEIs.h \
-    S1ap-ServedGUMMEIsItem.h \
-    S1ap-ServedGroupIDs.h    \
-    S1ap-ServedMMECs.h   \
-    S1ap-ServedPLMNs.h   \
-    S1ap-SubscriberProfileIDforRFP.h \
-    S1ap-SupportedTAs.h  \
-    S1ap-SupportedTAs-Item.h \
-    S1ap-S-TMSI.h    \
-    S1ap-TAC.h   \
-    S1ap-TAIListforWarning.h \
-    S1ap-TAIList.h   \
-    S1ap-TAIItem.h   \
-    S1ap-TAI.h   \
-    S1ap-TAI-Broadcast.h \
-    S1ap-TAI-Broadcast-Item.h    \
-    S1ap-CompletedCellinTAI.h    \
-    S1ap-CompletedCellinTAI-Item.h   \
-    S1ap-TBCD-STRING.h   \
-    S1ap-TargetID.h  \
-    S1ap-TargeteNB-ID.h  \
-    S1ap-TargetRNC-ID.h  \
-    S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h    \
-    S1ap-Target-ToSource-TransparentContainer.h  \
-    S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h    \
-    S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h    \
-    S1ap-TimeToWait.h    \
-    S1ap-Time-UE-StayedInCell.h  \
-    S1ap-TransportLayerAddress.h \
-    S1ap-TraceActivation.h   \
-    S1ap-TraceDepth.h    \
-    S1ap-E-UTRAN-Trace-ID.h  \
-    S1ap-TypeOfError.h   \
-    S1ap-UEAggregateMaximumBitrate.h \
-    S1ap-UE-S1AP-IDs.h   \
-    S1ap-UE-S1AP-ID-pair.h   \
-    S1ap-UE-associatedLogicalS1-ConnectionListRes.h  \
-    S1ap-UE-associatedLogicalS1-ConnectionListResAck.h   \
-    S1ap-UE-associatedLogicalS1-ConnectionItem.h \
-    S1ap-UEIdentityIndexValue.h  \
-    S1ap-UE-HistoryInformation.h \
-    S1ap-UEPagingID.h    \
-    S1ap-UERadioCapability.h \
-    S1ap-UESecurityCapabilities.h    \
-    S1ap-WarningAreaList.h   \
-    S1ap-WarningType.h   \
-    S1ap-WarningSecurityInfo.h   \
-    S1ap-WarningMessageContents.h    \
-    S1ap-X2TNLConfigurationInfo.h    \
-    S1AP-PDU.h  \
-    S1ap-InitiatingMessage.h \
-    S1ap-SuccessfulOutcome.h \
-    S1ap-UnsuccessfulOutcome.h   \
-    S1ap-HandoverRequired.h  \
-    S1ap-HandoverCommand.h   \
-    S1ap-HandoverPreparationFailure.h    \
-    S1ap-HandoverRequest.h   \
-    S1ap-HandoverRequestAcknowledge.h    \
-    S1ap-HandoverFailure.h   \
-    S1ap-HandoverNotify.h \
-    S1ap-PathSwitchRequest.h \
-    S1ap-PathSwitchRequestAcknowledge.h  \
-    S1ap-PathSwitchRequestFailure.h  \
-    S1ap-E-RABSetupRequest.h \
-    S1ap-E-RABSetupResponse.h    \
-    S1ap-E-RABModifyRequest.h    \
-    S1ap-E-RABModifyResponse.h   \
-    S1ap-E-RABReleaseIndication.h    \
-    S1ap-E-RABReleaseCommand.h   \
-    S1ap-E-RABReleaseResponse.h  \
-    S1ap-InitialContextSetupRequest.h    \
-    S1ap-InitialContextSetupResponse.h   \
-    S1ap-InitialContextSetupFailure.h    \
-    S1ap-UEContextReleaseRequest.h   \
-    S1ap-Paging.h    \
-    S1ap-DownlinkNASTransport.h  \
-    S1ap-InitialUEMessage.h  \
-    S1ap-UplinkNASTransport.h    \
-    S1ap-NASNonDeliveryIndication.h  \
-    S1ap-HandoverCancel.h    \
-    S1ap-HandoverCancelAcknowledge.h \
-    S1ap-Reset.h \
-    S1ap-ResetAcknowledge.h  \
-    S1ap-S1SetupResponse.h   \
-    S1ap-S1SetupRequest.h    \
-    S1ap-S1SetupFailure.h    \
-    S1ap-ErrorIndication.h   \
-    S1ap-ENBConfigurationUpdate.h    \
-    S1ap-ENBConfigurationUpdateAcknowledge.h \
-    S1ap-ENBConfigurationUpdateFailure.h \
-    S1ap-MMEConfigurationUpdate.h    \
-    S1ap-MMEConfigurationUpdateAcknowledge.h \
-    S1ap-MMEConfigurationUpdateFailure.h \
-    S1ap-DownlinkS1cdma2000tunneling.h   \
-    S1ap-UplinkS1cdma2000tunneling.h \
-    S1ap-UEContextModificationRequest.h  \
-    S1ap-UEContextModificationResponse.h \
-    S1ap-UEContextModificationFailure.h  \
-    S1ap-UECapabilityInfoIndication.h    \
-    S1ap-UEContextReleaseCommand.h   \
-    S1ap-UEContextReleaseComplete.h  \
-    S1ap-ENBStatusTransfer.h \
-    S1ap-MMEStatusTransfer.h \
-    S1ap-DeactivateTrace.h   \
-    S1ap-TraceStart.h    \
-    S1ap-TraceFailureIndication.h    \
-    S1ap-CellTrafficTrace.h  \
-    S1ap-LocationReportingControl.h  \
-    S1ap-LocationReportingFailureIndication.h    \
-    S1ap-LocationReport.h    \
-    S1ap-OverloadStart.h \
-    S1ap-OverloadStop.h  \
-    S1ap-WriteReplaceWarningRequest.h    \
-    S1ap-WriteReplaceWarningResponse.h   \
-    S1ap-ENBDirectInformationTransfer.h  \
-    S1ap-MMEDirectInformationTransfer.h  \
-    S1ap-ENBConfigurationTransfer.h  \
-    S1ap-MMEConfigurationTransfer.h  \
-    S1ap-PrivateMessage.h    \
-    S1ap-IE.h
-
-S1AP_ASN_MODULE_SOURCES_R9 = \
-    S1ap-KillResponse.o  \
-    S1ap-KillRequest.o   \
-    S1ap-Data-Forwarding-Not-Possible.o  \
-    S1ap-DownlinkUEAssociatedLPPaTransport.o \
-    S1ap-UplinkUEAssociatedLPPaTransport.o   \
-    S1ap-DownlinkNonUEAssociatedLPPaTransport.o  \
-    S1ap-UplinkNonUEAssociatedLPPaTransport.o    \
-    S1ap-TAI-Cancelled.o \
-    S1ap-TAI-Cancelled-Item.o    \
-    S1ap-StratumLevel.o  \
-    S1ap-SynchronizationStatus.o \
-    S1ap-TimeSynchronizationInfo.o   \
-    S1ap-Routing-ID.o    \
-    S1ap-PS-ServiceNotAvailable.o    \
-    S1ap-LPPa-PDU.o  \
-    S1ap-ExtendedRepetitionPeriod.o  \
-    S1ap-EUTRANRoundTripDelayEstimationInfo.o    \
-    S1ap-EmergencyAreaID-Cancelled.o \
-    S1ap-EmergencyAreaID-Cancelled-Item.o    \
-    S1ap-CSGMembershipStatus.o   \
-    S1ap-ConcurrentWarningMessageIndicator.o \
-    S1ap-CellID-Cancelled.o  \
-    S1ap-CellID-Cancelled-Item.o \
-    S1ap-CellAccessMode.o    \
-    S1ap-CancelledCellinEAI.o    \
-    S1ap-CancelledCellinEAI-Item.o   \
-    S1ap-CancelledCellinTAI.o    \
-    S1ap-CancelledCellinTAI-Item.o   \
-    S1ap-BroadcastCancelledAreaList.o
-
-S1AP_ASN_MODULE_HEADERS_R9 = \
-    S1ap-BroadcastCancelledAreaList.h    \
-    S1ap-CancelledCellinEAI.h    \
-    S1ap-CancelledCellinEAI-Item.h   \
-    S1ap-CancelledCellinTAI.h    \
-    S1ap-CancelledCellinTAI-Item.h   \
-    S1ap-CellAccessMode.h    \
-    S1ap-CellID-Cancelled.h  \
-    S1ap-CellID-Cancelled-Item.h \
-    S1ap-ConcurrentWarningMessageIndicator.h \
-    S1ap-CSGMembershipStatus.h   \
-    S1ap-Data-Forwarding-Not-Possible.h  \
-    S1ap-EmergencyAreaID-Cancelled.h \
-    S1ap-EmergencyAreaID-Cancelled-Item.h    \
-    S1ap-E-RABList.h \
-    S1ap-EUTRANRoundTripDelayEstimationInfo.h    \
-    S1ap-ExtendedRepetitionPeriod.h  \
-    S1ap-LPPa-PDU.h  \
-    S1ap-PS-ServiceNotAvailable.h    \
-    S1ap-Routing-ID.h    \
-    S1ap-StratumLevel.h  \
-    S1ap-SynchronizationStatus.h \
-    S1ap-TimeSynchronizationInfo.h   \
-    S1ap-TAI-Cancelled.h \
-    S1ap-TAI-Cancelled-Item.h    \
-    S1ap-KillResponse.h  \
-    S1ap-KillRequest.h   \
-    S1ap-DownlinkUEAssociatedLPPaTransport.h \
-    S1ap-UplinkUEAssociatedLPPaTransport.h   \
-    S1ap-DownlinkNonUEAssociatedLPPaTransport.h  \
-    S1ap-UplinkNonUEAssociatedLPPaTransport.h
-
-S1AP_ASN_MODULE_SOURCES_R10 = \
-    S1ap-PagingPriority.o    \
-    S1ap-RelayNode-Indicator.o   \
-    S1ap-GWContextReleaseIndication.o    \
-    S1ap-MMERelaySupportIndicator.o  \
-    S1ap-ManagementBasedMDTAllowed.o \
-    S1ap-PrivacyIndicator.o  \
-    S1ap-TrafficLoadReductionIndication.o    \
-    S1ap-GUMMEIList.o
-
-S1AP_ASN_MODULE_HEADERS_R10 = \
-    S1ap-PagingPriority.h    \
-    S1ap-RelayNode-Indicator.h   \
-    S1ap-GWContextReleaseIndication.h    \
-    S1ap-MMERelaySupportIndicator.h  \
-    S1ap-ManagementBasedMDTAllowed.h \
-    S1ap-PrivacyIndicator.h  \
-    S1ap-TrafficLoadReductionIndication.h    \
-    S1ap-GUMMEIList.h
-
-S1AP_ASN_MODULE_HEADERS+=ANY.h
-S1AP_ASN_MODULE_SOURCES+=ANY.o
-S1AP_ASN_MODULE_HEADERS+=BOOLEAN.h
-S1AP_ASN_MODULE_SOURCES+=BOOLEAN.o
-S1AP_ASN_MODULE_HEADERS+=INTEGER.h
-S1AP_ASN_MODULE_HEADERS+=NativeEnumerated.h
-S1AP_ASN_MODULE_SOURCES+=INTEGER.o
-S1AP_ASN_MODULE_HEADERS+=NULL.h
-S1AP_ASN_MODULE_SOURCES+=NULL.o
-S1AP_ASN_MODULE_SOURCES+=NativeEnumerated.o
-S1AP_ASN_MODULE_HEADERS+=NativeInteger.h
-S1AP_ASN_MODULE_SOURCES+=NativeInteger.o
-S1AP_ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h
-S1AP_ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.o
-S1AP_ASN_MODULE_HEADERS+=PrintableString.h
-S1AP_ASN_MODULE_SOURCES+=PrintableString.o
-S1AP_ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
-S1AP_ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.o
-S1AP_ASN_MODULE_HEADERS+=asn_SET_OF.h
-S1AP_ASN_MODULE_SOURCES+=asn_SET_OF.o
-S1AP_ASN_MODULE_HEADERS+=constr_CHOICE.h
-S1AP_ASN_MODULE_SOURCES+=constr_CHOICE.o
-S1AP_ASN_MODULE_HEADERS+=constr_SEQUENCE.h
-S1AP_ASN_MODULE_SOURCES+=constr_SEQUENCE.o
-S1AP_ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
-S1AP_ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.o
-S1AP_ASN_MODULE_HEADERS+=constr_SET_OF.h
-S1AP_ASN_MODULE_SOURCES+=constr_SET_OF.o
-S1AP_ASN_MODULE_HEADERS+=asn_application.h
-S1AP_ASN_MODULE_HEADERS+=asn_system.h
-S1AP_ASN_MODULE_HEADERS+=asn_codecs.h
-S1AP_ASN_MODULE_HEADERS+=asn_internal.h
-S1AP_ASN_MODULE_HEADERS+=OCTET_STRING.h
-S1AP_ASN_MODULE_SOURCES+=OCTET_STRING.o
-S1AP_ASN_MODULE_HEADERS+=BIT_STRING.h
-S1AP_ASN_MODULE_SOURCES+=BIT_STRING.o
-S1AP_ASN_MODULE_SOURCES+=asn_codecs_prim.o
-S1AP_ASN_MODULE_HEADERS+=asn_codecs_prim.h
-S1AP_ASN_MODULE_HEADERS+=ber_tlv_length.h
-S1AP_ASN_MODULE_SOURCES+=ber_tlv_length.o
-S1AP_ASN_MODULE_HEADERS+=ber_tlv_tag.h
-S1AP_ASN_MODULE_SOURCES+=ber_tlv_tag.o
-S1AP_ASN_MODULE_HEADERS+=ber_decoder.h
-S1AP_ASN_MODULE_SOURCES+=ber_decoder.o
-S1AP_ASN_MODULE_HEADERS+=der_encoder.h
-S1AP_ASN_MODULE_SOURCES+=der_encoder.o
-S1AP_ASN_MODULE_HEADERS+=constr_TYPE.h
-S1AP_ASN_MODULE_SOURCES+=constr_TYPE.o
-S1AP_ASN_MODULE_HEADERS+=constraints.h
-S1AP_ASN_MODULE_SOURCES+=constraints.o
-S1AP_ASN_MODULE_HEADERS+=xer_support.h
-S1AP_ASN_MODULE_SOURCES+=xer_support.o
-S1AP_ASN_MODULE_HEADERS+=xer_decoder.h
-S1AP_ASN_MODULE_SOURCES+=xer_decoder.o
-S1AP_ASN_MODULE_HEADERS+=xer_encoder.h
-S1AP_ASN_MODULE_SOURCES+=xer_encoder.o
-S1AP_ASN_MODULE_HEADERS+=per_support.h
-S1AP_ASN_MODULE_SOURCES+=per_support.o
-S1AP_ASN_MODULE_HEADERS+=per_decoder.h
-S1AP_ASN_MODULE_SOURCES+=per_decoder.o
-S1AP_ASN_MODULE_HEADERS+=per_encoder.h
-S1AP_ASN_MODULE_SOURCES+=per_encoder.o
-S1AP_ASN_MODULE_HEADERS+=per_opentype.h
-S1AP_ASN_MODULE_SOURCES+=per_opentype.o
\ No newline at end of file
diff --git a/openair-cn/S1AP/Makefile.am b/openair-cn/S1AP/Makefile.am
deleted file mode 100644
index b957c18137a53c31ed3794bc48fd815d40f9e6f2..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/Makefile.am
+++ /dev/null
@@ -1,70 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-SUBDIRS = ./MESSAGES/ .
-
-AM_CFLAGS =				\
-	@ADD_CFLAGS@ 			\
-	-I$(top_srcdir)/COMMON	\
-	-I$(top_builddir)/S1AP		\
-	-I$(top_builddir)/S1AP/MESSAGES	\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE	\
-	-I$(top_srcdir)/SCTP	\
-	-I$(top_srcdir)/UTILS	\
-	-DEMIT_ASN_DEBUG_EXTERN
-
-noinst_LTLIBRARIES = libs1ap.la
-libs1ap_la_LDFLAGS = -all-static
-libs1ap_la_LIBADD = ./MESSAGES/libs1apmessages.la
-
-libs1ap_la_SOURCES = \
-	s1ap_common.h s1ap_common.c 		\
-	s1ap_mme_encoder.h s1ap_mme_encoder.c	\
-	s1ap_mme_decoder.h s1ap_mme_decoder.c	\
-	s1ap_mme_handlers.h s1ap_mme_handlers.c	\
-	s1ap_mme_nas_procedures.c s1ap_mme_nas_procedures.h		\
-	s1ap_mme.h s1ap_mme.c			\
-	s1ap_mme_itti_messaging.c	s1ap_mme_itti_messaging.h	\
-	s1ap_mme_retransmission.c	s1ap_mme_retransmission.h	\
-	s1ap_mme_ta.c	s1ap_mme_ta.h	\
-	$(top_builddir)/S1AP/s1ap_decoder.c	\
-	$(top_builddir)/S1AP/s1ap_encoder.c	\
-	$(top_builddir)/S1AP/s1ap_xer_print.c	\
-	$(top_builddir)/S1AP/s1ap_ies_defs.h
-
-clean-local:
-	rm -f $(top_builddir)/S1AP/s1ap_ies_defs.h
-	rm -f $(top_builddir)/S1AP/s1ap_decoder.c
-	rm -f $(top_builddir)/S1AP/s1ap_encoder.c
-	rm -f $(top_builddir)/S1AP/s1ap_xer_print.c
diff --git a/openair-cn/S1AP/Makefile.eNB b/openair-cn/S1AP/Makefile.eNB
deleted file mode 100644
index 4547fdbaea2ed92e58add1da59bab6cbfcb4ad1c..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/Makefile.eNB
+++ /dev/null
@@ -1,163 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-# include $(OPENAIR_TARGETS)/SIMU/USER/Makerules
-
-OUTDIR = $(S1AP_DIR)/enb_objs
-
-ASN1MESSAGESDIR=$(S1AP_DIR)/MESSAGES
-ASN1DIR=$(ASN1MESSAGESDIR)/ASN1
-
-ifeq ($(USE_MME), R10)
-	ASN1RELDIR=R10.5
-	UPDATE_RELEASE_9=1
-	UPDATE_RELEASE_10=1
-	ADD_CFLAGS=-DUPDATE_RELEASE_9 -DUPDATE_RELEASE_10
-else
-	ifeq ($(USE_MME), R9)
-		UPDATE_RELEASE_9=1
-		ASN1RELDIR=R9.8
-		ADD_CFLAGS=-DUPDATE_RELEASE_9
-	else
-		ASN1RELDIR=R8.10
-	endif
-endif
-
-include $(ASN1MESSAGESDIR)/Makefile.inc
-
-libs1ap_OBJECTS = \
-	s1ap_common.o \
-	s1ap_eNB.o \
-	s1ap_eNB_context_management_procedures.o \
-	s1ap_eNB_decoder.o \
-	s1ap_eNB_encoder.o \
-	s1ap_eNB_handlers.o \
-	s1ap_eNB_itti_messaging.o \
-	s1ap_eNB_management_procedures.o \
-	s1ap_eNB_nas_procedures.o \
-	s1ap_eNB_nnsf.o \
-	s1ap_eNB_overload.o \
-	s1ap_eNB_trace.o \
-	s1ap_eNB_ue_context.o \
-	$(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES))
-
-ifeq ($(USE_MME), R10)
-	libs1ap_OBJECTS += $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9))
-	libs1ap_OBJECTS += $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10))
-else
-	ifeq ($(USE_MME), R9)
-		libs1ap_OBJECTS += $(addprefix MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9))
-	endif
-endif
-
-# pull in dependency info for *existing* .o files
--include $(OUTDIR)/*.d
-
-CFLAGS = 			\
-	-Wall			\
-	-DENB_MODE		\
-	-DENABLE_USE_MME	\
-	-DUSER_MODE		\
-	-I./MESSAGES		\
-	-I$(OUTDIR)		\
-	-I../UTILS		\
-	$(ADD_CFLAGS)		\
-	-DENB_MODE		\
-	$(S1AP_CFLAGS)		\
-	-Wuninitialized		\
-	-Werror=implicit-function-declaration
-
-S1AP_GENERATED =	\
-	$(OUTDIR)/s1ap_encoder.o	\
-	$(OUTDIR)/s1ap_decoder.o	\
-	$(OUTDIR)/s1ap_xer_print.o
-
-$(OUTDIR)/%.o : %.c
-	@echo "Compiling $<"
-	@if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi;
-	@$(CC) -c $(CFLAGS) -o $@ $<
-	@$(CC) -MM $(CFLAGS) $< > $(basename $@).d
-	@mv -f $(basename $@).d $(basename $@).d.tmp
-	@sed -e 's|.*:|$@:|' < $(basename $@).d.tmp > $(basename $@).d
-	@sed -e 's/.*://' -e 's/\\$$//' < $(basename $@).d.tmp | fmt -1 | \
-	sed -e 's/^ *//' -e 's/$$/:/' >> $(basename $@).d
-	@rm -f $(basename $@).d.tmp
-
-$(S1AP_GENERATED): %.o : %.c
-	@echo "Compiling $<"
-	@if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi;
-	@$(CC) -c $(CFLAGS) -o $@ $<
-	@$(CC) -MM $(CFLAGS) $< > $(basename $@).d
-	@mv -f $(basename $@).d $(basename $@).d.tmp
-	@sed -e 's|.*:|$@:|' < $(basename $@).d.tmp > $(basename $@).d
-	@sed -e 's/.*://' -e 's/\\$$//' < $(basename $@).d.tmp | fmt -1 | \
-	sed -e 's/^ *//' -e 's/$$/:/' >> $(basename $@).d
-	@rm -f $(basename $@).d.tmp
-
-#$(OUTDIR)/%.c : $(OUTDIR)/s1ap_ieregen.stamp $(OUTDIR)/s1ap_asn1regen.stamp
-	#@if [ -f $< ] ; then touch $<; else echo "ERROR: " $< "not generated" ; exit 1 ; fi;
-
-$(OUTDIR)/s1ap_ieregen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/S1AP-PDU-Contents.asn $(ASN1DIR)/asn1tostruct.py
-	@if [ ! -d $(OUTDIR) ]; then mkdir -p $(OUTDIR); fi;
-	@python $(ASN1DIR)/asn1tostruct.py -f$< -o$(OUTDIR)
-	@echo Timestamp > $@
-
-$(OUTDIR)/s1ap_asn1regen.stamp: $(ASN1DIR)/$(ASN1RELDIR)/S1AP-CommonDataTypes.asn \
-	$(ASN1DIR)/$(ASN1RELDIR)/S1AP-Constants.asn $(ASN1DIR)/$(ASN1RELDIR)/S1AP-IEs.asn $(ASN1DIR)/$(ASN1RELDIR)/S1AP-PDU.asn
-	(cd $(ASN1MESSAGESDIR) && asn1c -fhave_native64 -gen-PER $^)
-	@echo Timestamp > $@
-
-$(OUTDIR)/libs1ap.a: $(OUTDIR)/s1ap_ieregen.stamp $(OUTDIR)/s1ap_asn1regen.stamp $(S1AP_GENERATED) $(addprefix $(OUTDIR)/,$(libs1ap_OBJECTS))
-	@echo Creating S1AP archive
-	@$(AR) rcs $@ $(S1AP_GENERATED) $(addprefix $(OUTDIR)/,$(libs1ap_OBJECTS))
-
-clean:
-	@$(RM_F_V) $(OUTDIR)/*.o
-	@$(RM_F_V) $(OUTDIR)/*.d
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES:.o=.d))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9:.o=.d))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10:.o=.d))
-	@$(RM_F_V) $(OUTDIR)/libs1ap.a
-	@$(RM_F_V) $(OUTDIR)/s1ap_asn1regen.stamp
-	@$(RM_F_V) $(OUTDIR)/s1ap_ieregen.stamp
-	@$(RM_F_V) $(OUTDIR)/s1ap_decoder.c $(OUTDIR)/s1ap_encoder.c
-	@$(RM_F_V) $(OUTDIR)/s1ap_xer_print.c $(OUTDIR)/s1ap_ies_defs.h
-
-cleanall: clean
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES:.o=.c))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES:.o=.h))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9:.o=.c))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R9:.o=.h))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10:.o=.c))
-	@$(RM_F_V) $(addprefix $(OUTDIR)/MESSAGES/, $(S1AP_ASN_MODULE_SOURCES_R10:.o=.h))
-
-showcflags:
-	@echo s1ap cflags: $(CFLAGS)
diff --git a/openair-cn/S1AP/Makefile.inc b/openair-cn/S1AP/Makefile.inc
deleted file mode 100644
index 8bca6ba59c8a6cb71aba506196151c724b0c0d15..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/Makefile.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-S1AP_OBJS  = $(OPENAIR2_DIR)/S1AP/s1ap_eNB.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_common.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_encoder.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_decoder.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_eNB_decoder.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_eNB_encoder.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_eNB_handlers.o
-
-S1AP_Incl = -I$(OPENAIR2_DIR)/S1AP -I$(OPENAIR2_DIR)/S1AP/MESSAGES
diff --git a/openair-cn/S1AP/s1ap_common.c b/openair-cn/S1AP/s1ap_common.c
index 948f199c0c60f0b2cf60cfe016c057d29cd20223..055641d12e529b532eb7e71718b0dcd0203f6023 100644
--- a/openair-cn/S1AP/s1ap_common.c
+++ b/openair-cn/S1AP/s1ap_common.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /*! \file s1ap_common.c
  * \brief s1ap procedures for both eNB and MME
diff --git a/openair-cn/S1AP/s1ap_common.h b/openair-cn/S1AP/s1ap_common.h
index 0024812fd27d57259d6bbb61b18107d703c033e0..363153590384f2a5dcd8c7bac2b5f41f22629654 100644
--- a/openair-cn/S1AP/s1ap_common.h
+++ b/openair-cn/S1AP/s1ap_common.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /** @defgroup _s1ap_impl_ S1AP Layer Reference Implementation
  * @ingroup _ref_implementation_
diff --git a/openair-cn/S1AP/s1ap_eNB.c b/openair-cn/S1AP/s1ap_eNB.c
index da11f2893f11ff4783a2855b3fd0399de3a163dd..c880c3f3b4bd14ec45b217df4a1ffb6be346a5d9 100644
--- a/openair-cn/S1AP/s1ap_eNB.c
+++ b/openair-cn/S1AP/s1ap_eNB.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB.h b/openair-cn/S1AP/s1ap_eNB.h
index ac454be1adfd8f7efefd09286c9b1e3b12a9a94d..9c372493e9fba5435c18d03f3ed4ba6c050a8e43 100644
--- a/openair-cn/S1AP/s1ap_eNB.h
+++ b/openair-cn/S1AP/s1ap_eNB.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_context_management_procedures.c b/openair-cn/S1AP/s1ap_eNB_context_management_procedures.c
index 0e6de0b0f269b5f38323e35a76c9368a61ac2e61..801dfd8780aa9769f88a94446c88c8a65c479d39 100755
--- a/openair-cn/S1AP/s1ap_eNB_context_management_procedures.c
+++ b/openair-cn/S1AP/s1ap_eNB_context_management_procedures.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_context_management_procedures.h b/openair-cn/S1AP/s1ap_eNB_context_management_procedures.h
index 96b09386090088e5e05612492727aecc07209a3a..be9e0b24b4a7998c73888718bc9433fe4f75bf74 100755
--- a/openair-cn/S1AP/s1ap_eNB_context_management_procedures.h
+++ b/openair-cn/S1AP/s1ap_eNB_context_management_procedures.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_decoder.c b/openair-cn/S1AP/s1ap_eNB_decoder.c
index 70d4eece323731a6c6fdfc11e04e29008527d852..f8230520ce25acda109361a94d467f1d4cfc3002 100644
--- a/openair-cn/S1AP/s1ap_eNB_decoder.c
+++ b/openair-cn/S1AP/s1ap_eNB_decoder.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_decoder.h b/openair-cn/S1AP/s1ap_eNB_decoder.h
index 76c47b0de7937ce72362667d8237daec33c5b5cc..4c3f5f4327b0974d2314343470e7acdb21a6fa23 100644
--- a/openair-cn/S1AP/s1ap_eNB_decoder.h
+++ b/openair-cn/S1AP/s1ap_eNB_decoder.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_default_values.h b/openair-cn/S1AP/s1ap_eNB_default_values.h
index 42731cf5a6fad3d680fed46f2be7eb8e731f2d03..c0fde9f6ebe78c88eefce211575ef1108845e0f6 100644
--- a/openair-cn/S1AP/s1ap_eNB_default_values.h
+++ b/openair-cn/S1AP/s1ap_eNB_default_values.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_defs.h b/openair-cn/S1AP/s1ap_eNB_defs.h
index 3474f9e7f64ae5e2de0bd8e3e19d687a12cf2c58..2bf2758b89a110f45c58bee9cbe17ff5c8f8d562 100644
--- a/openair-cn/S1AP/s1ap_eNB_defs.h
+++ b/openair-cn/S1AP/s1ap_eNB_defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_encoder.c b/openair-cn/S1AP/s1ap_eNB_encoder.c
index 5ec2f216137ed1f5c0edc4914b384951c0d05322..a93bdc68f2023f981e5ad9e86221c028bcf5fd23 100644
--- a/openair-cn/S1AP/s1ap_eNB_encoder.c
+++ b/openair-cn/S1AP/s1ap_eNB_encoder.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_encoder.h b/openair-cn/S1AP/s1ap_eNB_encoder.h
index a1ffc57e3ac5b264cf06770c6042ac5b867fe975..b55cf2c261223305da3d851ae5a7d4e5c02c8211 100644
--- a/openair-cn/S1AP/s1ap_eNB_encoder.h
+++ b/openair-cn/S1AP/s1ap_eNB_encoder.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_handlers.c b/openair-cn/S1AP/s1ap_eNB_handlers.c
index 7469e83ac20370d9fc5e7cf2f202355a794ef9b0..6f0d4128c7174d1b96a819b240038a3e7f2a99e4 100644
--- a/openair-cn/S1AP/s1ap_eNB_handlers.c
+++ b/openair-cn/S1AP/s1ap_eNB_handlers.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_handlers.h b/openair-cn/S1AP/s1ap_eNB_handlers.h
index db0b2115ce6c490b717dfea06b68989b9aeac14b..145fd04721a32b48bbc38d774c8c7ec9cc135c14 100644
--- a/openair-cn/S1AP/s1ap_eNB_handlers.h
+++ b/openair-cn/S1AP/s1ap_eNB_handlers.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_itti_messaging.c b/openair-cn/S1AP/s1ap_eNB_itti_messaging.c
index 849bd09ab278ecf9000bb647e9a09905548ac856..b6cdf368f44184961cbf37618ae4984e016a5fc0 100644
--- a/openair-cn/S1AP/s1ap_eNB_itti_messaging.c
+++ b/openair-cn/S1AP/s1ap_eNB_itti_messaging.c
@@ -1,3 +1,31 @@
+/*******************************************************************************
+    OpenAirInterface
+    Copyright(c) 1999 - 2014 Eurecom
+
+    OpenAirInterface is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+
+    OpenAirInterface is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenAirInterface.The full GNU General Public License is
+   included in this distribution in the file called "COPYING". If not,
+   see <http://www.gnu.org/licenses/>.
+
+  Contact Information
+  OpenAirInterface Admin: openair_admin@eurecom.fr
+  OpenAirInterface Tech : openair_tech@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
+
+  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
+
+ *******************************************************************************/
 #include "intertask_interface.h"
 
 #include "s1ap_eNB_itti_messaging.h"
diff --git a/openair-cn/S1AP/s1ap_eNB_itti_messaging.h b/openair-cn/S1AP/s1ap_eNB_itti_messaging.h
index d294a7d6ac9de094df0ad2f62f990e7903596572..4021d623c4b2aa5c69b63914082a70f3cc0ccd26 100644
--- a/openair-cn/S1AP/s1ap_eNB_itti_messaging.h
+++ b/openair-cn/S1AP/s1ap_eNB_itti_messaging.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_management_procedures.c b/openair-cn/S1AP/s1ap_eNB_management_procedures.c
index d14ccc107bcd7c5ae3ecf28b1bf7412e77c81003..eb30a8dadac4a37423c8f23dd61a4fd34712fa2c 100644
--- a/openair-cn/S1AP/s1ap_eNB_management_procedures.c
+++ b/openair-cn/S1AP/s1ap_eNB_management_procedures.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_management_procedures.h b/openair-cn/S1AP/s1ap_eNB_management_procedures.h
index 2709765df0df5851f146a0d432651094c2f1c039..2e00add882e9ff8a866b04ec2567757abbc050b1 100644
--- a/openair-cn/S1AP/s1ap_eNB_management_procedures.h
+++ b/openair-cn/S1AP/s1ap_eNB_management_procedures.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_nas_procedures.c b/openair-cn/S1AP/s1ap_eNB_nas_procedures.c
index 612d6dfc7e21784ceac4eccd90c1334e99f7513f..0cd4c08cb1244d2ab1a53bf3a2a3ccbbe7fecac0 100644
--- a/openair-cn/S1AP/s1ap_eNB_nas_procedures.c
+++ b/openair-cn/S1AP/s1ap_eNB_nas_procedures.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_nas_procedures.h b/openair-cn/S1AP/s1ap_eNB_nas_procedures.h
index 8085cce35aa3daa4f9b8c12da4c7948769015a0e..552726e8ed9c41cf8299ef0c81b1e4d074919a07 100644
--- a/openair-cn/S1AP/s1ap_eNB_nas_procedures.h
+++ b/openair-cn/S1AP/s1ap_eNB_nas_procedures.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_nnsf.c b/openair-cn/S1AP/s1ap_eNB_nnsf.c
index afb39a8a44d2bf83ee2e6aacc8ad351148b8f328..cf3d4436ed1edcaa18ff4e13c6232edc477a3b9b 100644
--- a/openair-cn/S1AP/s1ap_eNB_nnsf.c
+++ b/openair-cn/S1AP/s1ap_eNB_nnsf.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_nnsf.h b/openair-cn/S1AP/s1ap_eNB_nnsf.h
index fd51f4a3238aa7132d9d8fc14cf7613c8b64b3ca..687f40dd1dcd2f4710490e55e94dad47cca950b2 100644
--- a/openair-cn/S1AP/s1ap_eNB_nnsf.h
+++ b/openair-cn/S1AP/s1ap_eNB_nnsf.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_overload.c b/openair-cn/S1AP/s1ap_eNB_overload.c
index 7ecc8f42c73d74ba3e393b1c6ae2f7f4c8b6dffd..2c32f4f9de7833893eee935b3a9fa22a8ade4fd8 100644
--- a/openair-cn/S1AP/s1ap_eNB_overload.c
+++ b/openair-cn/S1AP/s1ap_eNB_overload.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_overload.h b/openair-cn/S1AP/s1ap_eNB_overload.h
index ed6e59bc907d00d4d831ad0644d05ba2c20575e3..baa1ad12325d53bf7b220e7dfcbc51620b59e6f9 100644
--- a/openair-cn/S1AP/s1ap_eNB_overload.h
+++ b/openair-cn/S1AP/s1ap_eNB_overload.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_trace.c b/openair-cn/S1AP/s1ap_eNB_trace.c
index e792c811207f61639d6867140adb006156016480..fd192d73203729d5fa536a1dcf88f8083948d786 100644
--- a/openair-cn/S1AP/s1ap_eNB_trace.c
+++ b/openair-cn/S1AP/s1ap_eNB_trace.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_ue_context.c b/openair-cn/S1AP/s1ap_eNB_ue_context.c
index 4588c4ade27eda8e8ea46848ab9c27af8a992849..50df294dce5ced1512648230c4583f05c8ce691d 100644
--- a/openair-cn/S1AP/s1ap_eNB_ue_context.c
+++ b/openair-cn/S1AP/s1ap_eNB_ue_context.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_eNB_ue_context.h b/openair-cn/S1AP/s1ap_eNB_ue_context.h
index a153fa19522a49ee70fa3ff0409a95b24255e53b..43c9d0e2c2666721a2aa53c54ccf4b77541c303a 100644
--- a/openair-cn/S1AP/s1ap_eNB_ue_context.h
+++ b/openair-cn/S1AP/s1ap_eNB_ue_context.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/S1AP/s1ap_mme.c b/openair-cn/S1AP/s1ap_mme.c
deleted file mode 100644
index a599d32c680d14b1871f5ebbf54d704416c171a6..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme.c
+++ /dev/null
@@ -1,474 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#if !defined(MME_CLIENT_TEST)
-# include "intertask_interface.h"
-#endif
-
-#include "assertions.h"
-#include "queue.h"
-
-#include "s1ap_mme.h"
-#include "s1ap_mme_decoder.h"
-#include "s1ap_mme_handlers.h"
-#include "s1ap_ies_defs.h"
-
-#include "s1ap_mme_nas_procedures.h"
-#include "s1ap_mme_retransmission.h"
-#include "msc.h"
-
-#define S1AP_DEBUG_LIST
-#ifdef S1AP_DEBUG_LIST
-# define eNB_LIST_OUT(x, args...) S1AP_DEBUG("[eNB]%*s"x"\n", 4*indent, "", ##args)
-# define UE_LIST_OUT(x, args...)  S1AP_DEBUG("[UE] %*s"x"\n", 4*indent, "", ##args)
-#else
-# define eNB_LIST_OUT(x, args...)
-# define UE_LIST_OUT(x, args...)
-#endif
-
-#if !defined(MME_CLIENT_TEST)
-// static pthread_t s1ap_task_thread;
-
-int         hss_associated = 0;
-uint32_t    nb_eNB_associated = 0;
-STAILQ_HEAD(eNB_list_s, eNB_description_s)
-eNB_list_head;
-
-static int  indent = 0;
-
-void *s1ap_mme_thread(void *args);
-
-static int s1ap_send_init_sctp(void)
-{
-  // Create and alloc new message
-  MessageDef *message_p;
-  message_p = itti_alloc_new_message(TASK_S1AP, SCTP_INIT_MSG);
-  message_p->ittiMsg.sctpInit.port = S1AP_PORT_NUMBER;
-  message_p->ittiMsg.sctpInit.ppid = S1AP_SCTP_PPID;
-  message_p->ittiMsg.sctpInit.ipv4 = 1;
-  message_p->ittiMsg.sctpInit.ipv6 = 0;
-  message_p->ittiMsg.sctpInit.nb_ipv4_addr = 1;
-  message_p->ittiMsg.sctpInit.ipv4_address[0]
-    = mme_config.ipv4.mme_ip_address_for_S1_MME;
-  /* SR WARNING: ipv6 multi-homing fails sometimes for localhost.
-   * Disable it for now.*/
-  message_p->ittiMsg.sctpInit.nb_ipv6_addr = 0;
-  message_p->ittiMsg.sctpInit.ipv6_address[0] = "0:0:0:0:0:0:0:1";
-
-  return itti_send_msg_to_task(TASK_SCTP, INSTANCE_DEFAULT, message_p);
-}
-
-void *s1ap_mme_thread(void *args)
-{
-  MessageDef *received_message_p;
-
-  itti_mark_task_ready(TASK_S1AP);
-  MSC_START_USE();
-
-  while(1) {
-    /* Trying to fetch a message from the message queue.
-     * If the queue is empty, this function will block till a
-     * message is sent to the task.
-     */
-    itti_receive_msg(TASK_S1AP, &received_message_p);
-    DevAssert(received_message_p != NULL);
-
-    switch (ITTI_MSG_ID(received_message_p)) {
-    case ACTIVATE_MESSAGE: {
-      hss_associated = 1;
-    }
-    break;
-
-    case SCTP_DATA_IND: {
-      /* New message received from SCTP layer.
-       * Decode and handle it.
-       */
-      s1ap_message message;
-
-      memset((void *)&message, 0, sizeof(s1ap_message));
-
-      /* Invoke S1AP message decoder */
-      if (s1ap_mme_decode_pdu(&message,
-                              SCTP_DATA_IND(received_message_p).buffer,
-                              SCTP_DATA_IND(received_message_p).buf_length) < 0) {
-        // TODO: Notify eNB of failure with right cause
-        S1AP_ERROR("Failed to decode new buffer\n");
-      } else {
-        s1ap_mme_handle_message(SCTP_DATA_IND(received_message_p).assoc_id,
-                                SCTP_DATA_IND(received_message_p).stream,
-                                &message);
-      }
-
-      /* Free received PDU array */
-      free(SCTP_DATA_IND(received_message_p).buffer);
-    }
-    break;
-
-    /* SCTP layer notifies S1AP of disconnection of a peer. */
-    case SCTP_CLOSE_ASSOCIATION: {
-      s1ap_handle_sctp_deconnection(SCTP_CLOSE_ASSOCIATION(received_message_p).assoc_id);
-    }
-    break;
-
-    case SCTP_NEW_ASSOCIATION: {
-      s1ap_handle_new_association(&received_message_p->ittiMsg.sctp_new_peer);
-    }
-    break;
-
-    case NAS_DOWNLINK_DATA_REQ: {
-      /* New message received from NAS task.
-       * This corresponds to a S1AP downlink nas transport message.
-       */
-      s1ap_generate_downlink_nas_transport(NAS_DL_DATA_REQ(received_message_p).UEid,
-                                           NAS_DL_DATA_REQ(received_message_p).nasMsg.data,
-                                           NAS_DL_DATA_REQ(received_message_p).nasMsg.length);
-    }
-    break;
-
-    case S1AP_UE_CONTEXT_RELEASE_COMMAND: {
-        s1ap_handle_ue_context_release_command(&received_message_p->ittiMsg.s1ap_ue_context_release_command);
-    }
-    break;
-
-#if defined(DISABLE_USE_NAS)
-
-    case NAS_ATTACH_ACCEPT: {
-      s1ap_handle_attach_accepted(&received_message_p->ittiMsg.nas_attach_accept);
-    }
-    break;
-#else
-    // handled by MME_APP know
-    //case NAS_CONNECTION_ESTABLISHMENT_CNF: {
-    //    s1ap_handle_conn_est_cnf(&NAS_CONNECTION_ESTABLISHMENT_CNF(received_message_p));
-    //} break;
-
-    case MME_APP_CONNECTION_ESTABLISHMENT_CNF: {
-      s1ap_handle_conn_est_cnf(&MME_APP_CONNECTION_ESTABLISHMENT_CNF(received_message_p));
-    }
-    break;
-#endif
-
-    case TIMER_HAS_EXPIRED: {
-      s1ap_handle_timer_expiry(&received_message_p->ittiMsg.timer_has_expired);
-    }
-    break;
-
-    case TERMINATE_MESSAGE: {
-      itti_exit_task();
-    }
-    break;
-
-    default: {
-      S1AP_DEBUG("Unkwnon message ID %d:%s\n",
-                 ITTI_MSG_ID(received_message_p), ITTI_MSG_NAME(received_message_p));
-    }
-    break;
-    }
-
-    itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), received_message_p);
-    received_message_p = NULL;
-  }
-
-  return NULL;
-}
-
-int s1ap_mme_init(const mme_config_t *mme_config_p)
-{
-  S1AP_DEBUG("Initializing S1AP interface\n");
-
-  if (get_asn1c_environment_version() < ASN1_MINIMUM_VERSION) {
-    S1AP_ERROR("ASN1C version %d fount, expecting at least %d\n",
-               get_asn1c_environment_version(), ASN1_MINIMUM_VERSION);
-    return -1;
-  } else {
-    S1AP_DEBUG("ASN1C version %d\n", get_asn1c_environment_version());
-  }
-
-#if defined(UPDATE_RELEASE_10)
-  S1AP_DEBUG("S1AP Release v10.5\n");
-#else
-# if defined(UPDATE_RELEASE_9)
-  S1AP_DEBUG("S1AP Release v9.8\n");
-# else
-  S1AP_DEBUG("S1AP Release v8.10\n");
-# endif
-#endif
-
-  STAILQ_INIT(&eNB_list_head);
-
-  if (itti_create_task(TASK_S1AP, &s1ap_mme_thread, NULL) < 0) {
-    S1AP_ERROR("Error while creating S1AP task\n");
-    return -1;
-  }
-
-  if (s1ap_send_init_sctp() < 0) {
-    S1AP_ERROR("Error while sendind SCTP_INIT_MSG to SCTP \n");
-    return -1;
-  }
-
-  S1AP_DEBUG("Initializing S1AP interface: DONE\n");
-  return 0;
-}
-
-void s1ap_dump_eNB_list(void)
-{
-  eNB_description_t *eNB_ref;
-
-  STAILQ_FOREACH(eNB_ref, &eNB_list_head, eNB_entries) {
-    s1ap_dump_eNB(eNB_ref);
-  }
-}
-
-void s1ap_dump_eNB(eNB_description_t *eNB_ref)
-{
-#ifdef S1AP_DEBUG_LIST
-  ue_description_t *ue_ref;
-  //Reset indentation
-  indent = 0;
-
-  if (eNB_ref == NULL) {
-    return;
-  }
-
-  eNB_LIST_OUT("");
-  eNB_LIST_OUT("eNB name:          %s",   eNB_ref->eNB_name == NULL ? "not present" : eNB_ref->eNB_name);
-  eNB_LIST_OUT("eNB ID:            %07x", eNB_ref->eNB_id);
-  eNB_LIST_OUT("SCTP assoc id:     %d",   eNB_ref->sctp_assoc_id);
-  eNB_LIST_OUT("SCTP instreams:    %d",   eNB_ref->instreams);
-  eNB_LIST_OUT("SCTP outstreams:   %d",   eNB_ref->outstreams);
-  eNB_LIST_OUT("UE attache to eNB: %d",   eNB_ref->nb_ue_associated);
-
-  indent++;
-
-  STAILQ_FOREACH(ue_ref, &eNB_ref->ue_list_head, ue_entries) {
-    s1ap_dump_ue(ue_ref);
-  }
-  indent--;
-  eNB_LIST_OUT("");
-#else
-  s1ap_dump_ue(NULL);
-#endif
-}
-
-void s1ap_dump_ue(ue_description_t *ue_ref)
-{
-#ifdef S1AP_DEBUG_LIST
-
-  if (ue_ref == NULL) return;
-
-  UE_LIST_OUT("eNB UE s1ap id:   0x%06x", ue_ref->eNB_ue_s1ap_id);
-  UE_LIST_OUT("MME UE s1ap id:   0x%08x", ue_ref->mme_ue_s1ap_id);
-  UE_LIST_OUT("SCTP stream recv: 0x%04x", ue_ref->sctp_stream_recv);
-  UE_LIST_OUT("SCTP stream send: 0x%04x", ue_ref->sctp_stream_send);
-#else
-  ue_ref = ue_ref;
-#endif
-}
-
-eNB_description_t* s1ap_is_eNB_id_in_list(const uint32_t eNB_id)
-{
-
-  eNB_description_t *eNB_ref;
-
-  STAILQ_FOREACH(eNB_ref, &eNB_list_head, eNB_entries) {
-    if (eNB_ref->eNB_id == eNB_id) {
-      /* We found a matching reference, return it */
-      return eNB_ref;
-    }
-  }
-  /* No matching eNB, return NULL */
-  return eNB_ref;
-}
-
-eNB_description_t* s1ap_is_eNB_assoc_id_in_list(const uint32_t sctp_assoc_id)
-{
-
-  eNB_description_t *eNB_ref;
-
-  STAILQ_FOREACH(eNB_ref, &eNB_list_head, eNB_entries) {
-    if (eNB_ref->sctp_assoc_id == sctp_assoc_id) {
-      /* We found a matching reference, return it */
-      return eNB_ref;
-    }
-  }
-  /* No matching eNB or no eNB in list, return NULL */
-  return NULL;
-}
-
-ue_description_t *s1ap_is_ue_eNB_id_in_list(eNB_description_t *eNB_ref,
-    const uint32_t eNB_ue_s1ap_id)
-{
-  ue_description_t *ue_ref;
-
-  DevAssert(eNB_ref != NULL);
-
-  STAILQ_FOREACH(ue_ref, &eNB_ref->ue_list_head, ue_entries) {
-    if (ue_ref->eNB_ue_s1ap_id == eNB_ue_s1ap_id) {
-      return ue_ref;
-    }
-  }
-
-  return NULL;
-}
-
-ue_description_t* s1ap_is_ue_mme_id_in_list(const uint32_t mme_ue_s1ap_id)
-{
-
-  ue_description_t *ue_ref;
-  eNB_description_t *eNB_ref;
-
-  STAILQ_FOREACH(eNB_ref, &eNB_list_head, eNB_entries) {
-    STAILQ_FOREACH(ue_ref, &eNB_ref->ue_list_head, ue_entries) {
-      // We found a matching reference, return it
-      if (ue_ref->mme_ue_s1ap_id == mme_ue_s1ap_id) {
-        return ue_ref;
-      }
-    }
-  }
-
-  return NULL;
-}
-
-ue_description_t* s1ap_is_teid_in_list(const uint32_t teid)
-{
-
-  ue_description_t *ue_ref;
-  eNB_description_t *eNB_ref;
-
-  STAILQ_FOREACH(eNB_ref, &eNB_list_head, eNB_entries) {
-    STAILQ_FOREACH(ue_ref, &eNB_ref->ue_list_head, ue_entries) {
-      // We found a matching reference, return it
-      if (ue_ref->teid == teid) {
-        return ue_ref;
-      }
-    }
-  }
-
-  return NULL;
-}
-
-eNB_description_t* s1ap_new_eNB(void)
-{
-
-  eNB_description_t *eNB_ref = NULL;
-
-  eNB_ref = calloc(1, sizeof(eNB_description_t));
-  /* Something bad happened during malloc...
-   * May be we are running out of memory.
-   * TODO: Notify eNB with a cause like Hardware Failure.
-   */
-  DevAssert(eNB_ref != NULL);
-
-  // Update number of eNB associated
-  nb_eNB_associated++;
-
-  STAILQ_INIT(&eNB_ref->ue_list_head);
-
-  eNB_ref->nb_ue_associated = 0;
-
-  STAILQ_INSERT_TAIL(&eNB_list_head, eNB_ref, eNB_entries);
-
-  return eNB_ref;
-}
-
-ue_description_t* s1ap_new_ue(const uint32_t sctp_assoc_id)
-{
-
-  eNB_description_t *eNB_ref = NULL;
-  ue_description_t  *ue_ref  = NULL;
-
-  eNB_ref = s1ap_is_eNB_assoc_id_in_list(sctp_assoc_id);
-  DevAssert(eNB_ref != NULL);
-
-  ue_ref = calloc(1, sizeof(ue_description_t));
-  /* Something bad happened during malloc...
-   * May be we are running out of memory.
-   * TODO: Notify eNB with a cause like Hardware Failure.
-   */
-  DevAssert(ue_ref != NULL);
-
-  ue_ref->eNB = eNB_ref;
-
-  // Increment number of UE
-  eNB_ref->nb_ue_associated++;
-  STAILQ_INSERT_TAIL(&eNB_ref->ue_list_head, ue_ref, ue_entries);
-
-  return ue_ref;
-}
-
-void s1ap_remove_ue(ue_description_t *ue_ref)
-{
-  eNB_description_t *eNB_ref;
-
-  /* NULL reference... */
-  if (ue_ref == NULL) return;
-
-  eNB_ref = ue_ref->eNB;
-
-  /* Updating number of UE */
-  eNB_ref->nb_ue_associated--;
-  /* Remove any attached timer */
-  //     s1ap_timer_remove_ue(ue_ref->mme_ue_s1ap_id);
-
-  STAILQ_REMOVE(&eNB_ref->ue_list_head, ue_ref, ue_description_s, ue_entries);
-  eNB_ref->nb_ue_associated--;
-
-  /* Freeing memory */
-  free(ue_ref);
-  ue_ref = NULL;
-}
-
-void s1ap_remove_eNB(eNB_description_t *eNB_ref)
-{
-  ue_description_t *ue_ref;
-
-  if (eNB_ref == NULL) return;
-
-  while (!STAILQ_EMPTY(&eNB_ref->ue_list_head)) {
-    ue_ref = STAILQ_FIRST(&eNB_ref->ue_list_head);
-    eNB_ref->nb_ue_associated--;
-    STAILQ_REMOVE_HEAD(&eNB_ref->ue_list_head, ue_entries);
-    free(ue_ref);
-  }
-
-  STAILQ_REMOVE(&eNB_list_head, eNB_ref, eNB_description_s, eNB_entries);
-
-  free(eNB_ref);
-  eNB_ref = NULL;
-  nb_eNB_associated--;
-}
-
-#endif
diff --git a/openair-cn/S1AP/s1ap_mme.h b/openair-cn/S1AP/s1ap_mme.h
deleted file mode 100644
index 1b33ec297dffc52ffe7e1f950ebba057cc5e2d0d..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#if !defined(MME_CLIENT_TEST)
-# include "intertask_interface.h"
-#endif
-
-#include "mme_config.h"
-
-#ifndef S1AP_MME_H_
-#define S1AP_MME_H_
-
-// Forward declarations
-struct eNB_description_s;
-
-enum s1_eNB_state_s {
-  S1AP_RESETING,      ///< After a reset request (eNB or MME initiated)
-  S1AP_READY          ///< MME and eNB are S1 associated, UE contexts can be added
-};
-
-enum s1_ue_state_s {
-  S1AP_UE_WAITING_CSR,    ///< Waiting for Initial Context Setup Response
-  S1AP_UE_HANDOVER,       ///< Handover procedure triggered
-  S1AP_UE_CONNECTED,      ///< UE context ready
-};
-
-/** Main structure representing UE association over s1ap
- *  Generated every time a new InitialUEMessage is received
- **/
-typedef struct ue_description_s {
-  STAILQ_ENTRY(ue_description_s) ue_entries;
-
-  struct eNB_description_s *eNB;           ///< Which eNB this UE is attached to
-
-  enum s1_ue_state_s        s1_ue_state;       ///< S1AP UE state
-
-  unsigned eNB_ue_s1ap_id:24;    ///< Unique UE id over eNB (24 bits wide)
-  uint32_t mme_ue_s1ap_id;    ///< Unique UE id over MME (32 bits wide)
-
-  /** SCTP stream on which S1 message will be sent/received.
-   *  During an UE S1 connection, a pair of streams is
-   *  allocated and is used during all the connection.
-   *  Stream 0 is reserved for non UE signalling.
-   *  @name sctp stream identifier
-   **/
-  /*@{*/
-  uint16_t sctp_stream_recv; ///< eNB -> MME stream
-  uint16_t sctp_stream_send; ///< MME -> eNB stream
-  /*@}*/
-
-  uint32_t teid;
-
-  /* Timer for procedure outcume issued by MME that should be answered */
-  long outcome_response_timer_id;
-} ue_description_t;
-
-/* Main structure representing eNB association over s1ap
- * Generated (or updated) every time a new S1SetupRequest is received.
- */
-typedef struct eNB_description_s {
-  STAILQ_ENTRY(eNB_description_s) eNB_entries;
-
-  enum s1_eNB_state_s s1_state;         ///< State of the eNB S1AP association over MME
-
-  /** eNB related parameters **/
-  /*@{*/
-  char     eNB_name[150];    ///< Printable eNB Name
-  uint32_t eNB_id;           ///< Unique eNB ID
-  uint8_t  default_paging_drx; ///< Default paging DRX interval for eNB
-  /*@}*/
-
-  /** UE list for this eNB **/
-  /*@{*/
-  uint32_t nb_ue_associated; ///< Number of NAS associated UE on this eNB
-  STAILQ_HEAD(ue_list_s, ue_description_s) ue_list_head;
-  /*@}*/
-
-  /** SCTP stuff **/
-  /*@{*/
-  uint32_t sctp_assoc_id;    ///< SCTP association id on this machine
-  uint16_t next_sctp_stream; ///< Next SCTP stream
-  uint16_t instreams;        ///< Number of streams avalaible on eNB -> MME
-  uint16_t outstreams;       ///< Number of streams avalaible on MME -> eNB
-  /*@}*/
-} eNB_description_t;
-
-extern int              hss_associated;
-extern uint32_t         nb_eNB_associated;
-extern mme_config_t    *global_mme_config_p;
-
-/** \brief S1AP layer top init
- * @returns -1 in case of failure
- **/
-int s1ap_mme_init(const mme_config_t *mme_config);
-
-/** \brief Look for given eNB id in the list
- * \param eNB_id The unique eNB id to search in list
- * @returns NULL if no eNB matchs the eNB id, or reference to the eNB element in list if matches
- **/
-eNB_description_t* s1ap_is_eNB_id_in_list(const uint32_t eNB_id);
-
-/** \brief Look for given eNB SCTP assoc id in the list
- * \param eNB_id The unique sctp assoc id to search in list
- * @returns NULL if no eNB matchs the sctp assoc id, or reference to the eNB element in list if matches
- **/
-eNB_description_t* s1ap_is_eNB_assoc_id_in_list(const uint32_t sctp_assoc_id);
-
-/** \brief Look for given ue eNB id in the list
- * \param eNB_id The unique ue_eNB_id to search in list
- * @returns NULL if no UE matchs the ue_eNB_id, or reference to the ue element in list if matches
- **/
-ue_description_t* s1ap_is_ue_eNB_id_in_list(eNB_description_t *eNB_ref,
-    const uint32_t eNB_ue_s1ap_id);
-
-/** \brief Look for given ue mme id in the list
- * \param eNB_id The unique ue_mme_id to search in list
- * @returns NULL if no UE matchs the ue_mme_id, or reference to the ue element in list if matches
- **/
-ue_description_t* s1ap_is_ue_mme_id_in_list(const uint32_t ue_mme_id);
-ue_description_t* s1ap_is_teid_in_list(const uint32_t teid);
-
-/** \brief Allocate and add to the list a new eNB descriptor
- * @returns Reference to the new eNB element in list
- **/
-eNB_description_t* s1ap_new_eNB(void);
-
-/** \brief Allocate and add to the right eNB list a new UE descriptor
- * \param sctp_assoc_id association ID over SCTP
- * @returns Reference to the new UE element in list
- **/
-ue_description_t* s1ap_new_ue(const uint32_t sctp_assoc_id);
-
-/** \brief Dump the eNB list
- * Calls dump_eNB for each eNB in list
- **/
-void s1ap_dump_eNB_list(void);
-
-/** \brief Dump eNB related information.
- * Calls dump_ue for each UE in list
- * \param eNB_ref eNB structure reference to dump
- **/
-void s1ap_dump_eNB(eNB_description_t *eNB_ref);
-
-/** \brief Dump UE related information.
- * \param ue_ref ue structure reference to dump
- **/
-void s1ap_dump_ue(ue_description_t *ue_ref);
-
-/** \brief Remove target UE from the list
- * \param ue_ref UE structure reference to remove
- **/
-void s1ap_remove_ue(ue_description_t *ue_ref);
-
-/** \brief Remove target eNB from the list and remove any UE associated
- * \param eNB_ref eNB structure reference to remove
- **/
-void s1ap_remove_eNB(eNB_description_t *eNB_ref);
-
-#endif /* S1AP_MME_H_ */
diff --git a/openair-cn/S1AP/s1ap_mme_decoder.c b/openair-cn/S1AP/s1ap_mme_decoder.c
deleted file mode 100644
index 4ee8aca34b44d23bf61c4e1b61cbbf77c7cf95dc..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_decoder.c
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file s1ap_mme_decoder.c
- * \brief s1ap decode procedures for MME
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2012
- * \version 0.1
- */
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "assertions.h"
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_mme_decoder.h"
-#include "s1ap_mme_handlers.h"
-
-#if !defined(MME_CLIENT_TEST)
-# include "intertask_interface.h"
-#endif
-
-#include "assertions.h"
-
-static int s1ap_mme_decode_initiating(
-  s1ap_message *message, S1ap_InitiatingMessage_t *initiating_p)
-{
-  int ret = -1;
-
-  MessageDef *message_p;
-  char       *message_string = NULL;
-  size_t      message_string_size;
-  MessagesIds message_id;
-
-  DevAssert(initiating_p != NULL);
-
-  message_string = calloc(10000, sizeof(char));
-  s1ap_string_total_size = 0;
-
-  message->procedureCode = initiating_p->procedureCode;
-  message->criticality   = initiating_p->criticality;
-
-  switch(initiating_p->procedureCode) {
-  case S1ap_ProcedureCode_id_uplinkNASTransport: {
-    ret = s1ap_decode_s1ap_uplinknastransporties(
-            &message->msg.s1ap_UplinkNASTransportIEs, &initiating_p->value);
-    s1ap_xer_print_s1ap_uplinknastransport(s1ap_xer__print2sp, message_string,
-                                           message);
-    message_id = S1AP_UPLINK_NAS_LOG;
-  }
-  break;
-
-  case S1ap_ProcedureCode_id_S1Setup: {
-    ret = s1ap_decode_s1ap_s1setuprequesties(&message->msg.s1ap_S1SetupRequestIEs,
-          &initiating_p->value);
-    s1ap_xer_print_s1ap_s1setuprequest(s1ap_xer__print2sp, message_string, message);
-    message_id = S1AP_S1_SETUP_LOG;
-  }
-  break;
-
-  case S1ap_ProcedureCode_id_initialUEMessage: {
-    ret = s1ap_decode_s1ap_initialuemessageies(
-            &message->msg.s1ap_InitialUEMessageIEs,
-            &initiating_p->value);
-    s1ap_xer_print_s1ap_initialuemessage(s1ap_xer__print2sp, message_string,
-                                         message);
-    message_id = S1AP_INITIAL_UE_MESSAGE_LOG;
-  }
-  break;
-
-  case S1ap_ProcedureCode_id_UEContextReleaseRequest: {
-    ret = s1ap_decode_s1ap_uecontextreleaserequesties(
-            &message->msg.s1ap_UEContextReleaseRequestIEs, &initiating_p->value);
-    s1ap_xer_print_s1ap_uecontextreleaserequest(s1ap_xer__print2sp, message_string,
-        message);
-    message_id = S1AP_UE_CONTEXT_RELEASE_REQ_LOG;
-  }
-  break;
-
-  case S1ap_ProcedureCode_id_UECapabilityInfoIndication: {
-    ret = s1ap_decode_s1ap_uecapabilityinfoindicationies(
-            &message->msg.s1ap_UECapabilityInfoIndicationIEs, &initiating_p->value);
-    s1ap_xer_print_s1ap_uecapabilityinfoindication(s1ap_xer__print2sp,
-        message_string, message);
-    message_id = S1AP_UE_CAPABILITY_IND_LOG;
-  }
-  break;
-
-  case S1ap_ProcedureCode_id_NASNonDeliveryIndication: {
-	ret = s1ap_decode_s1ap_nasnondeliveryindication_ies(
-	            &message->msg.s1ap_NASNonDeliveryIndication_IEs, &initiating_p->value);
-	s1ap_xer_print_s1ap_nasnondeliveryindication_(s1ap_xer__print2sp,
-	        message_string, message);
-	message_id = S1AP_NAS_NON_DELIVERY_IND_LOG;
-  }
-  break;
-
-  default: {
-    S1AP_ERROR("Unknown procedure ID (%d) for initiating message\n",
-               (int)initiating_p->procedureCode);
-    AssertFatal(0, "Unknown procedure ID (%d) for initiating message\n",
-                (int)initiating_p->procedureCode);
-  }
-  break;
-  }
-
-  message_string_size = strlen(message_string);
-
-  message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
-  message_p->ittiMsg.s1ap_uplink_nas_log.size = message_string_size;
-  memcpy(&message_p->ittiMsg.s1ap_uplink_nas_log.text, message_string, message_string_size);
-
-  itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
-
-  free(message_string);
-
-  return ret;
-}
-
-static int s1ap_mme_decode_successfull_outcome(
-  s1ap_message *message, S1ap_SuccessfulOutcome_t *successfullOutcome_p)
-{
-  int ret                         = -1;
-  MessageDef *message_p           = NULL;
-  char       *message_string      = NULL;
-  size_t      message_string_size = 0;
-  MessagesIds message_id          = MESSAGES_ID_MAX;
-
-  DevAssert(successfullOutcome_p != NULL);
-
-  message_string = calloc(10000, sizeof(char));
-  s1ap_string_total_size = 0;
-
-  message->procedureCode = successfullOutcome_p->procedureCode;
-  message->criticality   = successfullOutcome_p->criticality;
-
-  switch(successfullOutcome_p->procedureCode) {
-  case S1ap_ProcedureCode_id_InitialContextSetup: {
-    ret = s1ap_decode_s1ap_initialcontextsetupresponseies(
-            &message->msg.s1ap_InitialContextSetupResponseIEs,
-            &successfullOutcome_p->value);
-    s1ap_xer_print_s1ap_initialcontextsetupresponse(s1ap_xer__print2sp,
-        message_string, message);
-    message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
-  }
-  break;
-
-  case S1ap_ProcedureCode_id_UEContextRelease: {
-    ret = s1ap_decode_s1ap_uecontextreleasecompleteies(
-            &message->msg.s1ap_UEContextReleaseCompleteIEs, &successfullOutcome_p->value);
-    s1ap_xer_print_s1ap_uecontextreleasecomplete(s1ap_xer__print2sp,
-        message_string, message);
-    message_id = S1AP_UE_CONTEXT_RELEASE_LOG;
-  }
-  break;
-
-  default: {
-    S1AP_ERROR("Unknown procedure ID (%ld) for successfull outcome message\n",
-               successfullOutcome_p->procedureCode);
-  }
-  break;
-  }
-
-  message_string_size = strlen(message_string);
-
-  message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
-  message_p->ittiMsg.s1ap_initial_context_setup_log.size = message_string_size;
-  memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, message_string, message_string_size);
-
-  itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
-
-  free(message_string);
-
-  return ret;
-}
-
-static int s1ap_mme_decode_unsuccessfull_outcome(
-  s1ap_message *message, S1ap_UnsuccessfulOutcome_t *unSuccessfulOutcome_p)
-{
-  int ret = -1;
-
-  MessageDef *message_p;
-  char       *message_string = NULL;
-  size_t      message_string_size;
-  MessagesIds message_id;
-
-  DevAssert(unSuccessfulOutcome_p != NULL);
-
-  message_string = calloc(10000, sizeof(char));
-  s1ap_string_total_size = 0;
-
-  message->procedureCode = unSuccessfulOutcome_p->procedureCode;
-  message->criticality   = unSuccessfulOutcome_p->criticality;
-
-  switch(unSuccessfulOutcome_p->procedureCode) {
-  case S1ap_ProcedureCode_id_InitialContextSetup: {
-    ret = s1ap_decode_s1ap_initialcontextsetupfailureies(
-            &message->msg.s1ap_InitialContextSetupFailureIEs, &unSuccessfulOutcome_p->value);
-    s1ap_xer_print_s1ap_initialcontextsetupfailure(s1ap_xer__print2sp,
-        message_string, message);
-    message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
-  }
-  break;
-
-  default: {
-    S1AP_ERROR("Unknown procedure ID (%d) for unsuccessfull outcome message\n",
-               (int)unSuccessfulOutcome_p->procedureCode);
-  }
-  break;
-  }
-
-  message_string_size = strlen(message_string);
-
-  message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
-  message_p->ittiMsg.s1ap_initial_context_setup_log.size = message_string_size;
-  memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, message_string, message_string_size);
-
-  itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
-
-  free(message_string);
-
-  return ret;
-}
-
-int s1ap_mme_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t len)
-{
-  S1AP_PDU_t  pdu;
-  S1AP_PDU_t *pdu_p = &pdu;
-  asn_dec_rval_t dec_ret;
-
-  DevAssert(buffer != NULL);
-
-  memset((void *)pdu_p, 0, sizeof(S1AP_PDU_t));
-
-  dec_ret = aper_decode(NULL,
-                        &asn_DEF_S1AP_PDU,
-                        (void **)&pdu_p,
-                        buffer,
-                        len,
-                        0,
-                        0);
-
-  if (dec_ret.code != RC_OK) {
-    S1AP_ERROR("Failed to decode PDU\n");
-    return -1;
-  }
-
-  message->direction = pdu_p->present;
-
-  switch(pdu_p->present) {
-  case S1AP_PDU_PR_initiatingMessage:
-    return s1ap_mme_decode_initiating(message, &pdu_p->choice.initiatingMessage);
-
-  case S1AP_PDU_PR_successfulOutcome:
-    return s1ap_mme_decode_successfull_outcome(message,
-           &pdu_p->choice.successfulOutcome);
-
-  case S1AP_PDU_PR_unsuccessfulOutcome:
-    return s1ap_mme_decode_unsuccessfull_outcome(message,
-           &pdu_p->choice.unsuccessfulOutcome);
-
-  default:
-    S1AP_ERROR("Unknown message outcome (%d) or not implemented",
-               (int)pdu_p->present);
-    break;
-  }
-
-  return -1;
-}
diff --git a/openair-cn/S1AP/s1ap_mme_decoder.h b/openair-cn/S1AP/s1ap_mme_decoder.h
deleted file mode 100644
index 4f5e13c3734b05449f58489b60657322f6f1494a..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_decoder.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-
-#ifndef S1AP_MME_DECODER_H_
-#define S1AP_MME_DECODER_H_
-
-int s1ap_mme_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t len)
-__attribute__ ((warn_unused_result));
-
-#endif /* S1AP_MME_DECODER_H_ */
diff --git a/openair-cn/S1AP/s1ap_mme_encoder.c b/openair-cn/S1AP/s1ap_mme_encoder.c
deleted file mode 100644
index 6209a93334c68ec0bf207a94435b3ba806c93853..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_encoder.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file s1ap_mme_encoder.c
- * \brief s1ap encode procedures for MME
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2012
- * \version 0.1
- */
-
-#include "intertask_interface.h"
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_mme_encoder.h"
-#include "s1ap_mme.h"
-
-#include "assertions.h"
-
-static inline
-int s1ap_mme_encode_initial_context_setup_request(s1ap_message *message_p,
-    uint8_t **buffer, uint32_t *length);
-static inline
-int s1ap_mme_encode_s1setupresponse(s1ap_message *message_p,
-                                    uint8_t **buffer, uint32_t *length);
-static inline
-int s1ap_mme_encode_s1setupfailure(s1ap_message *message_p,
-                                   uint8_t **buffer, uint32_t *length);
-static inline
-int s1ap_mme_encode_ue_context_release_command(s1ap_message *message_p,
-    uint8_t **buffer, uint32_t *length);
-static inline
-int s1ap_mme_encode_downlink_nas_transport(
-  s1ap_message *message_p, uint8_t **buffer, uint32_t *length);
-
-static inline
-int s1ap_mme_encode_initiating(s1ap_message *message_p,
-                               uint8_t **buffer,
-                               uint32_t *length);
-static inline
-int s1ap_mme_encode_successfull_outcome(s1ap_message *message_p,
-                                        uint8_t **buffer, uint32_t *len);
-static inline
-int s1ap_mme_encode_unsuccessfull_outcome(s1ap_message *message_p,
-    uint8_t **buffer, uint32_t *len);
-
-static inline
-int s1ap_mme_encode_initial_context_setup_request(s1ap_message *message_p,
-    uint8_t **buffer, uint32_t *length)
-{
-  S1ap_InitialContextSetupRequest_t  initialContextSetupRequest;
-  S1ap_InitialContextSetupRequest_t *initialContextSetupRequest_p =
-    &initialContextSetupRequest;
-
-  memset(initialContextSetupRequest_p, 0, sizeof(S1ap_InitialContextSetupRequest_t));
-
-  if (s1ap_encode_s1ap_initialcontextsetuprequesties(initialContextSetupRequest_p,
-      &message_p->msg.s1ap_InitialContextSetupRequestIEs) < 0) {
-    return -1;
-  }
-
-  return s1ap_generate_initiating_message(buffer,
-                                          length,
-                                          S1ap_ProcedureCode_id_InitialContextSetup,
-                                          S1ap_Criticality_reject,
-                                          &asn_DEF_S1ap_InitialContextSetupRequest,
-                                          initialContextSetupRequest_p);
-}
-
-int s1ap_mme_encode_pdu(s1ap_message *message_p, uint8_t **buffer, uint32_t *length)
-{
-  DevAssert(message_p != NULL);
-  DevAssert(buffer != NULL);
-  DevAssert(length != NULL);
-
-  switch(message_p->direction) {
-  case S1AP_PDU_PR_initiatingMessage:
-    return s1ap_mme_encode_initiating(message_p, buffer, length);
-
-  case S1AP_PDU_PR_successfulOutcome:
-    return s1ap_mme_encode_successfull_outcome(message_p, buffer, length);
-
-  case S1AP_PDU_PR_unsuccessfulOutcome:
-    return s1ap_mme_encode_unsuccessfull_outcome(message_p, buffer, length);
-
-  default:
-    S1AP_DEBUG("Unknown message outcome (%d) or not implemented",
-               (int)message_p->direction);
-    break;
-  }
-
-  return -1;
-}
-
-static inline
-int s1ap_mme_encode_initiating(s1ap_message *message_p,
-                               uint8_t **buffer,
-                               uint32_t *length)
-{
-  switch(message_p->procedureCode) {
-  case S1ap_ProcedureCode_id_downlinkNASTransport:
-    return s1ap_mme_encode_downlink_nas_transport(message_p, buffer, length);
-
-  case S1ap_ProcedureCode_id_InitialContextSetup:
-    return s1ap_mme_encode_initial_context_setup_request(message_p, buffer, length);
-
-  case S1ap_ProcedureCode_id_UEContextRelease:
-    return s1ap_mme_encode_ue_context_release_command(message_p, buffer, length);
-
-  default:
-    S1AP_DEBUG("Unknown procedure ID (%d) for initiating message_p\n",
-               (int)message_p->procedureCode);
-    break;
-  }
-
-  return -1;
-}
-
-static inline
-int s1ap_mme_encode_successfull_outcome(s1ap_message *message_p,
-                                        uint8_t **buffer, uint32_t *length)
-{
-  switch(message_p->procedureCode) {
-  case S1ap_ProcedureCode_id_S1Setup:
-    return s1ap_mme_encode_s1setupresponse(message_p, buffer, length);
-
-  default:
-    S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message\n",
-               (int)message_p->procedureCode);
-    break;
-  }
-
-  return -1;
-}
-
-static inline
-int s1ap_mme_encode_unsuccessfull_outcome(s1ap_message *message_p,
-    uint8_t **buffer, uint32_t *length)
-{
-  switch(message_p->procedureCode) {
-  case S1ap_ProcedureCode_id_S1Setup:
-    return s1ap_mme_encode_s1setupfailure(message_p, buffer, length);
-
-  default:
-    S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message\n",
-               (int)message_p->procedureCode);
-    break;
-  }
-
-  return -1;
-}
-
-static inline
-int s1ap_mme_encode_s1setupresponse(s1ap_message *message_p,
-                                    uint8_t **buffer, uint32_t *length)
-{
-  S1ap_S1SetupResponse_t  s1SetupResponse;
-  S1ap_S1SetupResponse_t *s1SetupResponse_p = &s1SetupResponse;
-
-  memset(s1SetupResponse_p, 0, sizeof(S1ap_S1SetupResponse_t));
-
-  if (s1ap_encode_s1ap_s1setupresponseies(s1SetupResponse_p, &message_p->msg.s1ap_S1SetupResponseIEs) < 0) {
-    return -1;
-  }
-
-  return s1ap_generate_successfull_outcome(buffer,
-         length,
-         S1ap_ProcedureCode_id_S1Setup,
-         message_p->criticality,
-         &asn_DEF_S1ap_S1SetupResponse,
-         s1SetupResponse_p);
-}
-
-static inline
-int s1ap_mme_encode_s1setupfailure(s1ap_message *message_p,
-                                   uint8_t **buffer, uint32_t *length)
-{
-  S1ap_S1SetupFailure_t  s1SetupFailure;
-  S1ap_S1SetupFailure_t *s1SetupFailure_p = &s1SetupFailure;
-
-  memset(s1SetupFailure_p, 0, sizeof(S1ap_S1SetupFailure_t));
-
-  if (s1ap_encode_s1ap_s1setupfailureies(s1SetupFailure_p, &message_p->msg.s1ap_S1SetupFailureIEs) < 0) {
-    return -1;
-  }
-
-  return s1ap_generate_unsuccessfull_outcome(buffer,
-         length,
-         S1ap_ProcedureCode_id_S1Setup,
-         message_p->criticality,
-         &asn_DEF_S1ap_S1SetupFailure,
-         s1SetupFailure_p);
-}
-
-static inline
-int s1ap_mme_encode_downlink_nas_transport(
-  s1ap_message *message_p, uint8_t **buffer, uint32_t *length)
-{
-  S1ap_DownlinkNASTransport_t  downlinkNasTransport;
-  S1ap_DownlinkNASTransport_t *downlinkNasTransport_p = &downlinkNasTransport;
-
-  memset(downlinkNasTransport_p, 0, sizeof(S1ap_DownlinkNASTransport_t));
-
-  /* Convert IE structure into asn1 message_p */
-  if (s1ap_encode_s1ap_downlinknastransporties(downlinkNasTransport_p,
-      &message_p->msg.s1ap_DownlinkNASTransportIEs) < 0) {
-    return -1;
-  }
-
-  /* Generate Initiating message_p for the list of IEs */
-  return s1ap_generate_initiating_message(buffer,
-                                          length,
-                                          S1ap_ProcedureCode_id_downlinkNASTransport,
-                                          message_p->criticality,
-                                          &asn_DEF_S1ap_DownlinkNASTransport,
-                                          downlinkNasTransport_p);
-}
-
-static inline
-int s1ap_mme_encode_ue_context_release_command(s1ap_message *message_p,
-    uint8_t **buffer, uint32_t *length)
-{
-  S1ap_UEContextReleaseCommand_t  ueContextReleaseCommand;
-  S1ap_UEContextReleaseCommand_t *ueContextReleaseCommand_p = &ueContextReleaseCommand;
-
-  memset(ueContextReleaseCommand_p, 0, sizeof(S1ap_UEContextReleaseCommand_t));
-
-  /* Convert IE structure into asn1 message_p */
-  if (s1ap_encode_s1ap_uecontextreleasecommandies(ueContextReleaseCommand_p,
-      &message_p->msg.s1ap_UEContextReleaseCommandIEs) < 0) {
-    return -1;
-  }
-
-  return s1ap_generate_initiating_message(buffer,
-                                          length,
-                                          S1ap_ProcedureCode_id_UEContextRelease,
-                                          message_p->criticality,
-                                          &asn_DEF_S1ap_UEContextReleaseCommand,
-                                          ueContextReleaseCommand_p);
-}
diff --git a/openair-cn/S1AP/s1ap_mme_encoder.h b/openair-cn/S1AP/s1ap_mme_encoder.h
deleted file mode 100644
index fb8c6adf89444138de63447dc496dd0dba404b3e..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_encoder.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdint.h>
-
-#ifndef S1AP_MME_ENCODER_H_
-#define S1AP_MME_ENCODER_H_
-
-int s1ap_mme_encode_pdu(s1ap_message *message, uint8_t **buffer, uint32_t *len)
-__attribute__ ((warn_unused_result));
-
-#endif /* S1AP_MME_ENCODER_H_ */
diff --git a/openair-cn/S1AP/s1ap_mme_handlers.c b/openair-cn/S1AP/s1ap_mme_handlers.c
deleted file mode 100644
index e1a9d48059bb954933634527d8b39a8cb535b5e1..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_handlers.c
+++ /dev/null
@@ -1,1212 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-
-#include "mme_config.h"
-#include "assertions.h"
-#include "conversions.h"
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_mme_encoder.h"
-#include "s1ap_mme_handlers.h"
-#include "s1ap_mme_nas_procedures.h"
-
-#include "s1ap_mme_itti_messaging.h"
-
-#include "s1ap_mme.h"
-#include "s1ap_mme_ta.h"
-#include "msc.h"
-
-static int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association);
-static int s1ap_mme_generate_ue_context_release_command(
-  ue_description_t *ue_ref);
-
-//Forward declaration
-struct s1ap_message_s;
-
-/* Handlers matrix. Only mme related procedures present here.
- */
-s1ap_message_decoded_callback messages_callback[][3] = {
-  { 0, 0, 0 }, /* HandoverPreparation */
-  { 0, 0, 0 }, /* HandoverResourceAllocation */
-  { 0, 0, 0 }, /* HandoverNotification */
-  { s1ap_mme_handle_path_switch_request, 0, 0 }, /* PathSwitchRequest */
-  { 0, 0, 0 }, /* HandoverCancel */
-  { 0, 0, 0 }, /* E_RABSetup */
-  { 0, 0, 0 }, /* E_RABModify */
-  { 0, 0, 0 }, /* E_RABRelease */
-  { 0, 0, 0 }, /* E_RABReleaseIndication */
-  {
-    0, s1ap_mme_handle_initial_context_setup_response,
-    s1ap_mme_handle_initial_context_setup_failure
-  }, /* InitialContextSetup */
-  { 0, 0, 0 }, /* Paging */
-  { 0, 0, 0 }, /* downlinkNASTransport */
-  { s1ap_mme_handle_initial_ue_message, 0, 0 }, /* initialUEMessage */
-  { s1ap_mme_handle_uplink_nas_transport, 0, 0 }, /* uplinkNASTransport */
-  { 0, 0, 0 }, /* Reset */
-  { 0, 0, 0 }, /* ErrorIndication */
-  { s1ap_mme_handle_nas_non_delivery, 0, 0 }, /* NASNonDeliveryIndication */
-  { s1ap_mme_handle_s1_setup_request, 0, 0 }, /* S1Setup */
-  { s1ap_mme_handle_ue_context_release_request, 0, 0 }, /* UEContextReleaseRequest */
-  { 0, 0, 0 }, /* DownlinkS1cdma2000tunneling */
-  { 0, 0, 0 }, /* UplinkS1cdma2000tunneling */
-  { 0, 0, 0 }, /* UEContextModification */
-  { s1ap_mme_handle_ue_cap_indication, 0, 0 }, /* UECapabilityInfoIndication*/
-  {
-    s1ap_mme_handle_ue_context_release_request,
-    s1ap_mme_handle_ue_context_release_complete, 0
-  }, /* UEContextRelease*/
-  { 0, 0, 0 }, /* eNBStatusTransfer*/
-  { 0, 0, 0 }, /* MMEStatusTransfer*/
-  { 0, 0, 0 }, /* DeactivateTrace*/
-  { 0, 0, 0 }, /* TraceStart*/
-  { 0, 0, 0 }, /* TraceFailureIndication*/
-  { 0, 0, 0 }, /* ENBConfigurationUpdate*/
-  { 0, 0, 0 }, /* MMEConfigurationUpdate*/
-  { 0, 0, 0 }, /* LocationReportingControl*/
-  { 0, 0, 0 }, /* LocationReportingFailureIndication*/
-  { 0, 0, 0 }, /* LocationReport*/
-  { 0, 0, 0 }, /* OverloadStart*/
-  { 0, 0, 0 }, /* OverloadStop*/
-  { 0, 0, 0 }, /* WriteReplaceWarning*/
-  { 0, 0, 0 }, /* eNBDirectInformationTransfer*/
-  { 0, 0, 0 }, /* MMEDirectInformationTransfer*/
-  { 0, 0, 0 }, /* PrivateMessage*/
-  { 0, 0, 0 }, /* eNBConfigurationTransfer*/
-  { 0, 0, 0 }, /* MMEConfigurationTransfer*/
-  { 0, 0, 0 }, /* CellTrafficTrace */
-#if defined(UPDATE_RELEASE_9)
-  { 0, 0, 0 }, /* Kill */
-  { 0, 0, 0 }, /* DownlinkUEAssociatedLPPaTransport  */
-  { 0, 0, 0 }, /* UplinkUEAssociatedLPPaTransport */
-  { 0, 0, 0 }, /* DownlinkNonUEAssociatedLPPaTransport */
-  { 0, 0, 0 }, /* UplinkNonUEAssociatedLPPaTransport */
-#endif
-};
-
-const char *s1ap_direction2String[] = {
-  "", /* Nothing */
-  "Originating message", /* originating message */
-  "Successfull outcome", /* successfull outcome */
-  "UnSuccessfull outcome", /* successfull outcome */
-};
-
-//------------------------------------------------------------------------------
-int s1ap_mme_handle_message(uint32_t assoc_id, uint32_t stream,
-                            struct s1ap_message_s *message)
-//------------------------------------------------------------------------------
-{
-  /* Checking procedure Code and direction of message */
-  if ((message->procedureCode > (sizeof(messages_callback) / (3 * sizeof(
-                                   s1ap_message_decoded_callback)))) ||
-      (message->direction > S1AP_PDU_PR_unsuccessfulOutcome)) {
-
-    S1AP_DEBUG("[SCTP %d] Either procedureCode %d or direction %d exceed expected\n",
-               assoc_id, (int)message->procedureCode, (int)message->direction);
-    return -1;
-  }
-
-  /* No handler present.
-  * This can mean not implemented or no procedure for eNB (wrong message).
-  */
-  if (messages_callback[message->procedureCode][message->direction-1] == NULL) {
-    S1AP_DEBUG("[SCTP %d] No handler for procedureCode %d in %s\n", assoc_id,
-               (int)message->procedureCode,
-               s1ap_direction2String[(int)message->direction]);
-    return -2;
-  }
-
-  /* Calling the right handler */
-  return (*messages_callback[message->procedureCode][message->direction-1])(
-           assoc_id, stream, message);
-}
-
-//------------------------------------------------------------------------------
-int s1ap_mme_set_cause(S1ap_Cause_t *cause_p, S1ap_Cause_PR cause_type, long cause_value)
-//------------------------------------------------------------------------------
-{
-  DevAssert(cause_p != NULL);
-
-  cause_p->present = cause_type;
-
-  switch(cause_type) {
-  case S1ap_Cause_PR_radioNetwork:
-    cause_p->choice.misc = cause_value;
-    break;
-
-  case S1ap_Cause_PR_transport:
-    cause_p->choice.transport = cause_value;
-    break;
-
-  case S1ap_Cause_PR_nas:
-    cause_p->choice.nas = cause_value;
-    break;
-
-  case S1ap_Cause_PR_protocol:
-    cause_p->choice.protocol = cause_value;
-    break;
-
-  case S1ap_Cause_PR_misc:
-    cause_p->choice.misc = cause_value;
-    break;
-
-  default:
-    return -1;
-  }
-
-  return 0;
-}
-
-//------------------------------------------------------------------------------
-int s1ap_mme_generate_s1_setup_failure(
-  uint32_t assoc_id, S1ap_Cause_PR cause_type, long cause_value,
-  long time_to_wait)
-//------------------------------------------------------------------------------
-{
-  uint8_t *buffer_p;
-  uint32_t length;
-  s1ap_message message;
-  S1ap_S1SetupFailureIEs_t *s1_setup_failure_p;
-
-  memset(&message, 0, sizeof(s1ap_message));
-
-  s1_setup_failure_p = &message.msg.s1ap_S1SetupFailureIEs;
-
-  message.procedureCode = S1ap_ProcedureCode_id_S1Setup;
-  message.direction     = S1AP_PDU_PR_unsuccessfulOutcome;
-
-  s1ap_mme_set_cause(&s1_setup_failure_p->cause, cause_type, cause_value);
-
-  /* Include the optional field time to wait only if the value is > -1 */
-  if (time_to_wait > -1) {
-    s1_setup_failure_p->presenceMask |= S1AP_S1SETUPFAILUREIES_TIMETOWAIT_PRESENT;
-    s1_setup_failure_p->timeToWait = time_to_wait;
-  }
-
-  if (s1ap_mme_encode_pdu(&message, &buffer_p, &length) < 0) {
-    S1AP_ERROR("Failed to encode s1 setup failure\n");
-    return -1;
-  }
-  MSC_LOG_TX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 S1Setup/unsuccessfulOutcome  assoc_id %u cause %u value %u",
-  		assoc_id, cause_type, cause_value);
-  return s1ap_mme_itti_send_sctp_request(buffer_p, length, assoc_id, 0);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//************************** Management procedures ***************************//
-////////////////////////////////////////////////////////////////////////////////
-
-//------------------------------------------------------------------------------
-int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream,
-                                     struct s1ap_message_s *message)
-//------------------------------------------------------------------------------
-{
-  if (hss_associated) {
-    S1ap_S1SetupRequestIEs_t *s1SetupRequest_p;
-    eNB_description_t *eNB_association;
-    uint32_t eNB_id = 0;
-    char *eNB_name = NULL;
-    int ta_ret;
-    uint16_t max_enb_connected;
-
-    DevAssert(message != NULL);
-
-    s1SetupRequest_p = &message->msg.s1ap_S1SetupRequestIEs;
-
-    /* We received a new valid S1 Setup Request on a stream != 0.
-     * This should not happen -> reject eNB s1 setup request.
-     */
-    MSC_LOG_RX_MESSAGE(
-    		MSC_S1AP_MME,
-    		MSC_S1AP_ENB,
-    		NULL,0,
-    		"0 S1Setup/%s assoc_id %u stream %u",
-    		s1ap_direction2String[message->direction],
-    		assoc_id, stream);
-
-    if (stream != 0) {
-      S1AP_ERROR("Received new s1 setup request on stream != 0\n");
-      /* Send a s1 setup failure with protocol cause unspecified */
-      return s1ap_mme_generate_s1_setup_failure(assoc_id, S1ap_Cause_PR_protocol,
-             S1ap_CauseProtocol_unspecified, -1);
-    }
-
-    S1AP_DEBUG("New s1 setup request incoming from ");
-
-    if (s1SetupRequest_p->presenceMask & S1AP_S1SETUPREQUESTIES_ENBNAME_PRESENT) {
-      S1AP_DEBUG("%*s ", s1SetupRequest_p->eNBname.size, s1SetupRequest_p->eNBname.buf);
-      eNB_name = (char *)s1SetupRequest_p->eNBname.buf;
-    }
-
-    if (s1SetupRequest_p->global_ENB_ID.eNB_ID.present == S1ap_ENB_ID_PR_homeENB_ID) {
-      // Home eNB ID = 28 bits
-      uint8_t *eNB_id_buf =
-        s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.homeENB_ID.buf;
-
-      if (s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.size != 28) {
-        //TODO: handle case were size != 28 -> notify ? reject ?
-      }
-
-      eNB_id = (eNB_id_buf[0] << 20) + (eNB_id_buf[1] << 12) +
-               (eNB_id_buf[2] << 4) + ((eNB_id_buf[3] & 0xf0) >> 4);
-      S1AP_DEBUG("home eNB id: %07x\n", eNB_id);
-    } else {
-      // Macro eNB = 20 bits
-      uint8_t *eNB_id_buf =
-        s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.buf;
-
-      if (s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.size != 20) {
-        //TODO: handle case were size != 20 -> notify ? reject ?
-      }
-
-      eNB_id = (eNB_id_buf[0] << 12) + (eNB_id_buf[1] << 4) + ((
-                 eNB_id_buf[2] & 0xf0) >> 4);
-      S1AP_DEBUG("macro eNB id: %05x\n", eNB_id);
-    }
-
-    config_read_lock(&mme_config);
-    max_enb_connected = mme_config.max_eNBs;
-    config_unlock(&mme_config);
-
-    if (nb_eNB_associated == max_enb_connected) {
-      S1AP_ERROR("There is too much eNB connected to MME, rejecting the association\n");
-      S1AP_DEBUG("Connected = %d, maximum allowed = %d\n", nb_eNB_associated,
-                 max_enb_connected);
-
-      /* Send an overload cause... */
-      return s1ap_mme_generate_s1_setup_failure(assoc_id, S1ap_Cause_PR_misc,
-             S1ap_CauseMisc_control_processing_overload,
-             S1ap_TimeToWait_v20s);
-    }
-
-    /* If none of the provided PLMNs/TAC match the one configured in MME,
-     * the s1 setup should be rejected with a cause set to Unknown PLMN.
-     */
-    ta_ret = s1ap_mme_compare_ta_lists(&s1SetupRequest_p->supportedTAs);
-
-    /* eNB and MME have no common PLMN */
-    if (ta_ret != TA_LIST_RET_OK) {
-      S1AP_ERROR("No Common PLMN with eNB, generate_s1_setup_failure\n");
-      return s1ap_mme_generate_s1_setup_failure(assoc_id, S1ap_Cause_PR_misc,
-             S1ap_CauseMisc_unknown_PLMN,
-             S1ap_TimeToWait_v20s);
-    }
-
-    S1AP_DEBUG("Adding eNB to the list of served eNBs\n");
-
-    if ((eNB_association = s1ap_is_eNB_id_in_list(eNB_id)) == NULL) {
-      /* eNB has not been fount in list of associated eNB,
-       * Add it to the tail of list and initialize data */
-      if ((eNB_association = s1ap_is_eNB_assoc_id_in_list(assoc_id)) == NULL) {
-        /* ?? */
-        return -1;
-      } else {
-        eNB_association->s1_state = S1AP_RESETING;
-        eNB_association->eNB_id = eNB_id;
-        eNB_association->default_paging_drx = s1SetupRequest_p->defaultPagingDRX;
-
-        if (eNB_name != NULL) {
-          memcpy(eNB_association->eNB_name, s1SetupRequest_p->eNBname.buf,
-                 s1SetupRequest_p->eNBname.size);
-          eNB_association->eNB_name[s1SetupRequest_p->eNBname.size] = '\0';
-        }
-      }
-    } else {
-      eNB_association->s1_state = S1AP_RESETING;
-
-      /* eNB has been fount in list, consider the s1 setup request as a reset connection,
-       * reseting any previous UE state if sctp association is != than the previous one */
-      if (eNB_association->sctp_assoc_id != assoc_id) {
-        S1ap_S1SetupFailureIEs_t s1SetupFailure;
-
-        memset(&s1SetupFailure, 0, sizeof(s1SetupFailure));
-
-        /* Send an overload cause... */
-        s1SetupFailure.cause.present = S1ap_Cause_PR_misc; //TODO: send the right cause
-        s1SetupFailure.cause.choice.misc = S1ap_CauseMisc_control_processing_overload;
-        S1AP_ERROR("Rejeting s1 setup request as eNB id %d is already associated to an active sctp association"
-                   "Previous known: %d, new one: %d\n",
-                   eNB_id, eNB_association->sctp_assoc_id, assoc_id);
-        //             s1ap_mme_encode_s1setupfailure(&s1SetupFailure,
-        //                                            receivedMessage->msg.s1ap_sctp_new_msg_ind.assocId);
-        return -1;
-      }
-
-      /* TODO: call the reset procedure */
-    }
-
-    s1ap_dump_eNB(eNB_association);
-    return s1ap_generate_s1_setup_response(eNB_association);
-  } else {
-    /* Can not process the request, MME is not connected to HSS */
-    S1AP_ERROR("Rejecting s1 setup request Can not process the request, MME is not connected to HSS\n");
-    return s1ap_mme_generate_s1_setup_failure(assoc_id, S1ap_Cause_PR_misc,
-           S1ap_CauseMisc_unspecified, -1);
-  }
-}
-
-//------------------------------------------------------------------------------
-static
-int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association)
-//------------------------------------------------------------------------------
-{
-  int i;
-  int enc_rval = 0;
-  S1ap_S1SetupResponseIEs_t *s1_setup_response_p;
-  S1ap_ServedGUMMEIsItem_t   servedGUMMEI;
-  s1ap_message message;
-  uint8_t *buffer;
-  uint32_t length;
-
-  DevAssert(eNB_association != NULL);
-
-  // Generating response
-  memset(&message, 0, sizeof(s1ap_message));
-  memset(&servedGUMMEI, 0, sizeof(servedGUMMEI));
-
-  s1_setup_response_p = &message.msg.s1ap_S1SetupResponseIEs;
-
-  config_read_lock(&mme_config);
-
-  s1_setup_response_p->relativeMMECapacity = mme_config.relative_capacity;
-
-  /* Use the gummei parameters provided by configuration */
-  for (i = 0; i < mme_config.gummei.nb_plmns; i++) {
-    S1ap_PLMNidentity_t *plmn;
-
-    /* FIXME: free object from list once encoded */
-    plmn = calloc(1, sizeof(*plmn));
-    MCC_MNC_TO_PLMNID(
-      mme_config.gummei.plmn_mcc[i],
-      mme_config.gummei.plmn_mnc[i],
-      mme_config.gummei.plmn_mnc_len[i],
-      plmn);
-    ASN_SEQUENCE_ADD(&servedGUMMEI.servedPLMNs.list, plmn);
-  }
-
-  for (i = 0; i < mme_config.gummei.nb_mme_gid; i++) {
-    S1ap_MME_Group_ID_t *mme_gid;
-
-    /* FIXME: free object from list once encoded */
-    mme_gid = calloc(1, sizeof(*mme_gid));
-    INT16_TO_OCTET_STRING(mme_config.gummei.mme_gid[i], mme_gid);
-    ASN_SEQUENCE_ADD(&servedGUMMEI.servedGroupIDs.list, mme_gid);
-  }
-
-  for (i = 0; i < mme_config.gummei.nb_mmec; i++) {
-    S1ap_MME_Code_t *mmec;
-
-    /* FIXME: free object from list once encoded */
-    mmec = calloc(1, sizeof(*mmec));
-    INT8_TO_OCTET_STRING(mme_config.gummei.mmec[i], mmec);
-    ASN_SEQUENCE_ADD(&servedGUMMEI.servedMMECs.list, mmec);
-  }
-
-  config_unlock(&mme_config);
-
-  /* The MME is only serving E-UTRAN RAT, so the list contains only one element */
-  ASN_SEQUENCE_ADD(&s1_setup_response_p->servedGUMMEIs, &servedGUMMEI);
-
-  message.procedureCode = S1ap_ProcedureCode_id_S1Setup;
-  message.direction     = S1AP_PDU_PR_successfulOutcome;
-
-  enc_rval = s1ap_mme_encode_pdu(&message, &buffer, &length);
-
-  /* Failed to encode s1 setup response... */
-  if (enc_rval < 0) {
-    S1AP_DEBUG("Removed eNB %d\n", eNB_association->sctp_assoc_id);
-    s1ap_remove_eNB(eNB_association);
-  } else {
-    /* Consider the response as sent. S1AP is ready to accept UE contexts */
-    eNB_association->s1_state = S1AP_READY;
-  }
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 S1Setup/successfulOutcome assoc_id %u",
-  		eNB_association->sctp_assoc_id);
-  /* Non-UE signalling -> stream 0 */
-  return s1ap_mme_itti_send_sctp_request(buffer, length, eNB_association->sctp_assoc_id,
-                                         0);
-}
-
-//------------------------------------------------------------------------------
-int s1ap_mme_handle_ue_cap_indication(uint32_t assoc_id, uint32_t stream,
-                                      struct s1ap_message_s *message)
-//------------------------------------------------------------------------------
-{
-  ue_description_t *ue_ref;
-  S1ap_UECapabilityInfoIndicationIEs_t *ue_cap_p;
-
-  DevAssert(message != NULL);
-
-  ue_cap_p = &message->msg.s1ap_UECapabilityInfoIndicationIEs;
-
-  MSC_LOG_RX_MESSAGE(
-	  	MSC_S1AP_MME,
-	  	MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 UECapabilityInfoIndication/%s eNB_ue_s1ap_id "S1AP_UE_ID_FMT" mme_ue_s1ap_id "S1AP_UE_ID_FMT" ",
-		s1ap_direction2String[message->direction],
-		ue_cap_p->eNB_UE_S1AP_ID,
-		ue_cap_p->mme_ue_s1ap_id);
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(ue_cap_p->mme_ue_s1ap_id)) == NULL) {
-    S1AP_DEBUG("No UE is attached to this mme UE s1ap id: "S1AP_UE_ID_FMT"\n",
-               (uint32_t)ue_cap_p->mme_ue_s1ap_id);
-    return -1;
-  }
-
-  if (ue_ref->eNB_ue_s1ap_id != ue_cap_p->eNB_UE_S1AP_ID) {
-    S1AP_DEBUG("Mismatch in eNB UE S1AP ID, known: "S1AP_UE_ID_FMT", received: "S1AP_UE_ID_FMT"\n",
-               ue_ref->eNB_ue_s1ap_id, (uint32_t)ue_cap_p->eNB_UE_S1AP_ID);
-    return -1;
-  }
-
-  /* Just display a warning when message received over wrong stream */
-  if (ue_ref->sctp_stream_recv != stream) {
-    S1AP_ERROR("Received ue capability indication for "
-               "(MME UE S1AP ID/eNB UE S1AP ID) ("S1AP_UE_ID_FMT"/"S1AP_UE_ID_FMT") over wrong stream "
-               "expecting %u, received on %u\n",
-               (uint32_t)ue_cap_p->mme_ue_s1ap_id, ue_ref->eNB_ue_s1ap_id,
-               ue_ref->sctp_stream_recv, stream);
-  }
-
-  /* Forward the ue capabilities to MME application layer */
-  {
-    MessageDef        *message_p;
-    s1ap_ue_cap_ind_t *ue_cap_ind_p;
-
-    message_p = itti_alloc_new_message(TASK_S1AP, S1AP_UE_CAPABILITIES_IND);
-
-    DevAssert(message_p != NULL);
-
-    ue_cap_ind_p = &message_p->ittiMsg.s1ap_ue_cap_ind;
-    ue_cap_ind_p->eNB_ue_s1ap_id = ue_ref->eNB_ue_s1ap_id;
-    ue_cap_ind_p->mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id;
-
-    DevCheck(ue_cap_p->ueRadioCapability.size < 100,
-             100, ue_cap_p->ueRadioCapability.size, 0);
-
-    memcpy(ue_cap_ind_p->radio_capabilities, ue_cap_p->ueRadioCapability.buf,
-           ue_cap_p->ueRadioCapability.size);
-
-    ue_cap_ind_p->radio_capabilities_length = ue_cap_p->ueRadioCapability.size;
-
-    MSC_LOG_TX_MESSAGE(
-    		MSC_S1AP_MME,
-    		MSC_MMEAPP_MME,
-    		NULL,0,
-    		"0 S1AP_UE_CAPABILITIES_IND eNB_ue_s1ap_id "S1AP_UE_ID_FMT" mme_ue_s1ap_id "S1AP_UE_ID_FMT" len %u",
-    	    ue_cap_ind_p->eNB_ue_s1ap_id,
-    	    ue_cap_ind_p->mme_ue_s1ap_id,
-    	    ue_cap_ind_p->radio_capabilities_length);
-
-    return itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-  }
-  return 0;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//******************* Context Management procedures **************************//
-////////////////////////////////////////////////////////////////////////////////
-
-//------------------------------------------------------------------------------
-int s1ap_mme_handle_initial_context_setup_response(
-  uint32_t assoc_id,
-  uint32_t stream,
-  struct s1ap_message_s *message)
-//------------------------------------------------------------------------------
-{
-
-  S1ap_InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs_p = NULL;
-  S1ap_E_RABSetupItemCtxtSURes_t        *eRABSetupItemCtxtSURes_p         = NULL;
-  ue_description_t                      *ue_ref                           = NULL;
-  MessageDef                            *message_p                        = NULL;
-
-  initialContextSetupResponseIEs_p = &message->msg.s1ap_InitialContextSetupResponseIEs;
-
-  MSC_LOG_RX_MESSAGE(
-	  	MSC_S1AP_MME,
-	  	MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 InitialContextSetup/%s eNB_ue_s1ap_id "S1AP_UE_ID_FMT" mme_ue_s1ap_id "S1AP_UE_ID_FMT" len %u",
-		s1ap_direction2String[message->direction],
-  		initialContextSetupResponseIEs_p->eNB_UE_S1AP_ID,
-  		initialContextSetupResponseIEs_p->mme_ue_s1ap_id);
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(
-                  (uint32_t)initialContextSetupResponseIEs_p->mme_ue_s1ap_id)) == NULL) {
-    S1AP_DEBUG("No UE is attached to this mme UE s1ap id: "S1AP_UE_ID_FMT" %u(10)\n",
-               (uint32_t)initialContextSetupResponseIEs_p->mme_ue_s1ap_id,
-               (uint32_t)initialContextSetupResponseIEs_p->mme_ue_s1ap_id);
-    return -1;
-  }
-
-  if (ue_ref->eNB_ue_s1ap_id !=
-      initialContextSetupResponseIEs_p->eNB_UE_S1AP_ID) {
-    S1AP_DEBUG("Mismatch in eNB UE S1AP ID, known: "S1AP_UE_ID_FMT" %u(10), received: 0x%06x %u(10)\n",
-               ue_ref->eNB_ue_s1ap_id,
-               ue_ref->eNB_ue_s1ap_id,
-               (uint32_t)initialContextSetupResponseIEs_p->eNB_UE_S1AP_ID,
-               (uint32_t)initialContextSetupResponseIEs_p->eNB_UE_S1AP_ID);
-    return -1;
-  }
-
-  if (initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.s1ap_E_RABSetupItemCtxtSURes.count
-      != 1) {
-    S1AP_DEBUG("E-RAB creation has failed\n");
-    return -1;
-  }
-
-  ue_ref->s1_ue_state = S1AP_UE_CONNECTED;
-
-  message_p = itti_alloc_new_message(TASK_S1AP, MME_APP_INITIAL_CONTEXT_SETUP_RSP);
-
-  AssertFatal(message_p != NULL,"itti_alloc_new_message Failed");
-  memset((void*)&message_p->ittiMsg.mme_app_initial_context_setup_rsp,
-         0,
-         sizeof(mme_app_initial_context_setup_rsp_t));
-
-  /* Bad, very bad cast... */
-  eRABSetupItemCtxtSURes_p = (S1ap_E_RABSetupItemCtxtSURes_t *)
-                             initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.s1ap_E_RABSetupItemCtxtSURes.array[0];
-
-
-  MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).mme_ue_s1ap_id                      = ue_ref->mme_ue_s1ap_id;
-  MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).eps_bearer_id                       = eRABSetupItemCtxtSURes_p->e_RAB_ID ;
-  MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).bearer_s1u_enb_fteid.ipv4           = 1; // TO DO
-  MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).bearer_s1u_enb_fteid.ipv6           = 0; // TO DO
-  MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).bearer_s1u_enb_fteid.interface_type = S1_U_ENODEB_GTP_U;
-  MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).bearer_s1u_enb_fteid.teid           = htonl(*((uint32_t *)eRABSetupItemCtxtSURes_p->gTP_TEID.buf));
-  memcpy(&MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).bearer_s1u_enb_fteid.ipv4_address,
-         eRABSetupItemCtxtSURes_p->transportLayerAddress.buf,
-         4);
-
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_MMEAPP_MME,
-  		NULL,0,
-  		"0 MME_APP_INITIAL_CONTEXT_SETUP_RSP mme_ue_s1ap_id "S1AP_UE_ID_FMT" ebi %u s1u enb teid %u",
-  		MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).mme_ue_s1ap_id,
-  		MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).eps_bearer_id,
-  		MME_APP_INITIAL_CONTEXT_SETUP_RSP(message_p).bearer_s1u_enb_fteid.teid);
-
-  return itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-}
-
-
-//------------------------------------------------------------------------------
-int s1ap_mme_handle_ue_context_release_request(uint32_t assoc_id,
-    uint32_t stream, struct s1ap_message_s *message)
-//------------------------------------------------------------------------------
-{
-  S1ap_UEContextReleaseRequestIEs_t *ueContextReleaseRequest_p = NULL;
-  ue_description_t                  *ue_ref                    = NULL;
-  MessageDef                        *message_p                 = NULL;
-
-  ueContextReleaseRequest_p = &message->msg.s1ap_UEContextReleaseRequestIEs;
-
-  MSC_LOG_RX_MESSAGE(
-	  	MSC_S1AP_MME,
-	  	MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 UEContextReleaseRequest/%s eNB_ue_s1ap_id "S1AP_UE_ID_FMT" mme_ue_s1ap_id "S1AP_UE_ID_FMT" len %u",
-		s1ap_direction2String[message->direction],
-		ueContextReleaseRequest_p->eNB_UE_S1AP_ID,
-		ueContextReleaseRequest_p->mme_ue_s1ap_id);
-
-  /* The UE context release procedure is initiated if the cause is != than user inactivity.
-   * TS36.413 #8.3.2.2.
-   */
-  if (ueContextReleaseRequest_p->cause.present == S1ap_Cause_PR_radioNetwork) {
-    if (ueContextReleaseRequest_p->cause.choice.radioNetwork ==
-        S1ap_CauseRadioNetwork_user_inactivity) {
-      S1AP_DEBUG("UE_CONTEXT_RELEASE_REQUEST ignored, cause user inactivity\n");
-      MSC_LOG_EVENT(
-        		MSC_S1AP_MME,
-        		"0 UE_CONTEXT_RELEASE_REQUEST ignored, cause user inactivity",
-        		ueContextReleaseRequest_p->mme_ue_s1ap_id);
-      return -1;
-    }
-  }
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(
-                  ueContextReleaseRequest_p->mme_ue_s1ap_id)) == NULL) {
-    /* MME doesn't know the MME UE S1AP ID provided.
-     * TODO
-     */
-    S1AP_DEBUG("UE_CONTEXT_RELEASE_REQUEST ignored cause could not get context with mme_ue_s1ap_id "S1AP_UE_ID_FMT" %u(10)\n",
-               ueContextReleaseRequest_p->mme_ue_s1ap_id,
-               ueContextReleaseRequest_p->mme_ue_s1ap_id);
-    MSC_LOG_EVENT(
-    		MSC_S1AP_MME,
-    		"0 UE_CONTEXT_RELEASE_REQUEST ignored, no context mme_ue_s1ap_id "S1AP_UE_ID_FMT" ",
-    		ueContextReleaseRequest_p->mme_ue_s1ap_id);
-    return -1;
-  } else {
-    if (ue_ref->eNB_ue_s1ap_id == (ueContextReleaseRequest_p->eNB_UE_S1AP_ID &
-                                   0x00ffffff)) {
-      /* Both eNB UE S1AP ID and MME UE S1AP ID match.
-       * -> Send a UE context Release Command to eNB.
-       * TODO
-       */
-      //s1ap_mme_generate_ue_context_release_command(ue_ref);
-      // UE context will be removed when receiving UE_CONTEXT_RELEASE_COMPLETE
-
-      message_p = itti_alloc_new_message(TASK_S1AP, S1AP_UE_CONTEXT_RELEASE_REQ);
-
-      AssertFatal(message_p != NULL,"itti_alloc_new_message Failed");
-      memset((void*)&message_p->ittiMsg.s1ap_ue_context_release_req,
-    	         0,
-    	         sizeof(s1ap_ue_context_release_req_t));
-
-      S1AP_UE_CONTEXT_RELEASE_REQ(message_p).mme_ue_s1ap_id                      = ue_ref->mme_ue_s1ap_id;
-
-      MSC_LOG_TX_MESSAGE(
-    	  		MSC_S1AP_MME,
-    	  		MSC_MMEAPP_MME,
-    	  		NULL,0,
-    	  		"0 S1AP_UE_CONTEXT_RELEASE_REQ mme_ue_s1ap_id "S1AP_UE_ID_FMT" ",
-    	  		S1AP_UE_CONTEXT_RELEASE_REQ(message_p).mme_ue_s1ap_id);
-
-      return itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-
-    } else {
-      // TODO
-      S1AP_DEBUG("UE_CONTEXT_RELEASE_REQUEST ignored, cause mismatch eNB_ue_s1ap_id: ctxt "S1AP_UE_ID_FMT" != request "S1AP_UE_ID_FMT" ",
-          		ue_ref->eNB_ue_s1ap_id, ueContextReleaseRequest_p->eNB_UE_S1AP_ID);
-      MSC_LOG_EVENT(
-          		MSC_S1AP_MME,
-          		"0 UE_CONTEXT_RELEASE_REQUEST ignored, cause mismatch eNB_ue_s1ap_id: ctxt "S1AP_UE_ID_FMT" != request "S1AP_UE_ID_FMT" ",
-          		ue_ref->eNB_ue_s1ap_id, ueContextReleaseRequest_p->eNB_UE_S1AP_ID);
-      return -1;
-    }
-  }
-
-  return 0;
-}
-
-//------------------------------------------------------------------------------
-static int s1ap_mme_generate_ue_context_release_command(
-  ue_description_t *ue_ref)
-//------------------------------------------------------------------------------
-{
-  uint8_t *buffer;
-  uint32_t length;
-
-  s1ap_message message;
-  S1ap_UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs_p;
-
-  if (ue_ref == NULL) {
-    return -1;
-  }
-
-  memset(&message, 0, sizeof(s1ap_message));
-
-  message.procedureCode = S1ap_ProcedureCode_id_UEContextRelease;
-  message.direction     = S1AP_PDU_PR_initiatingMessage;
-
-  ueContextReleaseCommandIEs_p = &message.msg.s1ap_UEContextReleaseCommandIEs;
-
-  /* Fill in ID pair */
-  ueContextReleaseCommandIEs_p->uE_S1AP_IDs.present = S1ap_UE_S1AP_IDs_PR_uE_S1AP_ID_pair;
-  ueContextReleaseCommandIEs_p->uE_S1AP_IDs.choice.uE_S1AP_ID_pair.mME_UE_S1AP_ID =
-    ue_ref->mme_ue_s1ap_id;
-  ueContextReleaseCommandIEs_p->uE_S1AP_IDs.choice.uE_S1AP_ID_pair.eNB_UE_S1AP_ID =
-    ue_ref->eNB_ue_s1ap_id;
-  ueContextReleaseCommandIEs_p->uE_S1AP_IDs.choice.uE_S1AP_ID_pair.iE_Extensions =
-    NULL;
-
-  ueContextReleaseCommandIEs_p->cause.present = S1ap_Cause_PR_radioNetwork;
-  ueContextReleaseCommandIEs_p->cause.choice.radioNetwork =
-    S1ap_CauseRadioNetwork_release_due_to_eutran_generated_reason;
-
-  if (s1ap_mme_encode_pdu(&message, &buffer, &length) < 0) {
-    MSC_LOG_EVENT(
-    		MSC_S1AP_MME,
-    		"0 UEContextRelease/initiatingMessage eNB_ue_s1ap_id "S1AP_UE_ID_FMT" mme_ue_s1ap_id "S1AP_UE_ID_FMT" encoding failed",
-    		ue_ref->eNB_ue_s1ap_id,
-    		ue_ref->mme_ue_s1ap_id);
-    return -1;
-  }
-  MSC_LOG_TX_MESSAGE(
-	  		MSC_S1AP_MME,
-	  		MSC_S1AP_ENB,
-	  		NULL,0,
-	  		"0 UEContextRelease/initiatingMessage eNB_ue_s1ap_id "S1AP_UE_ID_FMT" mme_ue_s1ap_id "S1AP_UE_ID_FMT"",
-	  		ue_ref->eNB_ue_s1ap_id,ue_ref->mme_ue_s1ap_id);
-
-  return s1ap_mme_itti_send_sctp_request(buffer, length, ue_ref->eNB->sctp_assoc_id,
-                                         ue_ref->sctp_stream_send);
-}
-
-
-//------------------------------------------------------------------------------
-int s1ap_handle_ue_context_release_command(
-		const s1ap_ue_context_release_command_t * const ue_context_release_command_pP)
-//------------------------------------------------------------------------------
-{
-  ue_description_t *ue_ref_p = NULL;
-
-  if ((ue_ref_p = s1ap_is_ue_mme_id_in_list(
-		  ue_context_release_command_pP->mme_ue_s1ap_id)) == NULL) {
-    /* MME doesn't know the MME UE S1AP ID provided.
-     * TODO
-     */
-    S1AP_DEBUG("UE_CONTEXT_RELEASE_COMMAND ignored cause could not get context with mme_ue_s1ap_id "S1AP_UE_ID_FMT" %u(10)\n",
-    		ue_context_release_command_pP->mme_ue_s1ap_id,
-    		ue_context_release_command_pP->mme_ue_s1ap_id);
-    MSC_LOG_EVENT(
-    		MSC_S1AP_MME,
-    		"0 UE_CONTEXT_RELEASE_COMMAND ignored, no context mme_ue_s1ap_id",
-    		ue_context_release_command_pP->mme_ue_s1ap_id);
-    return -1;
-  } else {
-    return s1ap_mme_generate_ue_context_release_command(ue_ref_p);
-  }
-  return -1;
-}
-
-//------------------------------------------------------------------------------
-int s1ap_mme_handle_ue_context_release_complete(uint32_t assoc_id,
-    uint32_t stream, struct s1ap_message_s *message)
-//------------------------------------------------------------------------------
-{
-  S1ap_UEContextReleaseCompleteIEs_t *ueContextReleaseComplete_p;
-  ue_description_t                   *ue_ref                    = NULL;
-  MessageDef                         *message_p                 = NULL;
-
-  ueContextReleaseComplete_p = &message->msg.s1ap_UEContextReleaseCompleteIEs;
-  MSC_LOG_RX_MESSAGE(
-	  	MSC_S1AP_MME,
-	  	MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 UEContextRelease/%s eNB_ue_s1ap_id "S1AP_UE_ID_FMT" mme_ue_s1ap_id "S1AP_UE_ID_FMT" len %u",
-		s1ap_direction2String[message->direction],
-		ueContextReleaseComplete_p->eNB_UE_S1AP_ID,
-		ueContextReleaseComplete_p->mme_ue_s1ap_id);
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(
-                  ueContextReleaseComplete_p->mme_ue_s1ap_id)) == NULL) {
-    /* MME doesn't know the MME UE S1AP ID provided.
-     * TODO
-     */
-	MSC_LOG_EVENT(
-			MSC_S1AP_MME,
-			"0 UEContextReleaseComplete ignored, no context mme_ue_s1ap_id "S1AP_UE_ID_FMT" ",
-			ueContextReleaseComplete_p->mme_ue_s1ap_id);
-    return -1;
-  }
-
-  /* eNB has sent a release complete message. We can safely remove UE context.
-   * TODO: inform NAS and remove e-RABS.
-   */
-  message_p = itti_alloc_new_message(TASK_S1AP, S1AP_UE_CONTEXT_RELEASE_COMPLETE);
-
-  AssertFatal(message_p != NULL,"itti_alloc_new_message Failed");
-  memset((void*)&message_p->ittiMsg.s1ap_ue_context_release_complete,
-	         0,
-	         sizeof(s1ap_ue_context_release_complete_t));
-
-  S1AP_UE_CONTEXT_RELEASE_COMPLETE(message_p).mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id;
-
-  MSC_LOG_TX_MESSAGE(
-	  		MSC_S1AP_MME,
-	  		MSC_MMEAPP_MME,
-	  		NULL,0,
-	  		"0 S1AP_UE_CONTEXT_RELEASE_COMPLETE mme_ue_s1ap_id "S1AP_UE_ID_FMT" ",
-	  		S1AP_UE_CONTEXT_RELEASE_COMPLETE(message_p).mme_ue_s1ap_id);
-
-  itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-
-  s1ap_remove_ue(ue_ref);
-  S1AP_DEBUG("Removed UE "S1AP_UE_ID_FMT"\n",
-             (uint32_t)ueContextReleaseComplete_p->mme_ue_s1ap_id);
-  return 0;
-}
-
-//------------------------------------------------------------------------------
-int s1ap_mme_handle_initial_context_setup_failure(uint32_t assoc_id,
-    uint32_t stream, struct s1ap_message_s *message)
-//------------------------------------------------------------------------------
-{
-  S1ap_InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs_p;
-
-  ue_description_t *ue_ref = NULL;
-
-  initialContextSetupFailureIEs_p = &message->msg.s1ap_InitialContextSetupFailureIEs;
-  MSC_LOG_RX_MESSAGE(
-	  	MSC_S1AP_MME,
-	  	MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 InitialContextSetup/%s eNB_ue_s1ap_id "S1AP_UE_ID_FMT" mme_ue_s1ap_id "S1AP_UE_ID_FMT" len %u",
-		s1ap_direction2String[message->direction],
-		initialContextSetupFailureIEs_p->eNB_UE_S1AP_ID,
-		initialContextSetupFailureIEs_p->mme_ue_s1ap_id);
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(
-                  initialContextSetupFailureIEs_p->mme_ue_s1ap_id)) == NULL) {
-    /* MME doesn't know the MME UE S1AP ID provided. */
-	MSC_LOG_EVENT(
-			MSC_S1AP_MME,
-			"0 InitialContextSetupFailure ignored, no context mme_ue_s1ap_id "S1AP_UE_ID_FMT" ",
-			initialContextSetupFailureIEs_p->mme_ue_s1ap_id);
-    return -1;
-  }
-
-  if (ue_ref->eNB_ue_s1ap_id != (initialContextSetupFailureIEs_p->eNB_UE_S1AP_ID
-                                 & 0x00ffffff)) {
-    return -1;
-  }
-
-  s1ap_remove_ue(ue_ref);
-  MSC_LOG_EVENT(
-			MSC_S1AP_MME,
-			"0 Removed UE mme_ue_s1ap_id "S1AP_UE_ID_FMT" ",
-			initialContextSetupFailureIEs_p->mme_ue_s1ap_id);
-  S1AP_DEBUG("Removed UE "S1AP_UE_ID_FMT"\n",
-             (uint32_t)initialContextSetupFailureIEs_p->mme_ue_s1ap_id);
-  return 0;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//************************ Handover signalling *******************************//
-////////////////////////////////////////////////////////////////////////////////
-
-//------------------------------------------------------------------------------
-int s1ap_mme_handle_path_switch_request(uint32_t assoc_id, uint32_t stream,
-                                        struct s1ap_message_s *message)
-//------------------------------------------------------------------------------
-{
-  S1ap_PathSwitchRequestIEs_t *pathSwitchRequest_p;
-  ue_description_t *ue_ref;
-  uint32_t          eNB_ue_s1ap_id;
-
-  pathSwitchRequest_p = &message->msg.s1ap_PathSwitchRequestIEs;
-
-  // eNB UE S1AP ID is limited to 24 bits
-  eNB_ue_s1ap_id = (uint32_t)(pathSwitchRequest_p->eNB_UE_S1AP_ID & 0x00ffffff);
-
-  S1AP_DEBUG("Path Switch Request message received from eNB UE S1AP ID: "S1AP_UE_ID_FMT"\n",
-             (int)eNB_ue_s1ap_id);
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(
-                  pathSwitchRequest_p->sourceMME_UE_S1AP_ID)) == NULL) {
-    /* The MME UE S1AP ID provided by eNB doesn't point to any valid UE.
-     * MME replies with a PATH SWITCH REQUEST FAILURE message and start operation
-     * as described in TS 36.413 [11].
-     * TODO
-     */
-  } else {
-    if (ue_ref->eNB_ue_s1ap_id != eNB_ue_s1ap_id) {
-      /* Received unique UE eNB ID mismatch with the one known in MME.
-       * Handle this case as defined upper.
-       * TODO
-       */
-      return -1;
-    }
-
-    //TODO: Switch the eRABs provided
-  }
-
-  return 0;
-}
-
-//------------------------------------------------------------------------------
-int s1ap_handle_sctp_deconnection(uint32_t assoc_id)
-//------------------------------------------------------------------------------
-{
-  int current_ue_index = 0;
-  int handled_ues      = 0;
-  int i;
-
-  MessageDef *message_p   = NULL;
-
-  ue_description_t  *ue_ref = NULL;
-  eNB_description_t *eNB_association;
-
-  /* Checking that the assoc id has a valid eNB attached to. */
-  eNB_association = s1ap_is_eNB_assoc_id_in_list(assoc_id);
-
-  if (eNB_association == NULL) {
-    S1AP_ERROR("No eNB attached to this assoc_id: %d\n",
-               assoc_id);
-    return -1;
-  }
-  MSC_LOG_EVENT(
-  		MSC_S1AP_MME,
-  		"0 Event SCTP_CLOSE_ASSOCIATION assoc_id: %d",
-        assoc_id);
-
-  STAILQ_FOREACH(ue_ref, &eNB_association->ue_list_head, ue_entries) {
-    /* Ask for a release of each UE context associated to the eNB */
-    if (current_ue_index == 0) {
-      message_p = itti_alloc_new_message(TASK_S1AP, S1AP_ENB_DEREGISTERED_IND);
-    }
-
-    S1AP_ENB_DEREGISTERED_IND(message_p).mme_ue_s1ap_id[current_ue_index] = ue_ref->mme_ue_s1ap_id;
-
-    if (current_ue_index == 0 && handled_ues > 0) {
-      S1AP_ENB_DEREGISTERED_IND(message_p).nb_ue_to_deregister = S1AP_ITTI_UE_PER_DEREGISTER_MESSAGE;
-      itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-    }
-
-    handled_ues++;
-    current_ue_index = handled_ues % S1AP_ITTI_UE_PER_DEREGISTER_MESSAGE;
-  }
-
-  if ((handled_ues % S1AP_ITTI_UE_PER_DEREGISTER_MESSAGE) != 0) {
-    S1AP_ENB_DEREGISTERED_IND(message_p).nb_ue_to_deregister = current_ue_index;
-
-    for (i = current_ue_index; i < S1AP_ITTI_UE_PER_DEREGISTER_MESSAGE; i++) {
-      S1AP_ENB_DEREGISTERED_IND(message_p).mme_ue_s1ap_id[current_ue_index] = 0;
-    }
-
-    MSC_LOG_TX_MESSAGE(
-    		MSC_S1AP_MME,
-    		MSC_NAS_MME,
-    		NULL,0,
-    		"0 S1AP_ENB_DEREGISTERED_IND num ue to deregister %u",
-    		S1AP_ENB_DEREGISTERED_IND(message_p).nb_ue_to_deregister);
-
-    itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-  }
-
-  s1ap_remove_eNB(eNB_association);
-  s1ap_dump_eNB_list();
-
-  S1AP_DEBUG("Removed eNB attached to assoc_id: %d\n",
-             assoc_id);
-  return 0;
-}
-
-//------------------------------------------------------------------------------
-int s1ap_handle_new_association(sctp_new_peer_t *sctp_new_peer_p)
-//------------------------------------------------------------------------------
-{
-  eNB_description_t *eNB_association;
-
-  DevAssert(sctp_new_peer_p != NULL);
-
-  /* Checking that the assoc id has a valid eNB attached to. */
-  if ((eNB_association = s1ap_is_eNB_assoc_id_in_list(sctp_new_peer_p->assoc_id)) == NULL) {
-    S1AP_DEBUG("Create eNB context for assoc_id: %d\n",
-               sctp_new_peer_p->assoc_id);
-    /* Create new context */
-    eNB_association = s1ap_new_eNB();
-
-    if (eNB_association == NULL) {
-      /* We failed to allocate memory */
-      /* TODO: send reject there */
-      S1AP_ERROR("Failed to allocate eNB context for assoc_id: %d\n",
-                 sctp_new_peer_p->assoc_id);
-    }
-  } else {
-    S1AP_DEBUG("eNB context already exists for assoc_id: %d, update it\n",
-               sctp_new_peer_p->assoc_id);
-  }
-
-  eNB_association->sctp_assoc_id = sctp_new_peer_p->assoc_id;
-
-  /* Fill in in and out number of streams available on SCTP connection. */
-  eNB_association->instreams     = sctp_new_peer_p->instreams;
-  eNB_association->outstreams    = sctp_new_peer_p->outstreams;
-
-  /* initialize the next sctp stream to 1 as 0 is reserved for non
-   * ue associated signalling.
-   */
-  eNB_association->next_sctp_stream = 1;
-  MSC_LOG_EVENT(
-  		MSC_S1AP_MME,
-  		"0 Event SCTP_NEW_ASSOCIATION assoc_id: %d",
-  		eNB_association->sctp_assoc_id);
-
-  return 0;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//************************* E-RAB management *********************************//
-////////////////////////////////////////////////////////////////////////////////
-
-// NOT CALLED
-int s1ap_handle_create_session_response(SgwCreateSessionResponse
-                                        *session_response_p)
-{
-  /* We received create session response from S-GW on S11 interface abstraction.
-   * At least one bearer has been established. We can now send s1ap initial context setup request
-   * message to eNB.
-   */
-  char supportedAlgorithms[] = { 0x02, 0xa0 };
-  char securityKey[] = { 0xfd, 0x23, 0xad, 0x22, 0xd0, 0x21, 0x02, 0x90, 0x19, 0xed,
-                         0xcf, 0xc9, 0x78, 0x44, 0xba, 0xbb, 0x34, 0x6e, 0xff, 0x89,
-                         0x1c, 0x3a, 0x56, 0xf0, 0x81, 0x34, 0xdd, 0xee, 0x19, 0x55,
-                         0xf2, 0x1f
-                       };
-
-  ue_description_t *ue_ref = NULL;
-  s1ap_message message;
-  uint8_t *buffer_p;
-  uint32_t length;
-
-  S1ap_InitialContextSetupRequestIEs_t *initialContextSetupRequest_p;
-  S1ap_E_RABToBeSetupItemCtxtSUReq_t    e_RABToBeSetup;
-
-  AssertFatal(0, "Not called anymore");
-  DevAssert(session_response_p != NULL);
-
-  DevCheck(session_response_p->bearer_context_created.cause == REQUEST_ACCEPTED,
-           REQUEST_ACCEPTED, session_response_p->bearer_context_created.cause, 0);
-
-  if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 0) &&
-      (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 0)) {
-
-    S1AP_ERROR("No IP address provided for transport layer address\n"
-               "         -->Sending Intial context setup failure\n");
-    return -1;
-  }
-
-  if ((ue_ref = s1ap_is_teid_in_list(session_response_p->s11_sgw_teid.teid)) == NULL) {
-    S1AP_DEBUG("[%d] is not attached to any UE context\n",
-               session_response_p->s11_sgw_teid.teid);
-    return -1;
-  }
-
-  memset(&message, 0, sizeof(s1ap_message));
-  memset(&e_RABToBeSetup, 0, sizeof(S1ap_E_RABToBeSetupItemCtxtSUReq_t));
-
-  message.procedureCode = S1ap_ProcedureCode_id_InitialContextSetup;
-  message.direction     = S1AP_PDU_PR_initiatingMessage;
-
-  initialContextSetupRequest_p = &message.msg.s1ap_InitialContextSetupRequestIEs;
-
-  initialContextSetupRequest_p->mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id;
-  initialContextSetupRequest_p->eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id;
-
-  /* uEaggregateMaximumBitrateDL and uEaggregateMaximumBitrateUL expressed in term of bits/sec */
-  asn_int642INTEGER(
-    &initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL,
-    100000000UL);
-  asn_int642INTEGER(
-    &initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateUL,
-    50000000UL);
-
-  //initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL = 100000000UL;
-  //initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateUL = 50000000UL;
-
-  e_RABToBeSetup.e_RAB_ID =
-    session_response_p->bearer_context_created.eps_bearer_id; /* ??? */
-  e_RABToBeSetup.e_RABlevelQoSParameters.qCI = 0; // ??
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel
-    = 15; //No priority
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability
-    = S1ap_Pre_emptionCapability_shall_not_trigger_pre_emption;
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability
-    = S1ap_Pre_emptionVulnerability_not_pre_emptable;
-
-  //     e_RABToBeSetup.gTP_TEID.buf  = calloc(4, sizeof(uint8_t));
-  //     INT32_TO_BUFFER(session_response_p->bearer_context_created.s1u_sgw_fteid.teid,
-  //                     e_RABToBeSetup.gTP_TEID.buf);
-  //     e_RABToBeSetup.gTP_TEID.size = 4;
-  DevCheck(session_response_p->bearer_context_created.s1u_sgw_fteid.teid != 0,
-           session_response_p->bearer_context_created.s1u_sgw_fteid.teid, 0, 0);
-  INT32_TO_OCTET_STRING(
-    session_response_p->bearer_context_created.s1u_sgw_fteid.teid,
-    &e_RABToBeSetup.gTP_TEID);
-
-  if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 1) &&
-      (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 0)) {
-    /* Only IPv4 supported */
-    INT32_TO_BIT_STRING(
-      session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address,
-      &e_RABToBeSetup.transportLayerAddress);
-  } else if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 0) &&
-             (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 1)) {
-    /* Only IPv6 supported */
-    e_RABToBeSetup.transportLayerAddress.buf = calloc(16, sizeof(uint8_t));
-    memcpy(e_RABToBeSetup.transportLayerAddress.buf,
-           (void *)&session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6_address,
-           16);
-    e_RABToBeSetup.transportLayerAddress.size = 16;
-    e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
-  } else if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 1) &&
-             (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 1)) {
-    /* Both IPv4 and IPv6 supported */
-    e_RABToBeSetup.transportLayerAddress.buf = calloc(20, sizeof(uint8_t));
-    e_RABToBeSetup.transportLayerAddress.size = 20;
-    e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
-    memcpy(e_RABToBeSetup.transportLayerAddress.buf,
-           &session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address, 4);
-    memcpy(e_RABToBeSetup.transportLayerAddress.buf + 4,
-           session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6_address, 16);
-  }
-
-  ASN_SEQUENCE_ADD(&initialContextSetupRequest_p->e_RABToBeSetupListCtxtSUReq,
-                   &e_RABToBeSetup);
-
-  initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.buf =
-    (uint8_t *)supportedAlgorithms;
-  initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.size = 2;
-  initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.bits_unused
-    = 0;
-
-  initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.buf
-    = (uint8_t *)supportedAlgorithms;
-  initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.size
-    = 2;
-  initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.bits_unused
-    = 0;
-
-  initialContextSetupRequest_p->securityKey.buf = (uint8_t *)
-      securityKey; /* 256 bits length */
-  initialContextSetupRequest_p->securityKey.size = 32;
-  initialContextSetupRequest_p->securityKey.bits_unused = 0;
-
-  if (s1ap_mme_encode_pdu(&message, &buffer_p, &length) < 0) {
-    return -1;
-  }
-
-  return s1ap_mme_itti_send_sctp_request(buffer_p, length, ue_ref->eNB->sctp_assoc_id,
-                                         ue_ref->sctp_stream_send);
-
-  //     return s1ap_mme_encode_initial_context_setup_request(&initialContextSetupRequest,
-  //             ue_ref);
-}
diff --git a/openair-cn/S1AP/s1ap_mme_handlers.h b/openair-cn/S1AP/s1ap_mme_handlers.h
deleted file mode 100644
index fc00d8c8af8a57229a01b3b18c3b5fb683161d97..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_handlers.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "s1ap_ies_defs.h"
-#include "intertask_interface.h"
-
-#ifndef S1AP_MME_HANDLERS_H_
-#define S1AP_MME_HANDLERS_H_
-
-/** \brief Handle decoded incoming messages from SCTP
- * \param assoc_id SCTP association ID
- * \param stream Stream number
- * \param message_p The message decoded by the ASN1C decoder
- * @returns int
- **/
-int s1ap_mme_handle_message(uint32_t assoc_id, uint32_t stream,
-                            struct s1ap_message_s *message_p);
-
-int s1ap_mme_handle_ue_cap_indication(uint32_t assoc_id, uint32_t stream,
-                                      struct s1ap_message_s *message);
-
-/** \brief Handle an S1 Setup request message.
- * Typically add the eNB in the list of served eNB if not present, simply reset
- * UEs association otherwise. S1SetupResponse message is sent in case of success or
- * S1SetupFailure if the MME cannot accept the configuration received.
- * \param assoc_id SCTP association ID
- * \param stream Stream number
- * \param message_p The message decoded by the ASN1C decoder
- * @returns int
- **/
-int s1ap_mme_handle_s1_setup_request(uint32_t assoc_id, uint32_t stream,
-                                     struct s1ap_message_s *message_p);
-
-int s1ap_mme_handle_path_switch_request(uint32_t assoc_id, uint32_t stream,
-                                        struct s1ap_message_s *message_p);
-
-int s1ap_mme_handle_ue_context_release_request(uint32_t assoc_id,
-    uint32_t stream, struct s1ap_message_s *message_p);
-
-int s1ap_handle_ue_context_release_command(
-		const s1ap_ue_context_release_command_t * const ue_context_release_command_pP);
-
-int s1ap_mme_handle_ue_context_release_complete(uint32_t assoc_id,
-    uint32_t stream, struct s1ap_message_s *message_p);
-
-int s1ap_mme_handle_initial_context_setup_failure(uint32_t assoc_id,
-    uint32_t stream, struct s1ap_message_s *message_p);
-
-int s1ap_mme_handle_initial_context_setup_response(
-  uint32_t assoc_id,
-  uint32_t stream,
-  struct s1ap_message_s *message_p);
-
-int s1ap_handle_sctp_deconnection(uint32_t assoc_id);
-
-int s1ap_handle_new_association(sctp_new_peer_t *sctp_new_peer_p);
-
-int s1ap_handle_create_session_response(SgwCreateSessionResponse
-                                        *session_response_p);
-
-int s1ap_mme_set_cause(S1ap_Cause_t *cause_p, S1ap_Cause_PR cause_type, long cause_value);
-
-int s1ap_mme_generate_s1_setup_failure(
-  uint32_t assoc_id, S1ap_Cause_PR cause_type, long cause_value,
-  long time_to_wait);
-
-#endif /* S1AP_MME_HANDLERS_H_ */
diff --git a/openair-cn/S1AP/s1ap_mme_itti_messaging.c b/openair-cn/S1AP/s1ap_mme_itti_messaging.c
deleted file mode 100644
index 1c2a90be614693ad2ebd587e8d185f9b8d1eea1e..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_itti_messaging.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "s1ap_mme_itti_messaging.h"
-
-int s1ap_mme_itti_send_sctp_request(uint8_t *buffer, uint32_t length,
-                                    uint32_t assoc_id, uint16_t stream)
-{
-  MessageDef     *message_p;
-
-  message_p = itti_alloc_new_message(TASK_S1AP, SCTP_DATA_REQ);
-
-  SCTP_DATA_REQ(message_p).buffer  = buffer;
-  SCTP_DATA_REQ(message_p).bufLen  = length;
-  SCTP_DATA_REQ(message_p).assocId = assoc_id;
-  SCTP_DATA_REQ(message_p).stream  = stream;
-
-  return itti_send_msg_to_task(TASK_SCTP, INSTANCE_DEFAULT, message_p);
-}
-
-int s1ap_mme_itti_nas_uplink_ind(const uint32_t ue_id, uint8_t * const buffer,
-                                 const uint32_t length)
-{
-  MessageDef *message_p;
-
-  message_p = itti_alloc_new_message(TASK_S1AP, NAS_UPLINK_DATA_IND);
-
-  NAS_UL_DATA_IND(message_p).UEid          = ue_id;
-  NAS_UL_DATA_IND(message_p).nasMsg.data   = buffer;
-  NAS_UL_DATA_IND(message_p).nasMsg.length = length;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_NAS_MME,
-  		NULL,0,
-  		"0 NAS_UPLINK_DATA_IND ue_id "S1AP_UE_ID_FMT" len %u",
-  		NAS_UL_DATA_IND(message_p).UEid,
-  		NAS_UL_DATA_IND(message_p).nasMsg.length);
-
-  return itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-}
-
-int s1ap_mme_itti_nas_downlink_cnf(const uint32_t ue_id,
-                                   nas_error_code_t error_code)
-{
-  MessageDef *message_p;
-
-  message_p = itti_alloc_new_message(TASK_S1AP, NAS_DOWNLINK_DATA_CNF);
-
-  NAS_DL_DATA_CNF(message_p).UEid = ue_id;
-  NAS_DL_DATA_CNF(message_p).errCode = error_code;
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_NAS_MME,
-  		NULL,0,
-  		"0 NAS_DOWNLINK_DATA_CNF ue_id "S1AP_UE_ID_FMT" errCode %u",
-  		NAS_DL_DATA_CNF(message_p).UEid,
-  		NAS_DL_DATA_CNF(message_p).errCode);
-
-  return itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-}
diff --git a/openair-cn/S1AP/s1ap_mme_itti_messaging.h b/openair-cn/S1AP/s1ap_mme_itti_messaging.h
deleted file mode 100644
index 28ad9863c6f843ac145ae47f46441cfa3a336c63..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_itti_messaging.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdint.h>
-#include <string.h>
-
-#include "intertask_interface.h"
-#include "s1ap_common.h"
-#include "msc.h"
-
-#ifndef S1AP_MME_ITTI_MESSAGING_H_
-#define S1AP_MME_ITTI_MESSAGING_H_
-
-int s1ap_mme_itti_send_sctp_request(uint8_t *buffer, uint32_t length,
-                                    uint32_t assoc_id, uint16_t stream);
-
-int s1ap_mme_itti_nas_uplink_ind(const uint32_t ue_id, uint8_t *const buffer,
-                                 const uint32_t length);
-
-int s1ap_mme_itti_nas_downlink_cnf(const uint32_t ue_id,
-                                   nas_error_code_t error_code);
-
-
-static inline void s1ap_mme_itti_mme_app_establish_ind(
-  const uint32_t  ue_id,
-  const uint8_t * const nas_msg,
-  const uint32_t  nas_msg_length,
-  const long      cause,
-  const uint16_t  tac)
-{
-  MessageDef  *message_p = NULL;
-
-  message_p = itti_alloc_new_message(TASK_S1AP, MME_APP_CONNECTION_ESTABLISHMENT_IND);
-
-  MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).mme_ue_s1ap_id           = ue_id;
-
-  MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).nas.UEid                 = ue_id;
-  /* Mapping between asn1 definition and NAS definition */
-  MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).nas.asCause              = cause + 1;
-  MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).nas.tac                  = tac;
-  MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).nas.initialNasMsg.length = nas_msg_length;
-
-  MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).nas.initialNasMsg.data   = malloc(sizeof(uint8_t) * nas_msg_length);
-  memcpy(MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).nas.initialNasMsg.data, nas_msg, nas_msg_length);
-
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_MMEAPP_MME,
-  		NULL,0,
-  		"0 MME_APP_CONNECTION_ESTABLISHMENT_IND ue_id "S1AP_UE_ID_FMT" as cause %u  tac %u len %u",
-  		ue_id,
-  		MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).nas.asCause,
-  		MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).nas.tac,
-  		MME_APP_CONNECTION_ESTABLISHMENT_IND(message_p).nas.initialNasMsg.length);
-  // should be sent to MME_APP, but this one would forward it to NAS_MME, so send it directly to NAS_MME
-  // but let's see
-  itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-static inline void s1ap_mme_itti_nas_establish_ind(
-  const uint32_t ue_id, uint8_t * const nas_msg, const uint32_t nas_msg_length,
-  const long cause, const uint16_t tac)
-{
-  MessageDef     *message_p;
-
-  message_p = itti_alloc_new_message(TASK_S1AP, NAS_CONNECTION_ESTABLISHMENT_IND);
-
-  NAS_CONN_EST_IND(message_p).nas.UEid                 = ue_id;
-  /* Mapping between asn1 definition and NAS definition */
-  NAS_CONN_EST_IND(message_p).nas.asCause              = cause + 1;
-  NAS_CONN_EST_IND(message_p).nas.tac                  = tac;
-  NAS_CONN_EST_IND(message_p).nas.initialNasMsg.length = nas_msg_length;
-
-  NAS_CONN_EST_IND(message_p).nas.initialNasMsg.data = malloc(sizeof(uint8_t) * nas_msg_length);
-  memcpy(NAS_CONN_EST_IND(message_p).nas.initialNasMsg.data, nas_msg, nas_msg_length);
-
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_NAS_MME,
-  		NULL,0,
-  		"0 NAS_CONNECTION_ESTABLISHMENT_IND ue_id "S1AP_UE_ID_FMT" as cause %u  tac %u len %u",
-  		ue_id,
-  		NAS_CONN_EST_IND(message_p).nas.asCause,
-  		NAS_CONN_EST_IND(message_p).nas.tac,
-  		NAS_CONN_EST_IND(message_p).nas.initialNasMsg.length);
-
-  // should be sent to MME_APP, but this one would forward it to NAS_MME, so send it directly to NAS_MME
-  // but let's see
-  itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-}
-
-static inline void s1ap_mme_itti_nas_non_delivery_ind(
-  const uint32_t ue_id, uint8_t * const nas_msg, const uint32_t nas_msg_length)
-{
-  MessageDef     *message_p;
-
-  message_p = itti_alloc_new_message(TASK_S1AP, NAS_DOWNLINK_DATA_REJ);
-
-  NAS_DL_DATA_REJ(message_p).UEid                 = ue_id;
-  /* Mapping between asn1 definition and NAS definition */
-  //NAS_NON_DELIVERY_IND(message_p).asCause              = cause + 1;
-  NAS_DL_DATA_REJ(message_p).nasMsg.length = nas_msg_length;
-
-  NAS_DL_DATA_REJ(message_p).nasMsg.data = malloc(sizeof(uint8_t) * nas_msg_length);
-  memcpy(NAS_DL_DATA_REJ(message_p).nasMsg.data, nas_msg, nas_msg_length);
-
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_NAS_MME,
-  		NULL,0,
-  		"0 NAS_DOWNLINK_DATA_REJ ue_id "S1AP_UE_ID_FMT" len %u",
-  		ue_id,
-  		NAS_DL_DATA_REJ(message_p).nasMsg.length);
-
-  // should be sent to MME_APP, but this one would forward it to NAS_MME, so send it directly to NAS_MME
-  // but let's see
-  itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
-}
-
-#endif /* S1AP_MME_ITTI_MESSAGING_H_ */
diff --git a/openair-cn/S1AP/s1ap_mme_nas_procedures.c b/openair-cn/S1AP/s1ap_mme_nas_procedures.c
deleted file mode 100644
index 4b8229e73b731742b90525716ef112e375f49288..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_nas_procedures.c
+++ /dev/null
@@ -1,765 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdio.h>
-#include <stdint.h>
-
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_mme_encoder.h"
-#include "s1ap_mme_handlers.h"
-#include "s1ap_mme_nas_procedures.h"
-#include "s1ap_mme_retransmission.h"
-
-#include "s1ap_mme_itti_messaging.h"
-
-#include "s1ap_mme.h"
-
-#include "intertask_interface.h"
-#include "timer.h"
-
-#include "assertions.h"
-#include "conversions.h"
-#include "msc.h"
-
-/* Every time a new UE is associated, increment this variable.
- * But care if it wraps to increment also the mme_ue_s1ap_id_has_wrapped
- * variable. Limit: UINT32_MAX (in stdint.h).
- */
-static uint32_t mme_ue_s1ap_id = 0;
-static uint8_t  mme_ue_s1ap_id_has_wrapped = 0;
-
-extern const char *s1ap_direction2String[];
-
-
-int s1ap_mme_handle_initial_ue_message(uint32_t assoc_id, uint32_t stream,
-                                       struct s1ap_message_s *message)
-{
-  S1ap_InitialUEMessageIEs_t *initialUEMessage_p;
-  ue_description_t      *ue_ref;
-  eNB_description_t     *eNB_ref;
-  uint32_t               eNB_ue_s1ap_id;
-
-  initialUEMessage_p = &message->msg.s1ap_InitialUEMessageIEs;
-
-  MSC_LOG_RX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 initialUEMessage/%s assoc_id %u stream %u "S1AP_UE_ID_FMT" ",
-  		s1ap_direction2String[message->direction],
-  		assoc_id, stream, initialUEMessage_p->eNB_UE_S1AP_ID);
-
-  if ((eNB_ref = s1ap_is_eNB_assoc_id_in_list(assoc_id)) == NULL) {
-    S1AP_DEBUG("Unkwnon eNB on assoc_id %d\n", assoc_id);
-    return -1;
-  }
-
-  // eNB UE S1AP ID is limited to 24 bits
-  eNB_ue_s1ap_id = (uint32_t)(initialUEMessage_p->eNB_UE_S1AP_ID & 0x00ffffff);
-
-  S1AP_DEBUG("New Initial UE message received with eNB UE S1AP ID: "S1AP_UE_ID_FMT"\n",
-             eNB_ue_s1ap_id);
-
-  ue_ref = s1ap_is_ue_eNB_id_in_list(eNB_ref, eNB_ue_s1ap_id);
-
-  if (ue_ref == NULL) {
-    uint16_t tac = 0;
-
-    /* This UE eNB Id has currently no known s1 association.
-     * Create new UE context by associating new mme_ue_s1ap_id.
-     * Update eNB UE list.
-     * Forward message to NAS.
-     */
-    if ((ue_ref = s1ap_new_ue(assoc_id)) == NULL)
-      // If we failed to allocate a new UE return -1
-    {
-      return -1;
-    }
-
-    ue_ref->s1_ue_state = S1AP_UE_WAITING_CSR;
-    ue_ref->eNB_ue_s1ap_id = eNB_ue_s1ap_id;
-    ue_ref->mme_ue_s1ap_id = (uint32_t)ue_ref;
-    // On which stream we received the message
-    ue_ref->sctp_stream_recv = stream;
-    ue_ref->sctp_stream_send = ue_ref->eNB->next_sctp_stream;
-
-    /* Increment the sctp stream for the eNB association.
-     * If the next sctp stream is >= outstream negociated between eNB and MME,
-     * wrap to first stream.
-     * TODO: search for the first available stream instead.
-     */
-    if (ue_ref->eNB->next_sctp_stream++ >= ue_ref->eNB->outstreams) {
-      ue_ref->eNB->next_sctp_stream = 1;
-    }
-
-    /* Increment the unique UE mme s1ap id and
-     * take care about overflow case.
-     */
-    if (mme_ue_s1ap_id_has_wrapped == 0) {
-      mme_ue_s1ap_id++;
-
-      if (mme_ue_s1ap_id == 0) {
-        mme_ue_s1ap_id_has_wrapped = 1;
-      }
-    } else {
-      /* TODO: should take the first available mme_ue_s1ap_id instead of
-       * the mme_ue_s1ap_id variable.
-       */
-      DevMessage("mme ue s1ap id has wrapped -> case not handled\n");
-    }
-
-    s1ap_dump_eNB(ue_ref->eNB);
-
-    OCTET_STRING_TO_TAC(&initialUEMessage_p->tai.tAC, tac);
-
-    /* We received the first NAS transport message: initial UE message.
-     * Send a NAS ESTABLISH IND to NAS layer
-     */
-#if defined(ORIGINAL_CODE)
-    s1ap_mme_itti_nas_establish_ind(
-      ue_ref->mme_ue_s1ap_id,
-      initialUEMessage_p->nas_pdu.buf,
-      initialUEMessage_p->nas_pdu.size,
-      initialUEMessage_p->rrC_Establishment_Cause,
-      tac);
-#else
-    s1ap_mme_itti_mme_app_establish_ind(
-      ue_ref->mme_ue_s1ap_id,
-      initialUEMessage_p->nas_pdu.buf,
-      initialUEMessage_p->nas_pdu.size,
-      initialUEMessage_p->rrC_Establishment_Cause,
-      tac);
-#endif
-  }
-
-  return 0;
-}
-
-
-
-int s1ap_mme_handle_uplink_nas_transport(uint32_t assoc_id, uint32_t stream,
-    struct s1ap_message_s *message)
-{
-  S1ap_UplinkNASTransportIEs_t *uplinkNASTransport_p;
-  ue_description_t *ue_ref;
-
-  uplinkNASTransport_p = &message->msg.s1ap_UplinkNASTransportIEs;
-
-  MSC_LOG_RX_MESSAGE(
-	  	MSC_S1AP_MME,
-	    MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 uplinkNASTransport/%s mme_ue_s1ap_id "S1AP_UE_ID_FMT" eNB_ue_s1ap_id "S1AP_UE_ID_FMT" nas len %u",
-  		s1ap_direction2String[message->direction],
-  		uplinkNASTransport_p->mme_ue_s1ap_id,
-  		uplinkNASTransport_p->eNB_UE_S1AP_ID,
-  		uplinkNASTransport_p->nas_pdu.size);
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(uplinkNASTransport_p->mme_ue_s1ap_id))
-      == NULL) {
-    S1AP_DEBUG("No UE is attached to this mme UE s1ap id: "S1AP_UE_ID_FMT"\n",
-               (int)uplinkNASTransport_p->mme_ue_s1ap_id);
-    return -1;
-  }
-
-  if (ue_ref->s1_ue_state != S1AP_UE_CONNECTED) {
-    S1AP_DEBUG("Received uplink NAS transport while UE in state != S1AP_UE_CONNECTED\n");
-    return -1;
-  }
-
-  //TODO: forward NAS PDU to NAS
-#if defined(DISABLE_USE_NAS)
-  DevMessage("Can't go further (TODO)\n");
-#else
-  s1ap_mme_itti_nas_uplink_ind(uplinkNASTransport_p->mme_ue_s1ap_id, uplinkNASTransport_p->nas_pdu.buf,
-                               uplinkNASTransport_p->nas_pdu.size);
-#endif
-  return 0;
-}
-
-
-
-int s1ap_mme_handle_nas_non_delivery(uint32_t assoc_id, uint32_t stream,
-                                     struct s1ap_message_s *message)
-{
-  S1ap_NASNonDeliveryIndication_IEs_t *nasNonDeliveryIndication_p = NULL;
-  ue_description_t *ue_ref = NULL;
-
-  /* UE associated signalling on stream == 0 is not valid. */
-  if (stream == 0) {
-    S1AP_DEBUG("Received new nas non delivery on stream == 0\n");
-    return -1;
-  }
-
-  nasNonDeliveryIndication_p = &message->msg.s1ap_NASNonDeliveryIndication_IEs;
-
-  MSC_LOG_RX_MESSAGE(
-	  	MSC_S1AP_MME,
-	    MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 NASNonDeliveryIndication/%s mme_ue_s1ap_id "S1AP_UE_ID_FMT" eNB_ue_s1ap_id "S1AP_UE_ID_FMT" cause %u nas len %u",
-  		s1ap_direction2String[message->direction],
-  		nasNonDeliveryIndication_p->mme_ue_s1ap_id,
-  		nasNonDeliveryIndication_p->eNB_UE_S1AP_ID,
-  		nasNonDeliveryIndication_p->cause,
-  		nasNonDeliveryIndication_p->nas_pdu.size);
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(nasNonDeliveryIndication_p->mme_ue_s1ap_id))
-      == NULL) {
-    S1AP_DEBUG("No UE is attached to this mme UE s1ap id: "S1AP_UE_ID_FMT"\n",
-               (int)nasNonDeliveryIndication_p->mme_ue_s1ap_id);
-    return -1;
-  }
-
-  if (ue_ref->s1_ue_state != S1AP_UE_CONNECTED) {
-    S1AP_DEBUG("Received uplink NASNonDeliveryIndication while UE in state != S1AP_UE_CONNECTED\n");
-    return -1;
-  }
-
-  //TODO: forward NAS PDU to NAS
-  s1ap_mme_itti_nas_non_delivery_ind(
-		  nasNonDeliveryIndication_p->mme_ue_s1ap_id,
-		  nasNonDeliveryIndication_p->nas_pdu.buf,
-		  nasNonDeliveryIndication_p->nas_pdu.size);
-  return 0;
-}
-
-int s1ap_generate_downlink_nas_transport(const uint32_t ue_id, void * const data,
-    const uint32_t size)
-{
-  ue_description_t *ue_ref;
-  uint8_t          *buffer_p;
-  uint32_t          length;
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(ue_id)) == NULL) {
-    /* If the UE-associated logical S1-connection is not established,
-     * the MME shall allocate a unique MME UE S1AP ID to be used for the UE.
-     */
-    S1AP_DEBUG("Unknown UE MME ID "S1AP_UE_ID_FMT", This case is not handled right now\n", ue_id);
-
-    return -1;
-  } else {
-    /* We have fount the UE in the list.
-     * Create new IE list message and encode it.
-     */
-    S1ap_DownlinkNASTransportIEs_t *downlinkNasTransport = NULL;
-
-    s1ap_message message;
-
-    memset(&message, 0, sizeof(s1ap_message));
-
-    message.procedureCode = S1ap_ProcedureCode_id_downlinkNASTransport;
-    message.direction     = S1AP_PDU_PR_initiatingMessage;
-
-    ue_ref->s1_ue_state = S1AP_UE_CONNECTED;
-
-    downlinkNasTransport = &message.msg.s1ap_DownlinkNASTransportIEs;
-
-    /* Setting UE informations with the ones fount in ue_ref */
-    downlinkNasTransport->mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id;
-    downlinkNasTransport->eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id;
-
-    /* Fill in the NAS pdu */
-    OCTET_STRING_fromBuf(&downlinkNasTransport->nas_pdu, (char*)data, size);
-
-    if (s1ap_mme_encode_pdu(&message, &buffer_p, &length) < 0) {
-      // TODO: handle something
-      return -1;
-    }
-
-    S1AP_DEBUG("Send S1ap_ProcedureCode_id_downlinkNASTransport ue_id = "S1AP_UE_ID_FMT" mme_ue_s1ap_id = "S1AP_UE_ID_FMT" eNB_UE_S1AP_ID = "S1AP_UE_ID_FMT"\n",
-               ue_id,
-               downlinkNasTransport->mme_ue_s1ap_id,
-               downlinkNasTransport->eNB_UE_S1AP_ID);
-
-    MSC_LOG_TX_MESSAGE(
-    		MSC_S1AP_MME,
-    		MSC_S1AP_ENB,
-    		NULL,0,
-    		"0 downlinkNASTransport/initiatingMessage ue_id "S1AP_UE_ID_FMT" mme_ue_s1ap_id "S1AP_UE_ID_FMT" eNB_ue_s1ap_id"S1AP_UE_ID_FMT" nas length %u",
-    		ue_id,
-    		downlinkNasTransport->mme_ue_s1ap_id,
-    		downlinkNasTransport->eNB_UE_S1AP_ID,
-    		size);
-
-    s1ap_mme_itti_send_sctp_request(buffer_p, length,
-                                    ue_ref->eNB->sctp_assoc_id,
-                                    ue_ref->sctp_stream_send);
-  }
-
-  return 0;
-}
-
-#if defined(DISABLE_USE_NAS)
-int s1ap_handle_attach_accepted(nas_attach_accept_t *attach_accept_p)
-{
-  /* We received create session response from S-GW on S11 interface abstraction.
-   * At least one bearer has been established. We can now send s1ap initial context setup request
-   * message to eNB.
-   */
-  uint8_t supportedAlgorithms[] = { 0x00, 0x02 };
-  uint8_t offset = 0;
-  uint8_t *buffer_p;
-  uint32_t length;
-
-  ue_description_t *ue_ref = NULL;
-  s1ap_message message;
-  s1ap_initial_ctxt_setup_req_t *initial_p;
-
-  S1ap_InitialContextSetupRequestIEs_t *initialContextSetupRequest_p;
-  S1ap_E_RABToBeSetupItemCtxtSUReq_t    e_RABToBeSetup;
-
-  DevAssert(attach_accept_p != NULL);
-
-  initial_p = &attach_accept_p->transparent;
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(initial_p->mme_ue_s1ap_id)) == NULL) {
-    S1AP_DEBUG("This mme ue s1ap id ("S1AP_UE_ID_FMT") is not attached to any UE context\n",
-               initial_p->mme_ue_s1ap_id);
-    return -1;
-  }
-
-  /* Start the outcome response timer.
-   * When time is reached, MME consider that procedure outcome has failed.
-   */
-  //     timer_setup(mme_config.s1ap_config.outcome_drop_timer_sec, 0, TASK_S1AP, INSTANCE_DEFAULT,
-  //                 TIMER_ONE_SHOT,
-  //                 NULL,
-  //                 &ue_ref->outcome_response_timer_id);
-  /* Insert the timer in the MAP of mme_ue_s1ap_id <-> timer_id */
-  //     s1ap_timer_insert(ue_ref->mme_ue_s1ap_id, ue_ref->outcome_response_timer_id);
-
-  memset(&message, 0, sizeof(s1ap_message));
-  memset(&e_RABToBeSetup, 0, sizeof(S1ap_E_RABToBeSetupItemCtxtSUReq_t));
-
-  message.procedureCode = S1ap_ProcedureCode_id_InitialContextSetup;
-  message.direction     = S1AP_PDU_PR_initiatingMessage;
-
-  initialContextSetupRequest_p = &message.msg.s1ap_InitialContextSetupRequestIEs;
-
-  initialContextSetupRequest_p->mme_ue_s1ap_id = (unsigned long)ue_ref->mme_ue_s1ap_id;
-  initialContextSetupRequest_p->eNB_UE_S1AP_ID = (unsigned long)ue_ref->eNB_ue_s1ap_id;
-
-  /* uEaggregateMaximumBitrateDL and uEaggregateMaximumBitrateUL expressed in term of bits/sec */
-  initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL = initial_p->ambr.br_dl;
-  initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateUL = initial_p->ambr.br_ul;
-
-  e_RABToBeSetup.e_RAB_ID = initial_p->ebi;
-  e_RABToBeSetup.e_RABlevelQoSParameters.qCI = initial_p->qci;
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel
-    = initial_p->prio_level; //No priority
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability
-    = initial_p->pre_emp_capability;
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability
-    = initial_p->pre_emp_vulnerability;
-
-  /* Set the GTP-TEID. This is the S1-U S-GW TEID */
-  INT32_TO_OCTET_STRING(initial_p->teid, &e_RABToBeSetup.gTP_TEID);
-
-  /* S-GW IP address(es) for user-plane */
-  if ((initial_p->s_gw_address.pdn_type == IPv4) ||
-      (initial_p->s_gw_address.pdn_type == IPv4_AND_v6)) {
-    e_RABToBeSetup.transportLayerAddress.buf = calloc(4, sizeof(uint8_t));
-    /* Only IPv4 supported */
-    memcpy(e_RABToBeSetup.transportLayerAddress.buf,
-           initial_p->s_gw_address.address.ipv4_address,
-           4);
-    offset += 4;
-    e_RABToBeSetup.transportLayerAddress.size = 4;
-    e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
-  }
-
-  if ((initial_p->s_gw_address.pdn_type == IPv6) ||
-      (initial_p->s_gw_address.pdn_type == IPv4_AND_v6)) {
-    if (offset == 0) {
-      /* Both IPv4 and IPv6 provided */
-      /* TODO: check memory allocation */
-      e_RABToBeSetup.transportLayerAddress.buf = calloc(16, sizeof(uint8_t));
-    } else {
-      /* Only IPv6 supported */
-      /* TODO: check memory allocation */
-      e_RABToBeSetup.transportLayerAddress.buf
-        = realloc(e_RABToBeSetup.transportLayerAddress.buf, (16 + offset) * sizeof(uint8_t));
-    }
-
-    memcpy(&e_RABToBeSetup.transportLayerAddress.buf[offset],
-           initial_p->s_gw_address.address.ipv6_address,
-           16);
-    e_RABToBeSetup.transportLayerAddress.size = 16 + offset;
-    e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
-  }
-
-  ASN_SEQUENCE_ADD(&initialContextSetupRequest_p->e_RABToBeSetupListCtxtSUReq,
-                   &e_RABToBeSetup);
-
-  initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.buf =
-    (uint8_t *)supportedAlgorithms;
-  initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.size = 2;
-  initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.bits_unused
-    = 0;
-
-  initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.buf
-    = (uint8_t *)supportedAlgorithms;
-  initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.size
-    = 2;
-  initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.bits_unused
-    = 0;
-
-  initialContextSetupRequest_p->securityKey.buf  = initial_p->keNB; /* 256 bits length */
-  initialContextSetupRequest_p->securityKey.size = 32;
-  initialContextSetupRequest_p->securityKey.bits_unused = 0;
-
-  if (s1ap_mme_encode_pdu(&message, &buffer_p, &length) < 0) {
-    // TODO: handle something
-    return -1;
-  }
-
-  return s1ap_mme_itti_send_sctp_request(buffer_p, length, ue_ref->eNB->sctp_assoc_id,
-                                         ue_ref->sctp_stream_send);
-}
-#else
-//void s1ap_handle_conn_est_cnf(nas_conn_est_cnf_t *nas_conn_est_cnf_p)
-//{
-//    /* We received create session response from S-GW on S11 interface abstraction.
-//     * At least one bearer has been established. We can now send s1ap initial context setup request
-//     * message to eNB.
-//     */
-//    uint8_t supportedAlgorithms[] = { 0x00, 0x00 };
-//    uint8_t offset = 0;
-//    uint8_t *buffer_p;
-//    uint32_t length, teid = 12;
-//
-//    ue_description_t *ue_ref = NULL;
-//    s1ap_message message;
-//
-//    S1ap_InitialContextSetupRequestIEs_t *initialContextSetupRequest_p;
-//    S1ap_E_RABToBeSetupItemCtxtSUReq_t    e_RABToBeSetup;
-//    S1ap_NAS_PDU_t                        nas_pdu;
-//
-//    DevAssert(nas_conn_est_cnf_p != NULL);
-//
-//    if ((ue_ref = s1ap_is_ue_mme_id_in_list(nas_conn_est_cnf_p->UEid)) == NULL) {
-//        S1AP_DEBUG("This mme ue s1ap id (%08x) is not attached to any UE context\n",
-//                nas_conn_est_cnf_p->UEid);
-//        DevParam(nas_conn_est_cnf_p->UEid, 0, 0);
-//    }
-//
-//    /* Start the outcome response timer.
-//     * When time is reached, MME consider that procedure outcome has failed.
-//     */
-////     timer_setup(mme_config.s1ap_config.outcome_drop_timer_sec, 0, TASK_S1AP, INSTANCE_DEFAULT,
-////                 TIMER_ONE_SHOT,
-////                 NULL,
-////                 &ue_ref->outcome_response_timer_id);
-//    /* Insert the timer in the MAP of mme_ue_s1ap_id <-> timer_id */
-////     s1ap_timer_insert(ue_ref->mme_ue_s1ap_id, ue_ref->outcome_response_timer_id);
-//
-//    memset(&message, 0, sizeof(s1ap_message));
-//    memset(&e_RABToBeSetup, 0, sizeof(S1ap_E_RABToBeSetupItemCtxtSUReq_t));
-//
-//    message.procedureCode = S1ap_ProcedureCode_id_InitialContextSetup;
-//    message.direction     = S1AP_PDU_PR_initiatingMessage;
-//
-//    initialContextSetupRequest_p = &message.msg.s1ap_InitialContextSetupRequestIEs;
-//
-//    initialContextSetupRequest_p->mme_ue_s1ap_id = (unsigned long)ue_ref->mme_ue_s1ap_id;
-//    initialContextSetupRequest_p->eNB_UE_S1AP_ID = (unsigned long)ue_ref->eNB_ue_s1ap_id;
-//
-//    /* uEaggregateMaximumBitrateDL and uEaggregateMaximumBitrateUL expressed in term of bits/sec */
-////    initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL = initial_p->ambr.br_dl;
-////    initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateUL = initial_p->ambr.br_ul;
-//
-//    initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL = 1024 * 1024;
-//    initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL = 512 * 1024;
-//
-////    e_RABToBeSetup.e_RAB_ID = initial_p->ebi;
-//    e_RABToBeSetup.e_RAB_ID = 5;
-////    e_RABToBeSetup.e_RABlevelQoSParameters.qCI = initial_p->qci;
-//    e_RABToBeSetup.e_RABlevelQoSParameters.qCI = 0;
-//
-//    memset(&nas_pdu, 0, sizeof(nas_pdu));
-//
-//    nas_pdu.size = nas_conn_est_cnf_p->nasMsg.length;
-//    nas_pdu.buf  = nas_conn_est_cnf_p->nasMsg.data;
-//
-//    e_RABToBeSetup.nAS_PDU = &nas_pdu;
-//    e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel =
-//            S1ap_PriorityLevel_lowest;
-//    e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability =
-//            S1ap_Pre_emptionCapability_shall_not_trigger_pre_emption;
-//    e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability =
-//            S1ap_Pre_emptionVulnerability_not_pre_emptable;
-//    INT32_TO_OCTET_STRING(teid, &e_RABToBeSetup.gTP_TEID);
-////    e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel
-////    = initial_p->prio_level; //No priority
-////    e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability
-////    = initial_p->pre_emp_capability;
-////    e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability
-////    = initial_p->pre_emp_vulnerability;
-//
-//    /* Set the GTP-TEID. This is the S1-U S-GW TEID */
-////    INT32_TO_OCTET_STRING(initial_p->teid, &e_RABToBeSetup.gTP_TEID);
-//
-//    /* S-GW IP address(es) for user-plane */
-////    if ((initial_p->s_gw_address.pdn_type == IPv4) ||
-////        (initial_p->s_gw_address.pdn_type == IPv4_AND_v6))
-////    {
-////        e_RABToBeSetup.transportLayerAddress.buf = calloc(4, sizeof(uint8_t));
-////        /* Only IPv4 supported */
-////        memcpy(e_RABToBeSetup.transportLayerAddress.buf,
-////               initial_p->s_gw_address.address.ipv4_address,
-////               4);
-////        offset += 4;
-////        e_RABToBeSetup.transportLayerAddress.size = 4;
-////        e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
-////    }
-////    if ((initial_p->s_gw_address.pdn_type == IPv6) ||
-////        (initial_p->s_gw_address.pdn_type == IPv4_AND_v6))
-////    {
-////        if (offset == 0) {
-////            /* Both IPv4 and IPv6 provided */
-////            /* TODO: check memory allocation */
-////            e_RABToBeSetup.transportLayerAddress.buf = calloc(16, sizeof(uint8_t));
-////        } else {
-////            /* Only IPv6 supported */
-////            /* TODO: check memory allocation */
-////            e_RABToBeSetup.transportLayerAddress.buf
-////            = realloc(e_RABToBeSetup.transportLayerAddress.buf, (16 + offset) * sizeof(uint8_t));
-////        }
-////        memcpy(&e_RABToBeSetup.transportLayerAddress.buf[offset],
-////               initial_p->s_gw_address.address.ipv6_address,
-////               16);
-////        e_RABToBeSetup.transportLayerAddress.size = 16 + offset;
-////        e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
-////    }
-//
-//    ASN_SEQUENCE_ADD(&initialContextSetupRequest_p->e_RABToBeSetupListCtxtSUReq,
-//                     &e_RABToBeSetup);
-//
-//    initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.buf =
-//        (uint8_t *)supportedAlgorithms;
-//    initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.size = 2;
-//    initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.bits_unused
-//        = 0;
-//
-//    initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.buf
-//        = (uint8_t *)supportedAlgorithms;
-//    initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.size
-//        = 2;
-//    initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.bits_unused
-//        = 0;
-//
-////    initialContextSetupRequest_p->securityKey.buf  = initial_p->keNB; /* 256 bits length */
-//    uint8_t keNB[32];
-//    memset(keNB, 0, sizeof(keNB));
-//
-//    initialContextSetupRequest_p->securityKey.buf = keNB;
-//    initialContextSetupRequest_p->securityKey.size = 32;
-//    initialContextSetupRequest_p->securityKey.bits_unused = 0;
-//
-//    if (s1ap_mme_encode_pdu(&message, &buffer_p, &length) < 0) {
-//        // TODO: handle something
-//        DevMessage("Failed to encode initial context setup request message\n");
-//    }
-//
-//    free(nas_conn_est_cnf_p->nasMsg.data);
-//
-//    s1ap_mme_itti_send_sctp_request(buffer_p, length, ue_ref->eNB->sctp_assoc_id,
-//                                    ue_ref->sctp_stream_send);
-//}
-
-void s1ap_handle_conn_est_cnf(const mme_app_connection_establishment_cnf_t * const conn_est_cnf_pP)
-{
-  /* We received create session response from S-GW on S11 interface abstraction.
-   * At least one bearer has been established. We can now send s1ap initial context setup request
-   * message to eNB.
-   */
-  uint8_t                               offset                = 0;
-  uint8_t                              *buffer_p              = NULL;
-  uint32_t                              length                = 0;
-  ue_description_t                     *ue_ref                = NULL;
-  S1ap_InitialContextSetupRequestIEs_t *initialContextSetupRequest_p = NULL;
-  S1ap_E_RABToBeSetupItemCtxtSUReq_t    e_RABToBeSetup;
-  S1ap_NAS_PDU_t                        nas_pdu;
-  s1ap_message                          message;
-
-  DevAssert(conn_est_cnf_pP != NULL);
-
-  if ((ue_ref = s1ap_is_ue_mme_id_in_list(conn_est_cnf_pP->nas_conn_est_cnf.UEid)) == NULL) {
-    S1AP_DEBUG("This mme ue s1ap id ("S1AP_UE_ID_FMT") is not attached to any UE context\n",
-               conn_est_cnf_pP->nas_conn_est_cnf.UEid);
-
-    DevParam(conn_est_cnf_pP->nas_conn_est_cnf.UEid, 0, 0);
-  }
-
-  /* Start the outcome response timer.
-   * When time is reached, MME consider that procedure outcome has failed.
-   */
-  //     timer_setup(mme_config.s1ap_config.outcome_drop_timer_sec, 0, TASK_S1AP, INSTANCE_DEFAULT,
-  //                 TIMER_ONE_SHOT,
-  //                 NULL,
-  //                 &ue_ref->outcome_response_timer_id);
-  /* Insert the timer in the MAP of mme_ue_s1ap_id <-> timer_id */
-  //     s1ap_timer_insert(ue_ref->mme_ue_s1ap_id, ue_ref->outcome_response_timer_id);
-
-  memset(&message, 0, sizeof(s1ap_message));
-  memset(&e_RABToBeSetup, 0, sizeof(S1ap_E_RABToBeSetupItemCtxtSUReq_t));
-
-  message.procedureCode = S1ap_ProcedureCode_id_InitialContextSetup;
-  message.direction     = S1AP_PDU_PR_initiatingMessage;
-
-  initialContextSetupRequest_p = &message.msg.s1ap_InitialContextSetupRequestIEs;
-
-  initialContextSetupRequest_p->mme_ue_s1ap_id = (unsigned long)ue_ref->mme_ue_s1ap_id;
-  initialContextSetupRequest_p->eNB_UE_S1AP_ID = (unsigned long)ue_ref->eNB_ue_s1ap_id;
-
-  /* uEaggregateMaximumBitrateDL and uEaggregateMaximumBitrateUL expressed in term of bits/sec */
-  asn_uint642INTEGER(&initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL, conn_est_cnf_pP->ambr.br_dl);
-  asn_uint642INTEGER(&initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateUL, conn_est_cnf_pP->ambr.br_ul);
-
-  e_RABToBeSetup.e_RAB_ID                    = conn_est_cnf_pP->eps_bearer_id; //5;
-  e_RABToBeSetup.e_RABlevelQoSParameters.qCI = conn_est_cnf_pP->bearer_qos_qci;
-
-
-  memset(&nas_pdu, 0, sizeof(nas_pdu));
-  nas_pdu.size = conn_est_cnf_pP->nas_conn_est_cnf.nasMsg.length;
-  nas_pdu.buf  = conn_est_cnf_pP->nas_conn_est_cnf.nasMsg.data;
-  e_RABToBeSetup.nAS_PDU = &nas_pdu;
-
-#if defined(ORIGINAL_S1AP_CODE)
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel =
-    S1ap_PriorityLevel_lowest;
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability =
-    S1ap_Pre_emptionCapability_shall_not_trigger_pre_emption;
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability =
-    S1ap_Pre_emptionVulnerability_not_pre_emptable;
-#else
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel =
-    conn_est_cnf_pP->bearer_qos_prio_level;
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability =
-    conn_est_cnf_pP->bearer_qos_pre_emp_capability;
-  e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability =
-    conn_est_cnf_pP->bearer_qos_pre_emp_vulnerability;
-#endif
-  /* Set the GTP-TEID. This is the S1-U S-GW TEID */
-  INT32_TO_OCTET_STRING(conn_est_cnf_pP->bearer_s1u_sgw_fteid.teid, &e_RABToBeSetup.gTP_TEID);
-
-  /* S-GW IP address(es) for user-plane */
-  if (conn_est_cnf_pP->bearer_s1u_sgw_fteid.ipv4) {
-    e_RABToBeSetup.transportLayerAddress.buf = calloc(4, sizeof(uint8_t));
-    /* Only IPv4 supported */
-    memcpy(e_RABToBeSetup.transportLayerAddress.buf,
-           &conn_est_cnf_pP->bearer_s1u_sgw_fteid.ipv4_address,
-           4);
-    offset += 4;
-    e_RABToBeSetup.transportLayerAddress.size = 4;
-    e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
-  }
-
-  if (conn_est_cnf_pP->bearer_s1u_sgw_fteid.ipv6) {
-    if (offset == 0) {
-      /* Both IPv4 and IPv6 provided */
-      /* TODO: check memory allocation */
-      e_RABToBeSetup.transportLayerAddress.buf = calloc(16, sizeof(uint8_t));
-    } else {
-      /* Only IPv6 supported */
-      /* TODO: check memory allocation */
-      e_RABToBeSetup.transportLayerAddress.buf
-        = realloc(e_RABToBeSetup.transportLayerAddress.buf, (16 + offset) * sizeof(uint8_t));
-    }
-
-    memcpy(&e_RABToBeSetup.transportLayerAddress.buf[offset],
-           conn_est_cnf_pP->bearer_s1u_sgw_fteid.ipv6_address,
-           16);
-    e_RABToBeSetup.transportLayerAddress.size = 16 + offset;
-    e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
-  }
-
-  ASN_SEQUENCE_ADD(&initialContextSetupRequest_p->e_RABToBeSetupListCtxtSUReq,
-                   &e_RABToBeSetup);
-
-  initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.buf =
-    (uint8_t *)&conn_est_cnf_pP->security_capabilities_encryption_algorithms;
-  initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.size = 2;
-  initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.bits_unused
-    = 0;
-
-  initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.buf =
-    (uint8_t *)&conn_est_cnf_pP->security_capabilities_integrity_algorithms;
-  initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.size
-    = 2;
-  initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.bits_unused
-    = 0;
-
-  S1AP_DEBUG("security_capabilities_encryption_algorithms 0x%04X\n",
-             conn_est_cnf_pP->security_capabilities_encryption_algorithms);
-  S1AP_DEBUG("security_capabilities_integrity_algorithms 0x%04X\n",
-             conn_est_cnf_pP->security_capabilities_integrity_algorithms);
-
-  if (conn_est_cnf_pP->keNB) {
-    initialContextSetupRequest_p->securityKey.buf = malloc(32);
-    memcpy(initialContextSetupRequest_p->securityKey.buf,
-           conn_est_cnf_pP->keNB,
-           32);
-
-    initialContextSetupRequest_p->securityKey.size = 32;
-  } else {
-    S1AP_DEBUG("No keNB\n");
-    initialContextSetupRequest_p->securityKey.buf = NULL;
-    initialContextSetupRequest_p->securityKey.size = 0;
-  }
-
-  initialContextSetupRequest_p->securityKey.bits_unused = 0;
-
-  if (s1ap_mme_encode_pdu(&message, &buffer_p, &length) < 0) {
-    // TODO: handle something
-    DevMessage("Failed to encode initial context setup request message\n");
-  }
-
-  free(conn_est_cnf_pP->nas_conn_est_cnf.nasMsg.data);
-
-  MSC_LOG_TX_MESSAGE(
-  		MSC_S1AP_MME,
-  		MSC_S1AP_ENB,
-  		NULL,0,
-  		"0 InitialContextSetup/initiatingMessage mme_ue_s1ap_id "S1AP_UE_ID_FMT" eNB_ue_s1ap_id "S1AP_UE_ID_FMT" nas length %u",
-  		initialContextSetupRequest_p->mme_ue_s1ap_id,
-  		initialContextSetupRequest_p->eNB_UE_S1AP_ID,
-  		nas_pdu.size);
-
-  s1ap_mme_itti_send_sctp_request(
-    buffer_p,
-    length,
-    ue_ref->eNB->sctp_assoc_id,
-    ue_ref->sctp_stream_send);
-}
-
-#endif
diff --git a/openair-cn/S1AP/s1ap_mme_nas_procedures.h b/openair-cn/S1AP/s1ap_mme_nas_procedures.h
deleted file mode 100644
index 51d45f1fb2bebf0da20ea3c66849cb909cac4791..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_nas_procedures.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdint.h>
-
-#include "s1ap_ies_defs.h"
-#include "intertask_interface.h"
-
-#ifndef S1AP_MME_NAS_PROCEDURES_H_
-#define S1AP_MME_NAS_PROCEDURES_H_
-
-/** \brief Handle an Initial UE message.
- * \param assocId lower layer assoc id (SCTP)
- * \param stream SCTP stream on which data had been received
- * \param message The message as decoded by the ASN.1 codec
- * @returns -1 on failure, 0 otherwise
- **/
-int s1ap_mme_handle_initial_ue_message(uint32_t assocId, uint32_t stream,
-                                       struct s1ap_message_s *message);
-
-/** \brief Handle an Uplink NAS transport message.
- * Process the RRC transparent container and forward it to NAS entity.
- * \param assocId lower layer assoc id (SCTP)
- * \param stream SCTP stream on which data had been received
- * \param message The message as decoded by the ASN.1 codec
- * @returns -1 on failure, 0 otherwise
- **/
-int s1ap_mme_handle_uplink_nas_transport(uint32_t assocId, uint32_t stream,
-    struct s1ap_message_s *message);
-
-/** \brief Handle a NAS non delivery indication message from eNB
- * \param assocId lower layer assoc id (SCTP)
- * \param stream SCTP stream on which data had been received
- * \param message The message as decoded by the ASN.1 codec
- * @returns -1 on failure, 0 otherwise
- **/
-int s1ap_mme_handle_nas_non_delivery(uint32_t assocId, uint32_t stream,
-                                     struct s1ap_message_s *message);
-
-#if defined(DISABLE_USE_NAS)
-int s1ap_handle_attach_accepted(nas_attach_accept_t *attach_accept_p);
-#else
-void s1ap_handle_conn_est_cnf(const mme_app_connection_establishment_cnf_t * const conn_est_cnf_p);
-#endif
-
-int s1ap_generate_downlink_nas_transport(const uint32_t ue_id, void * const data,
-    const uint32_t size);
-#endif /* S1AP_MME_NAS_PROCEDURES_H_ */
diff --git a/openair-cn/S1AP/s1ap_mme_retransmission.c b/openair-cn/S1AP/s1ap_mme_retransmission.c
deleted file mode 100644
index 0ce368ffa83b076dfcabc38854a201130f28fe6d..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_retransmission.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-
-#include "tree.h"
-#include "assertions.h"
-
-#include "intertask_interface.h"
-
-#include "timer.h"
-#include "s1ap_common.h"
-#include "s1ap_mme_retransmission.h"
-
-inline int s1ap_mme_timer_map_compare_id(
-  struct s1ap_timer_map_s *p1, struct s1ap_timer_map_s *p2);
-
-/* Reference to tree root element */
-RB_HEAD(s1ap_timer_map, s1ap_timer_map_s) s1ap_timer_tree = RB_INITIALIZER();
-
-/* RB tree functions for s1ap timer map are not exposed to the rest of the code
- * only declare prototypes here.
- */
-RB_PROTOTYPE(s1ap_timer_map, s1ap_timer_map_s, entries,
-             s1ap_mme_timer_map_compare_id);
-
-RB_GENERATE(s1ap_timer_map, s1ap_timer_map_s, entries,
-            s1ap_mme_timer_map_compare_id);
-
-int s1ap_mme_timer_map_compare_id(
-  struct s1ap_timer_map_s *p1, struct s1ap_timer_map_s *p2)
-{
-  if (p1->mme_ue_s1ap_id > 0) {
-    if (p1->mme_ue_s1ap_id > p2->mme_ue_s1ap_id) {
-      return 1;
-    }
-
-    if (p1->mme_ue_s1ap_id < p2->mme_ue_s1ap_id) {
-      return -1;
-    }
-
-    return 0;
-  }
-
-  if (p1->timer_id > p2->timer_id) {
-    return 1;
-  }
-
-  if (p1->timer_id < p2->timer_id) {
-    return -1;
-  }
-
-  /* Match -> return 0 */
-  return 0;
-}
-
-int s1ap_timer_insert(uint32_t mme_ue_s1ap_id, long timer_id)
-{
-  struct s1ap_timer_map_s *new;
-
-  new = malloc(sizeof(struct s1ap_timer_map_s));
-
-  new->timer_id = timer_id;
-  new->mme_ue_s1ap_id = mme_ue_s1ap_id;
-
-  if (RB_INSERT(s1ap_timer_map, &s1ap_timer_tree, new) != NULL) {
-    S1AP_ERROR("Timer with id 0x%lx already exists\n", timer_id);
-    free(new);
-    return -1;
-  }
-
-  return 0;
-}
-
-int s1ap_handle_timer_expiry(timer_has_expired_t *timer_has_expired)
-{
-  struct s1ap_timer_map_s *find;
-  struct s1ap_timer_map_s elm;
-
-  DevAssert(timer_has_expired != NULL);
-
-  memset(&elm, 0, sizeof(elm));
-
-  elm.timer_id = timer_has_expired->timer_id;
-
-  if ((find = RB_FIND(s1ap_timer_map, &s1ap_timer_tree, &elm)) == NULL) {
-    S1AP_WARN("Timer id 0x%lx has not been found in tree. Maybe the timer "
-              "reference has been removed before receiving timer signal\n",
-              timer_has_expired->timer_id);
-    return 0;
-  }
-
-  /* Remove the timer from the map */
-  RB_REMOVE(s1ap_timer_map, &s1ap_timer_tree, find);
-
-  /* Destroy the element */
-  free(find);
-
-  /* TODO: notify NAS and remove ue context */
-  return 0;
-}
-
-int s1ap_timer_remove_ue(uint32_t mme_ue_s1ap_id)
-{
-  struct s1ap_timer_map_s *find;
-
-  S1AP_DEBUG("Removing timer associated with UE "S1AP_UE_ID_FMT"\n",
-             mme_ue_s1ap_id);
-
-  DevAssert(mme_ue_s1ap_id != 0);
-
-  RB_FOREACH(find, s1ap_timer_map, &s1ap_timer_tree) {
-    if (find->mme_ue_s1ap_id == mme_ue_s1ap_id) {
-      timer_remove(find->timer_id);
-      /* Remove the timer from the map */
-      RB_REMOVE(s1ap_timer_map, &s1ap_timer_tree, find);
-      /* Destroy the element */
-      free(find);
-    }
-  }
-  return 0;
-}
diff --git a/openair-cn/S1AP/s1ap_mme_retransmission.h b/openair-cn/S1AP/s1ap_mme_retransmission.h
deleted file mode 100644
index f13a0c597cb7b8705290b4c9b2328d84634d67a4..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_retransmission.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include "tree.h"
-
-#ifndef S1AP_MME_RETRANSMISSION_H_
-#define S1AP_MME_RETRANSMISSION_H_
-
-typedef struct s1ap_timer_map_s {
-  long     timer_id;
-  uint32_t mme_ue_s1ap_id;
-
-  RB_ENTRY(s1ap_timer_map_s) entries;
-} s1ap_timer_map_t;
-
-int s1ap_mme_timer_map_compare_id(
-  struct s1ap_timer_map_s *p1, struct s1ap_timer_map_s *p2);
-
-int s1ap_handle_timer_expiry(timer_has_expired_t *timer_has_expired);
-
-int s1ap_timer_insert(uint32_t mme_ue_s1ap_id, long timer_id);
-
-int s1ap_timer_remove_ue(uint32_t mme_ue_s1ap_id);
-
-#endif /* S1AP_MME_RETRANSMISSION_H_ */
diff --git a/openair-cn/S1AP/s1ap_mme_ta.c b/openair-cn/S1AP/s1ap_mme_ta.c
deleted file mode 100644
index 706f22a72231ac1b38ef8e11c59e346f869b22df..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_ta.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-
-#include "assertions.h"
-#include "conversions.h"
-
-#include "mme_config.h"
-
-#include "s1ap_mme.h"
-#include "s1ap_common.h"
-#include "s1ap_mme_ta.h"
-
-static
-int s1ap_mme_compare_plmn(S1ap_PLMNidentity_t *plmn)
-{
-  int i;
-  uint16_t mcc;
-  uint16_t mnc;
-  uint16_t mnc_len;
-
-  DevAssert(plmn != NULL);
-
-  TBCD_TO_MCC_MNC(plmn, mcc, mnc, mnc_len);
-
-  config_read_lock(&mme_config);
-
-  for (i = 0; i < mme_config.gummei.nb_mme_gid; i++) {
-    S1AP_DEBUG("Comparing plmn_mcc %d/%d, plmn_mnc %d/%d plmn_mnc_len %d/%d\n",
-               mme_config.gummei.plmn_mcc[i], mcc,
-               mme_config.gummei.plmn_mnc[i],mnc,
-               mme_config.gummei.plmn_mnc_len[i],mnc_len);
-
-    if ((mme_config.gummei.plmn_mcc[i] == mcc) &&
-        (mme_config.gummei.plmn_mnc[i] == mnc) &&
-        (mme_config.gummei.plmn_mnc_len[i] == mnc_len))
-      /* There is a matching plmn */
-      return TA_LIST_AT_LEAST_ONE_MATCH;
-  }
-
-  config_unlock(&mme_config);
-
-  return TA_LIST_NO_MATCH;
-}
-
-/* @brief compare a list of broadcasted plmns against the MME configured.
- */
-static
-int s1ap_mme_compare_plmns(S1ap_BPLMNs_t *b_plmns)
-{
-  int i;
-  int matching_occurence = 0;
-
-  DevAssert(b_plmns != NULL);
-
-  for (i = 0; i < b_plmns->list.count; i++) {
-    if (s1ap_mme_compare_plmn(b_plmns->list.array[i])
-        == TA_LIST_AT_LEAST_ONE_MATCH)
-      matching_occurence++;
-  }
-
-  if (matching_occurence == 0)
-    return TA_LIST_NO_MATCH;
-  else if (matching_occurence == b_plmns->list.count - 1)
-    return TA_LIST_COMPLETE_MATCH;
-  else
-    return TA_LIST_AT_LEAST_ONE_MATCH;
-}
-
-/* @brief compare a TAC
- */
-static
-int s1ap_mme_compare_tac(S1ap_TAC_t *tac)
-{
-  int i;
-  uint16_t tac_value;
-
-  DevAssert(tac != NULL);
-
-  OCTET_STRING_TO_TAC(tac, tac_value);
-
-  config_read_lock(&mme_config);
-
-  for (i = 0; i < mme_config.gummei.nb_plmns; i++) {
-    S1AP_DEBUG("Comparing config tac %d, received tac = %d\n", mme_config.gummei.plmn_tac[i], tac_value);
-
-    if (mme_config.gummei.plmn_tac[i] == tac_value)
-      return TA_LIST_AT_LEAST_ONE_MATCH;
-  }
-
-  config_unlock(&mme_config);
-
-  return TA_LIST_NO_MATCH;
-}
-
-/* @brief compare a given ta list against the one provided by mme configuration.
- * @param ta_list
- * @return - TA_LIST_UNKNOWN_PLMN if at least one TAC match and no PLMN match
- *         - TA_LIST_UNKNOWN_TAC if at least one PLMN match and no TAC match
- *         - TA_LIST_RET_OK if both tac and plmn match at least one element
- */
-int s1ap_mme_compare_ta_lists(S1ap_SupportedTAs_t *ta_list)
-{
-  int i;
-  int tac_ret, bplmn_ret;
-
-  DevAssert(ta_list != NULL);
-
-  /* Parse every item in the list and try to find matching parameters */
-  for (i = 0; i < ta_list->list.count; i++) {
-    S1ap_SupportedTAs_Item_t *ta;
-
-    ta = ta_list->list.array[i];
-    DevAssert(ta != NULL);
-
-    tac_ret = s1ap_mme_compare_tac(&ta->tAC);
-    bplmn_ret = s1ap_mme_compare_plmns(&ta->broadcastPLMNs);
-
-    if (tac_ret == TA_LIST_NO_MATCH && bplmn_ret == TA_LIST_NO_MATCH) {
-      return TA_LIST_UNKNOWN_PLMN + TA_LIST_UNKNOWN_TAC;
-    } else {
-      if (tac_ret > TA_LIST_NO_MATCH && bplmn_ret == TA_LIST_NO_MATCH) {
-        return TA_LIST_UNKNOWN_PLMN;
-      } else if (tac_ret == TA_LIST_NO_MATCH && bplmn_ret > TA_LIST_NO_MATCH) {
-        return TA_LIST_UNKNOWN_TAC;
-      }
-    }
-  }
-
-  return TA_LIST_RET_OK;
-}
diff --git a/openair-cn/S1AP/s1ap_mme_ta.h b/openair-cn/S1AP/s1ap_mme_ta.h
deleted file mode 100644
index 32a6a9cd1551e75e56498ddd3e82d8c9b1a57b7c..0000000000000000000000000000000000000000
--- a/openair-cn/S1AP/s1ap_mme_ta.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#ifndef S1AP_MME_TA_H_
-#define S1AP_MME_TA_H_
-
-enum {
-  TA_LIST_UNKNOWN_TAC = -2,
-  TA_LIST_UNKNOWN_PLMN = -1,
-  TA_LIST_RET_OK = 0,
-  TA_LIST_NO_MATCH = 0x1,
-  TA_LIST_AT_LEAST_ONE_MATCH = 0x2,
-  TA_LIST_COMPLETE_MATCH = 0x3,
-};
-
-int s1ap_mme_compare_ta_lists(S1ap_SupportedTAs_t *ta_list);
-
-#endif /* S1AP_MME_TA_H_ */
diff --git a/openair-cn/S6A/COPYING b/openair-cn/S6A/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/S6A/Makefile.am b/openair-cn/S6A/Makefile.am
deleted file mode 100644
index 4f781887c9cb742e6c3d992a648377ea2f13bcb5..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/Makefile.am
+++ /dev/null
@@ -1,52 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AM_CFLAGS =				\
-	@ADD_CFLAGS@ 			\
-	-I$(top_srcdir)/COMMON   \
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE	\
-	-I$(top_srcdir)/UTILS
-
-noinst_LTLIBRARIES = libs6a.la
-libs6a_la_LDFLAGS = -all-static
-
-libs6a_la_SOURCES = \
-	s6a_defs.h	s6a_messages.h	\
-	s6a_auth_info.c	\
-	s6a_dict.c	\
-	s6a_error.c	\
-	s6a_peer.c	\
-	s6a_subscription_data.c	\
-	s6a_task.c	\
-	s6a_up_loc.c
diff --git a/openair-cn/S6A/freediameter/README.txt b/openair-cn/S6A/freediameter/README.txt
deleted file mode 100644
index a1c80e1cabf8337052c9297a9788fddc76eb98e4..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/freediameter/README.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-Pre-requisities:
-Cmake libgnutls-3.1.0
-
-The best way to install freeDiameter is to use to script provided in this folder.
-
-download tarball here: http://www.freediameter.net/hg/freeDiameter/archive/1.1.5.tar.gz
-extract it somewhere.
-cd freeDiameter-1.1.5
-patch -p1 < freediameter-1.1.5.patch
-mkdir build && cd build
-cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../
-sudo make install
-
-if you choose to install libraries in default path (/usr/local/lib), you will have
-    to tell configure to use LDFLAGS='-L/usr/local/lib'
\ No newline at end of file
diff --git a/openair-cn/S6A/freediameter/freediameter-1.1.5.patch b/openair-cn/S6A/freediameter/freediameter-1.1.5.patch
deleted file mode 100644
index 3b0389067538129d6e43f7ebbed429c985f01a28..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/freediameter/freediameter-1.1.5.patch
+++ /dev/null
@@ -1,4296 +0,0 @@
-diff -NaurB -x '*~' -x build freeDiameter-1.1.5-unmodified/extensions/CMakeLists.txt freeDiameter-1.1.5/extensions/CMakeLists.txt
---- freeDiameter-1.1.5-unmodified/extensions/CMakeLists.txt	2012-11-03 18:45:41.000000000 +0100
-+++ freeDiameter-1.1.5/extensions/CMakeLists.txt	2013-02-14 14:40:40.605217128 +0100
-@@ -35,7 +35,7 @@
- 
- ####
- # Diameter applications dictionaries
--
-+FD_EXTENSION_SUBDIR(dict_s6a    "3GPP S6A TS.29.279-990"                        ON)
- FD_EXTENSION_SUBDIR(dict_nasreq "NASREQ (RFC4005) Dictionary definitions"       ON)
- FD_EXTENSION_SUBDIR(dict_eap    "Diameter EAP (RFC4072) Dictionary definitions" ON)
- 
-diff -NaurB -x '*~' -x build freeDiameter-1.1.5-unmodified/extensions/dict_s6a/CMakeLists.txt freeDiameter-1.1.5/extensions/dict_s6a/CMakeLists.txt
---- freeDiameter-1.1.5-unmodified/extensions/dict_s6a/CMakeLists.txt	1970-01-01 01:00:00.000000000 +0100
-+++ freeDiameter-1.1.5/extensions/dict_s6a/CMakeLists.txt	2012-11-22 17:14:40.177272498 +0100
-@@ -0,0 +1,13 @@
-+# The dict_rfc5777 extension
-+PROJECT("S6a protocol based on 3GPP 29.272-990" C)
-+
-+# Compile as a module
-+FD_ADD_EXTENSION(dict_s6a dict_s6a.c)
-+
-+
-+####
-+## INSTALL section ##
-+
-+INSTALL(TARGETS dict_s6a
-+	LIBRARY DESTINATION ${INSTALL_EXTENSIONS_SUFFIX}
-+	COMPONENT freeDiameter-dictionary-s6a)
-diff -NaurB -x '*~' -x build freeDiameter-1.1.5-unmodified/extensions/dict_s6a/dict_s6a.c freeDiameter-1.1.5/extensions/dict_s6a/dict_s6a.c
---- freeDiameter-1.1.5-unmodified/extensions/dict_s6a/dict_s6a.c	1970-01-01 01:00:00.000000000 +0100
-+++ freeDiameter-1.1.5/extensions/dict_s6a/dict_s6a.c	2013-02-13 09:08:27.026025453 +0100
-@@ -0,0 +1,4212 @@
-+/*********************************************************************************************************
-+* Software License Agreement (BSD License)															 *
-+* Author: Sebastien ROUX <sebastien.roux@eurecom.fr>							 *
-+*													 *
-+* Copyright (c) 2013, Eurecom						 *
-+* All rights reserved.											 *
-+* 													 *
-+* Redistribution and use of this software in source and binary forms, with or without modification, are  *
-+* permitted provided that the following conditions are met:						 *
-+* 													 *
-+* * Redistributions of source code must retain the above 						 *
-+*   copyright notice, this list of conditions and the 							 *
-+*   following disclaimer.										 *
-+*   													 *
-+* * Redistributions in binary form must reproduce the above 						 *
-+*   copyright notice, this list of conditions and the 							 *
-+*   following disclaimer in the documentation and/or other						 *
-+*   materials provided with the distribution.								 *
-+* 													 *
-+* * Neither the name of the Teraoka Laboratory nor the 							 *
-+*   names of its contributors may be used to endorse or 						 *
-+*   promote products derived from this software without 						 *
-+*   specific prior written permission of Teraoka Laboratory 						 *
-+*   													 *
-+* 													 *
-+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED *
-+* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
-+* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR *
-+* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 	 *
-+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 	 *
-+* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
-+* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF   *
-+* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.								 *
-+*********************************************************************************************************/
-+
-+#include <freeDiameter/extension.h>
-+
-+/* The content of this file follows the same structure as dict_base_proto.c */
-+
-+#define CHECK_dict_new( _type, _data, _parent, _ref )	\
-+	CHECK_FCT(  fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref))  );
-+
-+#define CHECK_dict_search( _type, _criteria, _what, _result )	\
-+	CHECK_FCT(  fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) );
-+
-+struct local_rules_definition {
-+	char 			*avp_name;
-+	enum rule_position	position;
-+	int 			min;
-+	int			max;
-+};
-+
-+#define RULE_ORDER( _position ) ((((_position) == RULE_FIXED_HEAD) || ((_position) == RULE_FIXED_TAIL)) ? 1 : 0 )
-+
-+#define PARSE_loc_rules( _rulearray, _parent) {								\
-+	int __ar;											\
-+	for (__ar=0; __ar < sizeof(_rulearray) / sizeof((_rulearray)[0]); __ar++) {			\
-+		struct dict_rule_data __data = { NULL, 							\
-+			(_rulearray)[__ar].position,							\
-+			0, 										\
-+			(_rulearray)[__ar].min,								\
-+			(_rulearray)[__ar].max};							\
-+		__data.rule_order = RULE_ORDER(__data.rule_position);					\
-+		CHECK_FCT(  fd_dict_search( 								\
-+			fd_g_config->cnf_dict,								\
-+			DICT_AVP, 									\
-+			AVP_BY_NAME_ALL_VENDORS, 									\
-+			(_rulearray)[__ar].avp_name, 							\
-+			&__data.rule_avp, 0 ) );							\
-+		if ( !__data.rule_avp ) {								\
-+			TRACE_DEBUG(INFO, "AVP Not found: '%s'", (_rulearray)[__ar].avp_name );		\
-+			return ENOENT;									\
-+		}											\
-+		CHECK_FCT_DO( fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &__data, _parent, NULL),	\
-+			{											\
-+				TRACE_DEBUG(INFO, "Error on rule with AVP '%s'",	  			\
-+					 (_rulearray)[__ar].avp_name );			  			\
-+				return EINVAL;						  			\
-+			} );								  			\
-+	}										  			\
-+}
-+
-+#define enumval_def_u32( _val_, _str_ ) \
-+		{ _str_, 		{ .u32 = _val_ }}
-+
-+#define enumval_def_os( _len_, _val_, _str_ ) \
-+		{ _str_, 		{ .os = { .data = (unsigned char *)_val_, .len = _len_ }}}
-+
-+/* Defines if there are any */
-+
-+/* Dictionary */
-+
-+int dict_s6a_init(char * conffile)
-+{
-+#define VENDOR_3GPP_Id  10415
-+
-+	TRACE_ENTRY("%p", conffile);
-+
-+	struct dict_object * vendor_dict;
-+	{
-+		struct dict_vendor_data vendor_data = { VENDOR_3GPP_Id, "3GPP" };
-+		CHECK_dict_new (DICT_VENDOR, &vendor_data, NULL, &vendor_dict);
-+	}
-+
-+	struct dict_object * s6a_dict;
-+	{
-+		struct dict_application_data data = { 16777251, "Diameter S6a 3GPP" };
-+		CHECK_dict_new( DICT_APPLICATION, &data , NULL, &s6a_dict);
-+	}
-+
-+	/* AVP section */
-+	{
-+		/* Loading the derived data formats */
-+
-+		struct dict_object * Time_type;
-+		struct dict_object * Address_type;
-+		struct dict_object * UTF8String_type;
-+
-+		CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type);
-+		CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Address", &Address_type);
-+		CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type);
-+
-+		/* 3GPP-Charging-Characteristics */
-+		{
-+			struct dict_avp_data data = {
-+				13, 					/* Code */
-+				0, 					/* Vendor */
-+				"3GPP-Charging-Characteristics",		/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, 	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING					/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* Service-Selection - RFC 5778 */
-+		{
-+			struct dict_avp_data data = {
-+				493, 					/* Code */
-+				0, 					/* Vendor */
-+				"Service-Selection",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, 	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		 	/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING 			/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* Max-Requested-Bandwidth-DL AVP - 3GPP TS 29.214  #5.3.14 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				515,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Max-Requested-Bandwidth-DL",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Max-Requested-Bandwidth-UL AVP - 3GPP TS 29.214  #5.3.15 */
-+		{
-+			struct dict_avp_data data = {
-+				516,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Max-Requested-Bandwidth-UL",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Visited-Network-Identifier AVP - 3GPP TS 29.229 #6.3.1 */
-+		{
-+			struct dict_avp_data data = {
-+				600,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Visited-Network-Identifier",			/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Confidentiality-Key AVP - 3GPP TS 29.229 #6.3.27 */
-+		{
-+			struct dict_avp_data data = {
-+				625,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Confidentiality-Key",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Integrity-Key AVP - 3GPP TS 29.229 #6.3.28 */
-+		{
-+			struct dict_avp_data data = {
-+				626,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Integrity-Key",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Feature-List-ID AVP - 3GPP TS 29.229 #6.3.29 */
-+		{
-+			struct dict_avp_data data = {
-+				629,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Feature-List-ID",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Feature-List AVP - 3GPP TS 29.229 #6.3.30 */
-+		{
-+			struct dict_avp_data data = {
-+				630,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Feature-List",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* MSISDN AVP - 3GPP TS 29.329 #6.3.2 */
-+		{
-+			struct dict_avp_data data = {
-+				701,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MSISDN",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Served-Party-IP-Address AVP - 3GPP TS 32.299 #7.2.187
-+		 * The Served-Party-IP-Address AVP (AVP code 848) is of type Address
-+		 * and holds the IP address of either the calling or called party,
-+		 * depending on whether the P-CSCF is in touch with the calling or the
-+		 * called party. This AVP is only provided by the P-CSCF.
-+		 */
-+		{
-+			struct dict_avp_data data = {
-+				848,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Served-Party-IP-Address",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
-+		}
-+
-+		/* QoS-Class-Identifier AVP - 3GPP TS 29.212  #5.3.17 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(QoS-Class-Identifier)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_1		= { "QCI_1",					{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 	= { "QCI_2",					{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 	= { "QCI_3",					{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4		= { "QCI_4",					{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5 	= { "QCI_5",					{ .i32 = 5 }};
-+			struct dict_enumval_data 	t_6 	= { "QCI_6",					{ .i32 = 6 }};
-+			struct dict_enumval_data 	t_7 	= { "QCI_7",					{ .i32 = 7 }};
-+			struct dict_enumval_data 	t_8 	= { "QCI_8",					{ .i32 = 8 }};
-+			struct dict_enumval_data 	t_9		= { "QCI_9",					{ .i32 = 9 }};
-+
-+			struct dict_avp_data data = {
-+				1028,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"QoS-Class-Identifier",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata, NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_6, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_7, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_8, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_9, avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* RAT-Type AVP - 3GPP TS 29.212  #5.3.31 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_UNSIGNED32,	"Enumerated(RAT-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0		= { "WLAN",						{ .u32 = 0 }};
-+			struct dict_enumval_data 	t_1		= { "VIRTUAL",					{ .u32 = 1 }};
-+			struct dict_enumval_data 	t_1000 	= { "UTRAN",					{ .u32 = 1000 }};
-+			struct dict_enumval_data 	t_1001 	= { "GERAN",					{ .u32 = 1001 }};
-+			struct dict_enumval_data 	t_1002	= { "GAN",						{ .u32 = 1002 }};
-+			struct dict_enumval_data 	t_1003 	= { "HSPA_EVOLUTION",			{ .u32 = 1003 }};
-+			struct dict_enumval_data 	t_1004 	= { "EUTRAN",					{ .u32 = 1004 }};
-+			struct dict_enumval_data 	t_2000 	= { "CDMA2000_1X",				{ .u32 = 2000 }};
-+			struct dict_enumval_data 	t_2001 	= { "HRPD",						{ .u32 = 2001 }};
-+			struct dict_enumval_data 	t_2002	= { "UMB",						{ .u32 = 2002 }};
-+			struct dict_enumval_data 	t_2003 	= { "EHRPD",					{ .u32 = 2003 }};
-+
-+			struct dict_avp_data data = {
-+				1032,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"RAT-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1000 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1001 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1002 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1003 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1004 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2000 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2001 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2002 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2003 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Priority-Level AVP - 3GPP TS 29.272  #5.3.45 */
-+		{
-+			struct dict_avp_data data = {
-+				1046,			  /* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Priority-Level",		  /* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32  /* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Pre-emption-Capability AVP - 3GPP TS 29.212  #5.3.46 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Pre-emption-Capability)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0		= { "PRE-EMPTION_CAPABILITY_ENABLED",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 	= { "PRE-EMPTION_CAPABILITY_DISABLED",		{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1047,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Pre-emption-Capability",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Pre-emption-Vulnerability AVP - 3GPP TS 29.212  #5.3.47 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Pre-emption-Vulnerability)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0		= { "PRE-EMPTION_VULNERABILITY_ENABLED",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 	= { "PRE-EMPTION_VULNERABILITY_DISABLED",		{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1048,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Pre-emption-Vulnerability",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Allocation-Retention-Priority AVP - 3GPP TS 29.272 #5.3.32 */
-+		{
-+			/*
-+
-+			 Allocation-Retention-Priority ::= < AVP Header: 1034 >
-+					{ Priority-Level }
-+					[ Pre-emption-Capability ]
-+					[ Pre-emption-Vulnerability ]
-+
-+			 The Allocation-Retention-Priority AVP (AVP code 1034) is of type
-+			 Grouped, and it is used to indicate the priority of allocation and
-+			 retention, the pre-emption capability and pre-emption vulnerability
-+			 for the SDF if provided within the QoS-Information-AVP or for the
-+			 EPS default bearer if provided within the Default-EPS-Bearer-QoS AVP.
-+			*/
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1034,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Allocation-Retention-Priority",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Priority-Level",				RULE_REQUIRED, -1,  1 }
-+				,{  "Pre-emption-Capability",		RULE_OPTIONAL, -1,  1 }
-+				,{  "Pre-emption-Vulnerability",	RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* PDP-Address AVP - 3GPP TS 32.299 #6.3.2 */
-+		{
-+			/*
-+			 * The PDP-Address-Prefix-Length AVP needs not be available for IPv6
-+			 * typed IP-address prefix length of 64 bits.
-+			 */
-+			struct dict_avp_data data = {
-+				1227,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDP-Address",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
-+		}
-+
-+		/* Subscriber-Status - 3GPP TS 29.272  #7.3.29 */
-+		{
-+			struct dict_object * type;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_UNSIGNED32,	"Enumerated(Subscriber-Status)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "SERVICE_GRANTED",					{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "OPERATOR_DETERMINED_BARRING", 		{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1424,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Subscriber-Status",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE,	&tdata, NULL, &type);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1,   type, NULL);
-+			CHECK_dict_new( DICT_AVP,	 &data,  NULL, &type);
-+		}
-+
-+		/* STN-SR AVP - 3GPP TS 29.272  #7.3.33 */
-+		{
-+			struct dict_avp_data data = {
-+				1433,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"STN-SR",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* ICS-Indicator AVP - 3GPP TS 29.272  #7.3.104 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(ICS-Indicator)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "FALSE",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "TRUE",				{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1491,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"ICS-Indicator",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* IMEI AVP - 3GPP TS 29.272  #7.3.4 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1402,				/* Code */
-+                VENDOR_3GPP_Id,					/* Vendor */
-+				"IMEI",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, &avp);
-+		}
-+
-+		/* 3GPP2-MEID AVP - 3GPP TS 29.272  #7.3.6 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1471,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"3GPP2-MEID",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Software Version - 3GPP TS 29.272  #7.3.5 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1403,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Software-Version",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, &avp);
-+		}
-+
-+		/* Terminal Information AVP - 3GPP TS 29.272 #7.3.3 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1401,				/* Code */
-+                VENDOR_3GPP_Id,					/* Vendor */
-+				"Terminal-Information",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "IMEI",				RULE_REQUIRED,  1, 1 }
-+				,{  "3GPP2-MEID",		RULE_REQUIRED,  1, 1 }
-+				,{  "Software-Version",	RULE_REQUIRED,  1, 1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* ULA-Flags - 3GPP TS 29.272  #7.3.8 */
-+		{
-+			struct dict_avp_data data = {
-+				1406,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"ULA-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Visited-PLMN-Id AVP - 3GPP TS 29.272  #7.3.9 */
-+		{
-+			struct dict_avp_data data = {
-+				1407,				/* Code */
-+                VENDOR_3GPP_Id,					/* Vendor */
-+				"Visited-PLMN-Id",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Number-Of-Requested-Vectors - 3GPP TS 29.272  #7.3.14 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1410,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Number-Of-Requested-Vectors",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Re-Synchronization-Info - 3GPP TS 29.272  #7.3.15 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1411,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Re-Synchronization-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Immediate-Response-Preferred - 3GPP TS 29.272  #7.3.16 */
-+		{
-+			struct dict_avp_data data = {
-+				1412,				/* Code */
-+				VENDOR_3GPP_Id,     /* Vendor */
-+				"Immediate-Response-Preferred",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+			
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Requested-EUTRAN-Authentication-Info AVP - 3GPP TS 29.272  #7.3.11 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1408,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Requested-EUTRAN-Authentication-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Number-Of-Requested-Vectors", 	RULE_OPTIONAL, -1, 1 }
-+				,{  "Immediate-Response-Preferred", 	RULE_OPTIONAL, -1, 1 }
-+				,{  "Re-Synchronization-Info", 		RULE_OPTIONAL, -1, 1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Requested-UTRAN-GERAN-Authentication-Info AVP - 3GPP TS 29.272  #7.3.12 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1409,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Requested-UTRAN-GERAN-Authentication-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Number-Of-Requested-Vectors", 	RULE_OPTIONAL, -1, 1 }
-+				,{  "Immediate-Response-Preferred", 	RULE_OPTIONAL, -1, 1 }
-+				,{  "Re-Synchronization-Info", 		RULE_OPTIONAL, -1, 1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Item-Number AVP - 3GPP TS 29.272  #7.3.23 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1419,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Item-Number",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* RAND AVP - 3GPP TS 29.272  #7.3.53 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1447,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"RAND",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* XRES AVP - 3GPP TS 29.272  #7.3.54 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1448,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"XRES",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* AUTN AVP - 3GPP TS 29.272  #7.3.55 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1449,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"AUTN",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* SRES AVP - 3GPP TS 29.272  #7.3.60 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1454,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SRES",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* KASME AVP - 3GPP TS 29.272  #7.3.56 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1450,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"KASME",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Kc AVP - 3GPP TS 29.272  #7.3.59 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1453,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Kc",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Trace-Collection-Entity AVP - 3GPP TS 29.272  #7.3.96 */
-+		{
-+			struct dict_avp_data data = {
-+				1452,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Collection-Entity",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
-+		}
-+
-+		/* E-UTRAN-Vector - 3GPP TS 29.272  #7.3.18 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1414,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"E-UTRAN-Vector",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Item-Number", 		RULE_OPTIONAL, -1,  1 }
-+				,{  "RAND", 			RULE_REQUIRED, -1,  1 }
-+				,{  "XRES", 			RULE_REQUIRED, -1,  1 }
-+				,{  "AUTN", 			RULE_REQUIRED, -1,  1 }
-+				,{  "KASME", 			RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* UTRAN-Vector - 3GPP TS 29.272  #7.3.19 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1415,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"UTRAN-Vector",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Item-Number", 			RULE_OPTIONAL, -1,  1 }
-+				,{  "RAND", 				RULE_REQUIRED, -1,  1 }
-+				,{  "XRES", 				RULE_REQUIRED, -1,  1 }
-+				,{  "AUTN", 				RULE_REQUIRED, -1,  1 }
-+				,{  "Confidentiality-Key", 	RULE_REQUIRED, -1,  1 }
-+				,{  "Integrity-Key", 		RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* GERAN-Vector - 3GPP TS 29.272  #7.3.20 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1416,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GERAN-Vector",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Item-Number", 			RULE_OPTIONAL, -1,  1 }
-+				,{  "RAND", 				RULE_REQUIRED, -1,  1 }
-+				,{  "SRES", 				RULE_REQUIRED, -1,  1 }
-+				,{  "Kc", 					RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Authentication-Info - 3GPP TS 29.272  #7.3.17 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1413,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Authentication-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "E-UTRAN-Vector", 		RULE_OPTIONAL, -1, -1 }
-+				,{  "UTRAN-Vector", 		RULE_OPTIONAL, -1, -1 }
-+				,{  "GERAN-Vector", 		RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Network-Access-Mode - 3GPP TS 29.272  #7.3.21 */
-+		{
-+			struct dict_object * type;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_UNSIGNED32,	"Enumerated(Network-Access-Mode)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "PACKET_AND_CIRCUIT",	{ .u32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "ONLY_PACKET", 			{ .u32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1417,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Network-Access-Mode",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , type, NULL);
-+		}
-+
-+		/* HPLMN-ODB AVP - 3GPP TS 29.272  #7.3.22 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1418,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"HPLMN-ODB",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Cancellation-Type - 3GPP TS 29.272  #7.3.24 */
-+		{
-+			struct dict_object * type;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_UNSIGNED32,	"Enumerated(Cancellation-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "MME_UPDATE_PROCEDURE",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "SGSN_UPDATE_PROCEDURE", 		{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "SUBSCRIPTION_WITHDRAWAL", 		{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "UPDATE_PROCEDURE_IWF", 		{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "INITIAL_ATTACH_PROCEDURE", 	{ .i32 = 4 }};
-+
-+			struct dict_avp_data data = {
-+				1420,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Cancellation-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE,	&tdata, NULL, &type);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4,   type, NULL);
-+			CHECK_dict_new( DICT_AVP,	 &data,  NULL, &type);
-+		}
-+
-+		/* DSR-Flags AVP - 3GPP TS 29.272  #7.3.25 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1421,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"DSR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* DSA-Flags AVP - 3GPP TS 29.272  #7.3.26 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1422,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"DSA-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Context-Identifier AVP - 3GPP TS 29.272  #7.3.27 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1423,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Context-Identifier",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Operator-Determined-Barring AVP - 3GPP TS 29.272  #7.3.30 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1425,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Operator-Determined-Barring",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Access-Restriction-Data AVP - 3GPP TS 29.272  #7.3.31 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1426,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Access-Restriction-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* APN-OI-Replacement AVP - 3GPP TS 29.272  #7.3.32 */
-+		{
-+			struct dict_avp_data data = {
-+				1427,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"APN-OI-Replacement",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* All-APN-Configurations-Included-Indicator AVP - 3GPP TS 29.272  #7.3.33 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(All-APN-Configurations-Included-Indicator)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "All_APN_CONFIGURATIONS_INCLUDED",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "MODIFIED/ADDED_APN_CONFIGURATIONS_INCLUDED", 	{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1428,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"All-APN-Configurations-Included-Indicator",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* PDN-Type AVP - 3GPP TS 29.272  #7.3.62 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(PDN-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "IPv4",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "IPv6",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "IPv4v6", 			{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "IPv4_OR_IPv6", 	{ .i32 = 3 }};
-+
-+			struct dict_avp_data data = {
-+				1456,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDN-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* EPS-Subscribed-QoS-Profile AVP - 3GPP TS 29.272 #7.3.37 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1431,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"EPS-Subscribed-QoS-Profile",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "QoS-Class-Identifier",				RULE_REQUIRED, -1,  1 }
-+				,{ "Allocation-Retention-Priority",		RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* VPLMN-Dynamic-Address-Allowed AVP - 3GPP TS 29.272  #7.3.38 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(VPLMN-Dynamic-Address-Allowed)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOTALLOWED",	{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "ALLOWED", 		{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1432,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"VPLMN-Dynamic-Address-Allowed",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Alert-Reason AVP - 3GPP TS 29.272  #7.3.83 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Alert-Reason)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "UE_PRESENT",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "UE_MEMORY_AVAILABLE", 	{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1434,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Alert-Reason",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* PDN-GW-Allocation-Type AVP - 3GPP TS 29.272  #7.3.44 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(PDN-GW-Allocation-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "STATIC",	{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "DYNAMIC", 	{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1438,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDN-GW-Allocation-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Expiration-Date AVP - 3GPP TS 29.272  #7.3.80 */
-+		{
-+			struct dict_avp_data data = {
-+				1439,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Expiration-Date",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Time_type, NULL);
-+		}
-+
-+		/* CSG-Id AVP - 3GPP TS 29.272 #7.3.79 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1437,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"CSG-Id",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* AMBR AVP - 3GPP TS 29.272 #7.3.41 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1435,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"AMBR",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Max-Requested-Bandwidth-UL",		RULE_REQUIRED, -1,  1 }
-+				,{ "Max-Requested-Bandwidth-DL",		RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Specific-APN-Info AVP - 3GPP TS 29.272  #7.3.82 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1472,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Specific-APN-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Service-Selection",					RULE_REQUIRED, -1,  1 }
-+				,{ "MIP6-Agent-Info",					RULE_REQUIRED, -1,  1 }
-+				,{ "Visited-Network-Identifier",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* SIPTO-Permission AVP - 3GPP TS 29.272  #7.3.135 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(SIPTO-Permission)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "SIPTO_ALLOWED",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "SIPTO_NOTALLOWED",				{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1613,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SIPTO-Permission",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* LIPA-Permission AVP - 3GPP TS 29.272 #7.3.133 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(LIPA-Permission)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "LIPA-PROHIBITED",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "LIPA-ONLY",					{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "LIPA-CONDITIONAL",			{ .i32 = 2 }};
-+
-+			struct dict_avp_data data = {
-+				1618,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"LIPA-Permission",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* List-Of-Measurements AVP - 3GPP TS 29.272 #7.3.139 */
-+		{
-+			struct dict_avp_data data = {
-+				1625,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"List-Of-Measurements",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Reporting-Trigger AVP - 3GPP TS 29.272 #7.3.140 */
-+		{
-+			struct dict_avp_data data = {
-+				1626,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Reporting-Trigger",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Report-Interval AVP - 3GPP TS 29.272 #7.3.141 and TS 32.422 #5.10.5 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Report-Interval)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "250ms",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "500ms",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "1000ms",				{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3  = { "2000ms",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4  = { "3000ms",				{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5  = { "4000ms",				{ .i32 = 5 }};
-+			struct dict_enumval_data 	t_6  = { "6000ms",				{ .i32 = 6 }};
-+			struct dict_enumval_data 	t_7  = { "8000ms",				{ .i32 = 7 }};
-+			struct dict_enumval_data 	t_8  = { "12000ms",				{ .i32 = 8 }};
-+			struct dict_enumval_data 	t_9  = { "16000ms",				{ .i32 = 9 }};
-+			struct dict_enumval_data 	t_10 = { "20000ms",				{ .i32 = 10 }};
-+			struct dict_enumval_data 	t_11 = { "24000ms",				{ .i32 = 11 }};
-+			struct dict_enumval_data 	t_12 = { "28000ms",				{ .i32 = 12 }};
-+			struct dict_enumval_data 	t_13 = { "32000ms",				{ .i32 = 13 }};
-+			struct dict_enumval_data 	t_14 = { "64000ms",				{ .i32 = 14 }};
-+			/* Possible in LTE */
-+			struct dict_enumval_data 	t_15 = { "120ms",				{ .i32 = 15 }};
-+			struct dict_enumval_data 	t_16 = { "240ms",				{ .i32 = 16 }};
-+			struct dict_enumval_data 	t_17 = { "480ms",				{ .i32 = 17 }};
-+			struct dict_enumval_data 	t_18 = { "640ms",				{ .i32 = 18 }};
-+			struct dict_enumval_data 	t_19 = { "1024ms",				{ .i32 = 19 }};
-+			struct dict_enumval_data 	t_20 = { "2048ms",				{ .i32 = 20 }};
-+			struct dict_enumval_data 	t_21 = { "5120ms",				{ .i32 = 21 }};
-+			struct dict_enumval_data 	t_22 = { "10240ms",				{ .i32 = 22 }};
-+			struct dict_enumval_data 	t_23 = { "1min",				{ .i32 = 23 }};
-+			struct dict_enumval_data 	t_24 = { "6min",				{ .i32 = 24 }};
-+			struct dict_enumval_data 	t_25 = { "12min",				{ .i32 = 25 }};
-+			struct dict_enumval_data 	t_26 = { "30min",				{ .i32 = 26 }};
-+			struct dict_enumval_data 	t_27 = { "60min",				{ .i32 = 27 }};
-+
-+			struct dict_avp_data data = {
-+				1627,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Report-Interval",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_6 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_7 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_8 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_9 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_10 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_11 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_12 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_13 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_14 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_15 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_16 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_17 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_18 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_19 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_20 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_21 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_22 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_23 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_24 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_25 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_26 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_27 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Report-Amount AVP - 3GPP TS 29.272 #7.3.142 and TS 32.422 #5.10.6 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Report-Amount)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "1",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "2",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "4",				{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3  = { "8",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4  = { "16",				{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5  = { "32",				{ .i32 = 5 }};
-+			struct dict_enumval_data 	t_6  = { "64",				{ .i32 = 6 }};
-+			struct dict_enumval_data 	t_7  = { "infinity",		{ .i32 = 7 }};
-+
-+			struct dict_avp_data data = {
-+				1628,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Report-Amount",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_6 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_7 , avp, NULL);
-+
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Event-Threshold-RSRP AVP - 3GPP TS 29.272 #7.3.143 */
-+		{
-+			struct dict_avp_data data = {
-+				1629,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Event-Threshold-RSRP",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Event-Threshold-RSRQ AVP - 3GPP TS 29.272 #7.3.144 */
-+		{
-+			struct dict_avp_data data = {
-+				1630,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Event-Threshold-RSRQ",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Logging-Interval AVP - 3GPP TS 29.272 #7.3.145 and TS 32.422 #5.10.8 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Logging-Interval)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "1.28",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "2.56",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "5.12",				{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3  = { "10.24",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4  = { "20.48",				{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5  = { "30.72",				{ .i32 = 5 }};
-+			struct dict_enumval_data 	t_6  = { "40.96",				{ .i32 = 6 }};
-+			struct dict_enumval_data 	t_7  = { "61.44",				{ .i32 = 7 }};
-+
-+			struct dict_avp_data data = {
-+				1631,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Logging-Interval",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_6 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_7 , avp, NULL);
-+
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Logging-Duration AVP - 3GPP TS 29.272 #7.3.145 and TS 32.422 #5.10.9 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Logging-Duration)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "600sec",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "1200sec",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "2400sec",				{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3  = { "3600sec",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4  = { "5400sec",				{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5  = { "7200sec",				{ .i32 = 5 }};
-+
-+			struct dict_avp_data data = {
-+				1632,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Logging-Duration",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* APN-Configuration AVP - 3GPP TS 29.272 #7.3.35 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1430,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"APN-Configuration",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Context-Identifier",			RULE_REQUIRED, -1,  1 }
-+				,{ "Served-Party-IP-Address",		RULE_OPTIONAL, -1,  2 }
-+				,{ "PDN-Type",						RULE_REQUIRED, -1,  1 }
-+				,{ "Service-Selection",				RULE_REQUIRED, -1,  1 }
-+				,{ "EPS-Subscribed-QoS-Profile",	RULE_OPTIONAL, -1,  1 }
-+				,{ "VPLMN-Dynamic-Address-Allowed",	RULE_OPTIONAL, -1,  1 }
-+				,{ "MIP6-Agent-Info",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Visited-Network-Identifier",	RULE_OPTIONAL, -1,  1 }
-+				,{ "PDN-GW-Allocation-Type",		RULE_OPTIONAL, -1,  1 }
-+				,{ "3GPP-Charging-Characteristics",	RULE_OPTIONAL, -1,  1 }
-+				,{ "AMBR",							RULE_OPTIONAL, -1,  1 }
-+				,{ "Specific-APN-Info",				RULE_OPTIONAL, -1, -1 }
-+				,{ "APN-OI-Replacement",			RULE_OPTIONAL, -1,  1 }
-+				,{ "SIPTO-Permission",				RULE_OPTIONAL, -1,  1 }
-+				,{ "LIPA-Permission",				RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* APN-Configuration-Profile AVP - 3GPP TS 29.272 #7.3.34 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1429,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"APN-Configuration-Profile",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Context-Identifier",						RULE_REQUIRED, -1,  1 }
-+				,{ "All-APN-Configurations-Included-Indicator",	RULE_REQUIRED, -1,  1 }
-+				,{ "APN-Configuration",							RULE_REQUIRED, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* CSG-Subscription-Data AVP - 3GPP TS 29.272 #7.3.78 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1436,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"CSG-Subscription-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "CSG-Id",					RULE_REQUIRED, -1,  1 }
-+				,{ "Expiration-Date",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Service-Selection",			RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* RAT-Frequency-Selection-Priority-ID AVP - 3GPP TS 29.272 #7.3.46 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1440,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"RAT-Frequency-Selection-Priority-ID",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* IDA-Flags AVP - 3GPP TS 29.272 #7.3.47 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1441,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"IDA-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* PUA-Flags AVP - 3GPP TS 29.272 #7.3.48 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1442,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PUA-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* NOR-Flags AVP - 3GPP TS 29.272 #7.3.49 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1443,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"NOR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* User-Id AVP - 3GPP TS 29.272 #7.3.50 */
-+		{
-+			struct dict_avp_data data = {
-+				1444,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"User-Id",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* Equipment-Status AVP - 3GPP TS 29.272  #7.3.51 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Equipment-Status)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "WHITELISTED",	{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "BLACKLISTED", 	{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "GREYLISTED", 	{ .i32 = 2 }};
-+
-+			struct dict_avp_data data = {
-+				1445,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Equipment-Status",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Regional-Subscription-Zone-Code AVP - 3GPP TS 29.272  #7.3.52 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1446,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Regional-Subscription-Zone-Code",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Roaming-Restricted-Due-To-Unsupported-Feature AVP - 3GPP TS 29.272  #7.3.81 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Roaming-Restricted-Due-To-Unsupported-Feature)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "Roaming-Restricted-Due-To-Unsupported-Feature",	{ .i32 = 0 }};
-+
-+			struct dict_avp_data data = {
-+				1457,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Roaming-Restricted-Due-To-Unsupported-Feature",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Trace-Reference AVP - 3GPP TS 29.272  #7.3.64 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1459,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Reference",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Trace-Depth AVP - 3GPP TS 29.272  #7.3.67 and 3GPP TS 32.422  #5.3 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Trace-Depth)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "Minimum",									{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "Medium",									{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "Maximum",									{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "MinimumWithoutVendorSpecificExtension",	{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "MediumWithoutVendorSpecificExtension",		{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5 = { "MaximumWithoutVendorSpecificExtension",	{ .i32 = 5 }};
-+
-+			struct dict_avp_data data = {
-+				1462,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Depth",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Trace-NE-Type-List AVP - 3GPP TS 29.272  #7.3.68 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1463,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-NE-Type-List",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Trace-Event-List AVP - 3GPP TS 29.272  #7.3.69 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1464,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Interface-List",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Trace-Event-List AVP - 3GPP TS 29.272  #7.3.70 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1465,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Event-List",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* OMC-Id AVP - 3GPP TS 29.272  #7.3.71 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1466,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"OMC-Id",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Complete-Data-List-Included-Indicator AVP - 3GPP TS 29.272  #7.3.73 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Complete-Data-List-Included-Indicator)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "All_PDP_CONTEXTS_INCLUDED",	{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "MODIFIED/ADDED_PDP CONTEXTS_INCLUDED", 	{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1468,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Complete-Data-List-Included-Indicator",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* PDP-Type AVP - 3GPP TS 29.272  #7.3.75 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1470,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDP-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* GMLC-Number AVP - 3GPP TS 29.272  #7.3.85 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1474,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GMLC-Number",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* SS-Code AVP - 3GPP TS 29.272  #7.3.87 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1476,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SS-Code",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* SS-Status AVP - 3GPP TS 29.272  #7.3.88 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1477,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SS-Status",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Notification-To-UE-User AVP - 3GPP TS 29.272  #7.3.89 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Notification-To-UE-User)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOTIFY_LOCATION_ALLOWED",								{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE",		{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE",	{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "LOCATION_NOT_ALLOWED",									{ .i32 = 3 }};
-+
-+			struct dict_avp_data data = {
-+				1478,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Notification-To-UE-User",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Client-Identity AVP - 3GPP TS 29.272  #7.3.91 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1480,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Client-Identity",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* GMLC-Restriction AVP - 3GPP TS 29.272  #7.3.92 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(GMLC-Restriction)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "GMLC_LIST",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "HOME_COUNTRY",				{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1481,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GMLC-Restriction",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* PLMN-Client AVP - 3GPP TS 29.272  #7.3.92 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(PLMN-Client)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "BROADCAST_SERVICE",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "O_AND_M_HPLMN",					{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "O_AND_M_VPLMN",					{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "ANONYMOUS_LOCATION",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "TARGET_UE_SUBSCRIBED_SERVICE",		{ .i32 = 4 }};
-+
-+			struct dict_avp_data data = {
-+				1482,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PLMN-Client",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* ServiceTypeIdentity AVP - 3GPP TS 29.272  #7.3.95 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1484,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"ServiceTypeIdentity",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* QoS-Subscribed - 3GPP TS 29.272 #7.3.77 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1404,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"QoS-Subscribed",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* ULR-Flags - 3GPP TS 29.272  #7.3.7 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1405,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"ULR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Ext-PDP-Type AVP - 3GPP TS 29.272  #7.3.75A */
-+		{
-+			struct dict_avp_data data = {
-+				1620,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Ext-PDP-Type",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Ext-PDP-Address AVP - 3GPP TS 29.272  #7.3.129 */
-+		{
-+			struct dict_avp_data data = {
-+				1621,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Ext-PDP-Address",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
-+		}
-+
-+		/* TS-Code AVP - 3GPP TS 29.272  #7.3.100 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1487,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"TS-Code",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* External-Client AVP - 3GPP TS 29.272 #7.3.90 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1479,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"External-Client",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Client-Identity",				RULE_REQUIRED, -1,  1 }
-+				,{ "GMLC-Restriction",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Notification-To-UE-User",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Service-Type AVP - 3GPP TS 29.272 #7.3.94 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1483,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Service-Type",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "ServiceTypeIdentity",			RULE_REQUIRED, -1,  1 }
-+				,{ "GMLC-Restriction",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Notification-To-UE-User",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* LCS-PrivacyException AVP - 3GPP TS 29.272 #7.3.86 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1475,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"LCS-PrivacyException",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "SS-Code",						RULE_REQUIRED, -1,  1 }
-+				,{ "SS-Status",						RULE_REQUIRED, -1,  1 }
-+				,{ "Notification-To-UE-User",		RULE_OPTIONAL, -1,  1 }
-+				,{ "External-Client",				RULE_OPTIONAL, -1, -1 }
-+				,{ "PLMN-Client",					RULE_OPTIONAL, -1, -1 }
-+				,{ "Service-Type",					RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* MO-LR AVP - 3GPP TS 29.272 #7.3.96 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1485,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MO-LR",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "SS-Code",			RULE_REQUIRED, -1,  1 }
-+				,{ "SS-Status",			RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* LCS-Info AVP - 3GPP TS 29.272 #7.3.84 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1473,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"LCS-Info",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "GMLC-Number",				RULE_OPTIONAL, -1, -1 }
-+				,{ "LCS-PrivacyException",		RULE_OPTIONAL, -1, -1 }
-+				,{ "MO-LR",						RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* PDP-Context AVP - 3GPP TS 29.272 #7.3.74 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1469,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDP-Context",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Context-Identifier",			RULE_REQUIRED, -1,  1 }
-+				,{ "PDP-Type",						RULE_REQUIRED, -1,  1 }
-+				,{ "PDP-Address",					RULE_OPTIONAL, -1,  1 }
-+				,{ "QoS-Subscribed",				RULE_REQUIRED, -1,  1 }
-+				,{ "VPLMN-Dynamic-Address-Allowed",	RULE_OPTIONAL, -1,  1 }
-+				,{ "Service-Selection",				RULE_REQUIRED, -1,  1 }
-+				,{ "3GPP-Charging-Characteristics",	RULE_OPTIONAL, -1,  1 }
-+				,{ "Ext-PDP-Type",					RULE_OPTIONAL, -1,  1 }
-+				,{ "Ext-PDP-Address",				RULE_OPTIONAL, -1,  1 }
-+				,{ "AMBR",							RULE_OPTIONAL, -1,  1 }
-+				,{ "SIPTO-Permission",				RULE_OPTIONAL, -1,  1 }
-+				,{ "LIPA-Permission",				RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* GPRS-Subscription-Data AVP - 3GPP TS 29.272  #7.3.72 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1467,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GPRS-Subscription-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Complete-Data-List-Included-Indicator",		RULE_REQUIRED, -1,  1 }
-+				,{ "PDP-Context",								RULE_REQUIRED, -1,  50 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Teleservice-List AVP - 3GPP TS 29.272 #7.3.99 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1486,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Teleservice-List",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "TS-Code",			RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Call-Barring-Infor-List AVP - 3GPP TS 29.272 #7.3.101 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1488,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Call-Barring-Infor-List",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				{ "SS-Code",		RULE_REQUIRED,  1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* SGSN-Number AVP - 3GPP TS 29.272  #7.3.102 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1489,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SGSN-Number",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* IDR-Flags AVP - 3GPP TS 29.272  #7.3.103 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1490,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"IDR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* IMS-Voice-Over-PS-Sessions-Supported AVP - 3GPP TS 29.272  #7.3.106 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(IMS-Voice-Over-PS-Sessions-Supported)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOT_SUPPORTED",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "SUPPORTED",				{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1492,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"IMS-Voice-Over-PS-Sessions-Supported",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* SGSN-Number AVP - 3GPP TS 29.272  #7.3.102 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Homogeneous-Support-of-IMS-Voice-Over-PSSessions)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOT_SUPPORTED",						{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "SUPPORTED", 							{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1493,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Homogeneous-Support-of-IMS-Voice-Over-PSSessions",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Last-UE-Activity-Time AVP - 3GPP TS 29.272 #7.3.108 */
-+		{
-+			struct dict_avp_data data = {
-+				1494,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Last-UE-Activity-Time",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Time_type, NULL);
-+		}
-+
-+		/* E-UTRAN-Cell-Global-Identity AVP - 3GPP TS 29.272 #7.3.117 */
-+		{
-+			struct dict_avp_data data = {
-+				1602,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"E-UTRAN-Cell-Global-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Tracking-Area-Identity AVP - 3GPP TS 29.272 #7.3.118 */
-+		{
-+			struct dict_avp_data data = {
-+				1603,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Tracking-Area-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Cell-Global-Identity AVP - 3GPP TS 29.272 #7.3.119 */
-+		{
-+			struct dict_avp_data data = {
-+				1604,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Cell-Global-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Routing-Area-Identity AVP - 3GPP TS 29.272 #7.3.120 */
-+		{
-+			struct dict_avp_data data = {
-+				1605,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Routing-Area-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Location-Area-Identity AVP - 3GPP TS 29.272 #7.3.121 */
-+		{
-+			struct dict_avp_data data = {
-+				1606,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Location-Area-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Service-Area-Identity AVP - 3GPP TS 29.272 #7.3.122 */
-+		{
-+			struct dict_avp_data data = {
-+				1607,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Service-Area-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Geographical-Information AVP - 3GPP TS 29.272 #7.3.123 */
-+		{
-+			struct dict_avp_data data = {
-+				1608,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Geographical-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Geodetic-Information AVP - 3GPP TS 29.272 #7.3.124 */
-+		{
-+			struct dict_avp_data data = {
-+				1609,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Geodetic-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Current-Location-Retrieved AVP - 3GPP TS 29.272  #7.3.125 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Current-Location-Retrieved)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "ACTIVE-LOCATION-RETRIEVAL",		{ .i32 = 0 }};
-+
-+			struct dict_avp_data data = {
-+				1610,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Current-Location-Retrieved",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Age-Of-Location-Information AVP - 3GPP TS 29.272 #7.3.126 */
-+		{
-+			struct dict_avp_data data = {
-+				1611,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Age-Of-Location-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* UE-SRVCC-Capability AVP - 3GPP TS 29.272  #7.3.130 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(UE-SRVCC-Capability)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "UE-SRVCC-NOT-SUPPORTED",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "UE-SRVCC-SUPPORTED",			{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1615,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"UE-SRVCC-Capability",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* MPS-Priority AVP - 3GPP TS 29.272 #7.3.131 */
-+		{
-+			struct dict_avp_data data = {
-+				1616,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MPS-Priority",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* VPLMN-LIPA-Allowed AVP - 3GPP TS 29.272  #7.3.132 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(VPLMN-LIPA-Allowed)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "LIPA-NOTALLOWED",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "LIPA-ALLOWED",			{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1617,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"VPLMN-LIPA-Allowed",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Subscribed-Periodic-RAU-TAU-Timer AVP - 3GPP TS 29.272 #7.3.134 */
-+		{
-+			struct dict_avp_data data = {
-+				1619,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Subscribed-Periodic-RAU-TAU-Timer",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Job-Type AVP - 3GPP TS 29.272 #7.3.132 and 3GPP TS 32.422 #5.10.1 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Job-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "Immediate-MDT-Only",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "Logged-MDT-only",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "Trace-Only",					{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "Immediate-MDT-and-Trace",		{ .i32 = 3 }};
-+
-+			struct dict_avp_data data = {
-+				1623,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Job-Type",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Relay-Node-Indicator AVP - 3GPP TS 29.272  #7.3.147 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Relay-Node-Indicator)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOT_RELAY_NODE",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "RELAY_NODE",			{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1633,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Relay-Node-Indicator",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* MDT-User-Consent AVP - 3GPP TS 29.272  #7.3.148 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(MDT-User-Consent)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "CONSENT_NOT_GIVEN",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "CONSENT_GIVEN",			{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1634,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MDT-User-Consent",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* PUR-Flags AVP - 3GPP TS 29.272 #7.3.149 */
-+		{
-+			struct dict_avp_data data = {
-+				1635,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PUR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* User-State AVP - 3GPP TS 29.272 #7.3.114 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(User-State)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "DETACHED",									{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "ATTACHED_NOT_REACHABLE_FOR_PAGING", 		{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "ATTACHED_REACHABLE_FOR_PAGING", 			{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "CONNECTED_NOT_REACHABLE_FOR_PAGING", 		{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "CONNECTED_REACHABLE_FOR_PAGING", 			{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5 = { "NETWORK_DETERMINED_NOT_REACHABLE", 		{ .i32 = 5 }};
-+
-+			struct dict_avp_data data = {
-+				1499,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"User-State",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* MME-User-State AVP - 3GPP TS 29.272 #7.3.112 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1497,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MME-User-State",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				{ "User-State",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* SGSN-User-State AVP - 3GPP TS 29.272 #7.3.113 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1498,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SGSN-User-State",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				{ "User-State",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* EPS-User-State AVP - 3GPP TS 29.272 #7.3.110 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1495,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"EPS-User-State",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "MME-User-State",		RULE_OPTIONAL, -1,  1 }
-+				,{ "SGSN-User-State",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* MME-Location-Information AVP - 3GPP TS 29.272 #7.3.115 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1600,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MME-Location-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "E-UTRAN-Cell-Global-Identity",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Tracking-Area-Identity",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Geographical-Information",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Geodetic-Information",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Current-Location-Retrieved",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Age-Of-Location-Information",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* SGSN-Location-Information AVP - 3GPP TS 29.272 #7.3.116 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1601,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SGSN-Location-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Cell-Global-Identity",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Location-Area-Identity",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Service-Area-Identity",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Routing-Area-Identity",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Geographical-Information",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Geodetic-Information",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Current-Location-Retrieved",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Age-Of-Location-Information",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Area-Scope AVP - 3GPP TS 29.272  #7.3.138 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1624,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Area-Scope",			/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Cell-Global-Identity",				RULE_OPTIONAL, -1, -1 }
-+				,{ "E-UTRAN-Cell-Global-Identity",		RULE_OPTIONAL, -1, -1 }
-+				,{ "Routing-Area-Identity",				RULE_OPTIONAL, -1, -1 }
-+				,{ "Location-Area-Identity",			RULE_OPTIONAL, -1, -1 }
-+				,{ "Tracking-Area-Identity",			RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* MDT-Configuration AVP - 3GPP TS 29.272 #7.3.136 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1622,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MDT-Configuration",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Job-Type",					RULE_REQUIRED, -1,  1 }
-+				,{ "Area-Scope",				RULE_OPTIONAL, -1,  1 }
-+				,{ "List-Of-Measurements",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Reporting-Trigger",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Report-Interval",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Report-Amount",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Event-Threshold-RSRP",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Event-Threshold-RSRQ",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Logging-Interval",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Logging-Duration",			RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* EPS-Location-Information AVP - 3GPP TS 29.272 #7.3.111 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1496,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"EPS-Location-Information",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "MME-Location-Information",		RULE_OPTIONAL, -1,  1 }
-+				,{ "SGSN-Location-Information",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Active-APN AVP - 3GPP TS 29.173  #7.3.127 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1612,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Active-APN",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Context-Identifier",				RULE_REQUIRED, -1,  1 }
-+				,{ "Service-Selection",					RULE_OPTIONAL, -1,  1 }
-+				,{ "MIP6-Agent-Info",					RULE_OPTIONAL, -1,  1 }
-+				,{ "Visited-Network-Identifier",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Specific-APN-Info",					RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Error-Diagnostic AVP - 3GPP TS 29.272  #7.3.128 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Error-Diagnostic)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "GPRS_DATA_SUBSCRIBED",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "NO_GPRS_DATA_SUBSCRIBED", 			{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "ODB-ALL-APN", 						{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "ODB-HPLMN-APN", 					{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "ODB-VPLMN-APN", 					{ .i32 = 4 }};
-+
-+			struct dict_avp_data data = {
-+				1614,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Error-Diagnostic",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* GMLC-Address AVP - 3GPP TS 29.173  #6.4.7 */
-+		{
-+			struct dict_avp_data data = {
-+				2405,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GMLC-Address",			/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
-+		}
-+
-+		/* Supported Features AVP - 3GPP TS 29.229 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				628,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Supported-Features",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Vendor-Id",			RULE_REQUIRED,  1, 1 }
-+				,{  "Feature-List-ID",		RULE_REQUIRED,  1, 1 }
-+				,{  "Feature-List",			RULE_REQUIRED,  1, 1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Trace-Data AVP - 3GPP TS 29.272  #7.3.63 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1458,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Trace-Reference",				RULE_REQUIRED, -1,  1 }
-+				,{ "Trace-Depth",					RULE_REQUIRED, -1,  1 }
-+				,{ "Trace-NE-Type-List",			RULE_REQUIRED, -1,  1 }
-+				,{ "Trace-Interface-List",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Trace-Event-List",				RULE_REQUIRED, -1,  1 }
-+				,{ "OMC-Id",						RULE_OPTIONAL, -1,  1 }
-+				,{ "Trace-Collection-Entity",		RULE_REQUIRED, -1,  1 }
-+				,{ "MDT-Configuration",				RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Subscription-Data AVP - 3GPP TS 29.272 #7.3.2 */
-+		{
-+			/*
-+
-+			 * The Subscription-Data AVP is of type Grouped. It shall contain
-+			 * the information related to the user profile relevant for
-+			 * EPS and GERAN/UTRAN.
-+
-+			 Subscription-Data ::= <AVP header: 1400 10415>
-+				[ Subscriber-Status ]
-+				[ MSISDN ]
-+				[ STN-SR ]
-+				[ ICS-Indicator ]
-+				[ Network-Access-Mode ]
-+				[ Operator-Determined-Barring ]
-+				[ HPLMN-ODB ]
-+			 *10[ Regional-Subscription-Zone-Code]
-+				[ Access-Restriction-Data ]
-+				[ APN-OI-Replacement ]
-+				[ LCS-Info ]
-+				[ Teleservice-List ]
-+				[ Call-Barring-Infor-List ]
-+				[ 3GPP-Charging-Characteristics ]
-+				[ AMBR ]
-+				[ APN-Configuration-Profile ]
-+				[ RAT-Frequency-Selection-Priority-ID ]
-+				[ Trace-Data]
-+				[ GPRS-Subscription-Data ]
-+			   *[ CSG-Subscription-Data ]
-+				[ Roaming-Restricted-Due-To-Unsupported-Feature ]
-+				[ Subscribed-Periodic-RAU-TAU-Timer ]
-+				[ MPS-Priority ]
-+				[ VPLMN-LIPA-Allowed ]
-+				[ Relay-Node-Indicator ]
-+				[ MDT-User-Consent ]
-+			   *[ AVP ]
-+
-+			 * The AMBR included in this grouped AVP shall include the AMBR
-+			 * associated to the user’s subscription (UE-AMBR);
-+			 * Max-Requested-Bandwidth-UL and Max-Requested-Bandwidth-DL within
-+			 * this AVP shall not both be set to "0".
-+			 * The APN-OI-Replacement included in this grouped AVP shall include
-+			 * the UE level APN-OI-Replacement associated to the user’s subscription.
-+			 */
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1400,				/* Code */
-+				VENDOR_3GPP_Id,					/* Vendor */
-+				"Subscription-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Subscriber-Status",				RULE_OPTIONAL, -1,  1 }
-+				,{  "MSISDN",							RULE_OPTIONAL, -1,  1 }
-+				,{  "STN-SR",							RULE_OPTIONAL, -1,  1 }
-+				,{  "ICS-Indicator",					RULE_OPTIONAL, -1,  1 }
-+				,{  "Network-Access-Mode",				RULE_OPTIONAL, -1,  1 }
-+				,{  "Operator-Determined-Barring",		RULE_OPTIONAL, -1,  1 }
-+				,{  "HPLMN-ODB",						RULE_OPTIONAL, -1,  1 }
-+				,{  "Regional-Subscription-Zone-Code",	RULE_OPTIONAL, -1,  10 }
-+				,{  "Access-Restriction-Data",			RULE_OPTIONAL, -1,  1 }
-+				,{  "APN-OI-Replacement",				RULE_OPTIONAL, -1,  1 }
-+				,{  "LCS-Info",							RULE_OPTIONAL, -1,  1 }
-+				,{  "Teleservice-List",					RULE_OPTIONAL, -1,  1 }
-+				,{  "Call-Barring-Infor-List",			RULE_OPTIONAL, -1,  1 }
-+				,{  "3GPP-Charging-Characteristics",	RULE_OPTIONAL, -1,  1 }
-+				,{  "AMBR",								RULE_OPTIONAL, -1,  1 }
-+				,{  "APN-Configuration-Profile",		RULE_OPTIONAL, -1,  1 }
-+				,{  "RAT-Frequency-Selection-Priority-ID", RULE_OPTIONAL, -1,  1 }
-+				,{  "Trace-Data",						RULE_OPTIONAL, -1,  1 }
-+				,{  "GPRS-Subscription-Data",			RULE_OPTIONAL, -1,  1 }
-+				,{  "CSG-Subscription-Data",			RULE_OPTIONAL, -1, -1 }
-+				,{  "Roaming-Restricted-Due-To-Unsupported-Feature", RULE_OPTIONAL, -1,  1 }
-+				,{  "Subscribed-Periodic-RAU-TAU-Timer",	RULE_OPTIONAL, -1,  1 }
-+				,{  "MPS-Priority",						RULE_OPTIONAL, -1,  1 }
-+				,{  "VPLMN-LIPA-Allowed",				RULE_OPTIONAL, -1,  1 }
-+				,{  "Relay-Node-Indicator",				RULE_OPTIONAL, -1,  1 }
-+				,{  "MDT-User-Consent",					RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* S6A-Update Location Request - 3GPP TS 29.272 #7.2.3 */
-+		{
-+			/*
-+
-+			The Update-Location-Request (ULR) command, indicated by the
-+			Command-Code field set to 316 and the "R" bit set in
-+			the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Update-Location-Request> ::= < Diameter Header: 316, REQ, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					[ Destination-Host ]
-+					{ Destination-Realm }
-+					{ User-Name }
-+				   *[ Supported-Features ]
-+					[ Terminal-Information ]
-+					{ RAT-Type }
-+					{ ULR-Flags }
-+					[ UE-SRVCC-Capability ]
-+					{ Visited-PLMN-Id }
-+					[ SGSN-Number ]
-+					[ Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions ]
-+					[ GMLC-Address ]
-+				   *[ Active-APN ]
-+				   *[ AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				316, 					/* Code */
-+				"Update-Location-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm",				RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Terminal-Information",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "RAT-Type",							RULE_REQUIRED,	1,  1 }
-+				,{  "ULR-Flags",						RULE_REQUIRED,	1,  1 }
-+				,{  "UE-SRVCC-Capability",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Visited-PLMN-Id",					RULE_REQUIRED,	1,  1 }
-+				,{  "SGSN-Number",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Homogeneous-Support-of-IMS-Voice-Over-PSSessions", RULE_OPTIONAL, -1, 1 }
-+				,{  "GMLC-Address", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Active-APN", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Update Location Answer - 3GPP TS 29.272 #7.2.4 */
-+		{
-+			/*
-+
-+			The Update-Location-Answer (ULA) command, indicated by the
-+			Command-Code field set to 316 and the 'R' bit cleared
-+			in the Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Update-Location-Answer> ::= < Diameter Header: 316, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					[ Result-Code ]
-+					[ Experimental-Result ]
-+					[ Error-Diagnostic ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+				   *[ Supported-Features ]
-+					[ ULA-Flags ]
-+					[ Subscription-Data ]
-+				   *[ AVP ]
-+				   *[ Failed-AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				316, 					/* Code */
-+				"Update-Location-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Result-Code",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Error-Diagnostic",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "ULA-Flags",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Subscription-Data",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP",						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Cancel-Location-Request - 3GPP TS 29.272 #7.2.7 */
-+		{
-+			/*
-+
-+			The Cancel-Location-Request (CLR) command, indicated by the
-+			Command-Code field set to 317 and the 'R' bit set in
-+			the Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Cancel-Location-Request> ::= < Diameter Header: 317, REQ, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					{ Destination-Host }
-+					{ Destination-Realm }
-+					{ User-Name }
-+				   *[Supported-Features ]
-+					{ Cancellation-Type }
-+				   *[ AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				317, 					/* Code */
-+				"Cancel-Location-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm",				RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Cancellation-Type", 				RULE_REQUIRED,   -1,  1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Cancel-Location-Answer - 3GPP TS 29.272 #7.2.8 */
-+		{
-+			/*
-+
-+			The Cancel-Location-Answer (CLA) command, indicated by the
-+			Command-Code field set to 317 and the 'R' bit cleared
-+			in the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Cancel-Location-Answer> ::= < Diameter Header: 317, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+				   *[ Supported-Features ]
-+					[ Result-Code ]
-+					[ Experimental-Result ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+				   *[ AVP ]
-+				   *[ Failed-AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			*/
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				317, 					/* Code */
-+				"Cancel-Location-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Failed-AVP", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Authentication-Information-Request - 3GPP TS 29.272 #7.2.4 */
-+		{
-+			/*
-+
-+			The Authentication-Information-Request (AIR) command, indicated by
-+			the Command-Code field set to 318 and the 'R'
-+			bit set in the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Authentication-Information-Request> ::= < Diameter Header: 318, REQ, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					[ Destination-Host ]
-+					{ Destination-Realm }
-+					{ User-Name }
-+				   *[ Supported-Features ]
-+					[ Requested-EUTRAN-Authentication-Info ]
-+					[ Requested-UTRAN-GERAN-Authentication-Info ]
-+					{ Visited-PLMN-Id }
-+				   *[ AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				318, 					/* Code */
-+				"Authentication-Information-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm",				RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Requested-EUTRAN-Authentication-Info", 		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Requested-UTRAN-GERAN-Authentication-Info", 	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Visited-PLMN-Id", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Authentication-Information-Answer - 3GPP TS 29.272 #7.2.6 */
-+		{
-+			/*
-+
-+			The Authentication-Information-Answer (AIA) command, indicated by
-+			the Command-Code field set to318 and the 'R' bit cleared in the
-+			Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Authentication-Information-Answer> ::= < Diameter Header: 318, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					[ Result-Code ]
-+					[ Experimental-Result ]
-+					[ Error-Diagnostic ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+				   *[ Supported-Features ]
-+					[ Authentication-Info ]
-+				   *[ AVP ]
-+				   *[ Failed-AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				318, 					/* Code */
-+				"Authentication-Information-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Result-Code",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Error-Diagnostic",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Authentication-Info", 				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Insert-Subscriber-Data-Request IDR Command - 3GPP TS 29.272 #7.2.9 */
-+		{
-+			/*
-+
-+			The Insert-Subscriber-Data-Request (IDR) command, indicated by the
-+			Command-Code field set to 319 and the 'R' bit set in the Command
-+			Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Insert-Subscriber-Data-Request> ::= < Diameter Header: 319, REQ, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					{ Destination-Host }
-+					{ Destination-Realm }
-+					{ User-Name }
-+				   *[ Supported-Features]
-+					{ Subscription-Data}
-+					[IDR- Flags ]
-+				   *[ AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				319, 					/* Code */
-+				"Insert-Subscriber-Data-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",					RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Realm",				RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Subscription-Data", 				RULE_REQUIRED,   -1,  1 }
-+				,{  "IDR-Flags", 						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Insert-Subscriber-Data-Answer IDA Command - 3GPP TS 29.272 #7.2.10 */
-+		{
-+			/*
-+
-+			The Insert-Subscriber-Data-Request (IDR) command, indicated by the
-+			Command-Code field set to 319 and the 'R' bit set in the Command
-+			Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Insert-Subscriber-Data-Answer> ::= < Diameter Header: 319, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+				   *[ Supported-Features ]
-+					[ Result-Code ]
-+					[ Experimental-Result ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					[ IMS-Voice-Over-PS-Sessions-Supported ]
-+					[ Last-UE-Activity-Time ]
-+					[ RAT-Type ]
-+					[ IDA-Flags ]
-+					[ EPS-User-State ]
-+					[ EPS-Location-Information ]
-+				   *[ AVP ]
-+				   *[ Failed-AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				319, 					/* Code */
-+				"Insert-Subscriber-Data-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features",					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "IMS-Voice-Over-PS-Sessions-Supported", RULE_OPTIONAL,   -1,  1 }
-+				,{  "Last-UE-Activity-Time", 				RULE_OPTIONAL,   -1,  1 }
-+				,{  "RAT-Type", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "IDA-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "EPS-User-State", 						RULE_OPTIONAL,   -1,  1 }
-+				,{  "EPS-Location-Information", 			RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Delete-Subscriber-Data-Request (DSR) Command - 3GPP TS 29.272 #7.2.11 */
-+		{
-+			/*
-+
-+			The Delete-SubscriberData-Request (DSR) command, indicated by
-+			the Command-Code field set to 320 and the 'R' bit
-+			set in the Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Delete-Subscriber-Data-Request > ::= < Diameter Header: 320, REQ, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				{ Destination-Host }
-+				{ Destination-Realm }
-+				{ User-Name }
-+			   *[ Supported-Features ]
-+				{ DSR-Flags }
-+			   *[ Context-Identifier ]
-+				[ Trace-Reference ]
-+			   *[ TS-Code ]
-+			   *[ SS-Code ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				320, 					/* Code */
-+				"Delete-SubscriberData-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Realm",					RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "DSR-Flags", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Context-Identifier", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Trace-Reference",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "TS-Code",								RULE_OPTIONAL,   -1, -1 }
-+				,{  "SS-Code",								RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Delete-Subscriber-Data-Answer (DSA) Command - 3GPP TS 29.272 #7.2.12 */
-+		{
-+			/*
-+
-+			The Delete-SubscriberData-Answer (DSA) command, indicated by the
-+			Command-Code field set to 320 and the 'R' bit
-+			cleared in the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Delete-Subscriber-Data-Answer> ::= < Diameter Header: 320, PXY, 16777251 >
-+			< Session-Id >
-+			[ Vendor-Specific-Application-Id ]
-+			*[ Supported-Features ]
-+			[ Result-Code ]
-+			[ Experimental-Result ]
-+			{ Auth-Session-State }
-+			{ Origin-Host }
-+			{ Origin-Realm }
-+			[ DSA-Flags ]
-+			*[ AVP ]
-+			*[ Failed-AVP ]
-+			*[ Proxy-Info ]
-+			*[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				320, 					/* Code */
-+				"Delete-SubscriberData-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "DSA-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Purge-UE-Request (PUR) Command - 3GPP TS 29.272 #7.2.13 */
-+		{
-+			/*
-+
-+			The Delete-SubscriberData-Request (DSR) command, indicated by
-+			the Command-Code field set to 320 and the 'R' bit
-+			set in the Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Purge-UE-Request> ::= < Diameter Header: 321, REQ, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ Destination-Host ]
-+				{ Destination-Realm }
-+				{ User-Name }
-+				[ PUR-Flags ]
-+			   *[ Supported-Features ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				321, 					/* Code */
-+				"Purge-UE-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm",					RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "PUR-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Purge-UE-Answer (PUA) Command - 3GPP TS 29.272 #7.2.14 */
-+		{
-+			/*
-+
-+			 The Purge-UE-Answer (PUA) command, indicated by the Command-Code
-+			 field set to 321 and the 'R' bit cleared in the
-+			 Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			 < Purge-UE-Answer> ::= < Diameter Header: 321, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+			   *[ Supported-Features ]
-+				[ Result-Code ]
-+				[ Experimental-Result ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ PUA-Flags ]
-+			   *[ AVP ]
-+			   *[ Failed-AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				321, 					/* Code */
-+				"Purge-UE-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "PUA-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Reset-Request (RSR) Command - 3GPP TS 29.272 #7.2.15 */
-+		{
-+			/*
-+
-+			The Reset-Request (RSR) command, indicated by the Command-Code
-+			field set to 322 and the 'R' bit set in the
-+			Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Reset-Request> ::= < Diameter Header: 322, REQ, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				{ Destination-Host }
-+				{ Destination-Realm }
-+			   *[ Supported-Features ]
-+			   *[ User-Id ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				322, 					/* Code */
-+				"Reset-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Realm",					RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "User-Id", 								RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Reset-Answer (RSA) Command - 3GPP TS 29.272 #7.2.16 */
-+		{
-+			/*
-+
-+			The Authentication-Information-Answer (RSA) command, indicated by
-+			the Command-Code field set to 322 and the 'R'
-+			bit cleared in the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Reset-Answer> ::= < Diameter Header: 322, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+			   *[ Supported-Features ]
-+				[ Result-Code ]
-+				[ Experimental-Result ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+			   *[ AVP ]
-+			   *[ Failed-AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				322, 					/* Code */
-+				"Reset-Anwer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Failed-AVP", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Notify-Request (NOR) Command - 3GPP TS 29.272 #7.2.17 */
-+		{
-+			/*
-+
-+			The Notify-Request (NOR) command, indicated by the Command-Code
-+			field set to 323 and the 'R' bit set in the Command Flags field,
-+			is sent from MME or SGSN to HSS.
-+
-+			< Notify-Request> ::= < Diameter Header: 323, REQ, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ Destination-Host ]
-+				{ Destination-Realm }
-+				{ User-Name }
-+			   *[ Supported-Features ]
-+				[ Terminal-Information ]
-+				[ MIP6-Agent-Info ]
-+				[ Visited-Network-Identifier ]
-+				[ Context-Identifier ]
-+				[ Service-Selection ]
-+				[ Alert-Reason ]
-+				[ UE-SRVCC-Capability ]
-+				[ NOR-Flags ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				323, 					/* Code */
-+				"Notify-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Terminal-Information", 				RULE_OPTIONAL,   -1,  1 }
-+				,{  "MIP6-Agent-Info", 						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Visited-Network-Identifier", 			RULE_OPTIONAL,   -1,  1 }
-+				,{  "Context-Identifier", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Service-Selection", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Alert-Reason", 						RULE_OPTIONAL,   -1,  1 }
-+				,{  "UE-SRVCC-Capability", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "NOR-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Notify-Answer (NOA) Command - 3GPP TS 29.272 #7.2.18 */
-+		{
-+			/*
-+
-+			The Notify-Answer (NOA) command, indicated by the Command-Code
-+			field set to 323 and the 'R' bit cleared in the
-+			Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Notify-Answer> ::= < Diameter Header: 323, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				[ Result-Code ]
-+				[ Experimental-Result ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+			   *[ Supported-Features ]
-+			   *[ AVP ]
-+			   *[ Failed-AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				323, 					/* Code */
-+				"Notify-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Result-Code",							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Failed-AVP", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* ME-Identity-Check-Request (ECR) Command - 3GPP TS 29.272 #7.2.19 */
-+		{
-+			/*
-+
-+			The ME-Identity-Check-Request (ECR) command, indicated by the
-+			Command-Code field set to 324 and the 'R' bit set
-+			in the Command Flags field, is sent from MME or SGSN to EIR.
-+
-+			< ME-Identity-Check-Request > ::= < Diameter Header: 324, REQ, PXY, 16777252 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ Destination-Host ]
-+				{ Destination-Realm }
-+				{ Terminal-Information }
-+				[ User-Name ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				324, 					/* Code */
-+				"ME-Identity-Check-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Terminal-Information",					RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* ME-Identity-Check-Answer (ECA) Command - 3GPP TS 29.272 #7.2.20 */
-+		{
-+			/*
-+
-+			The ME-Identity-Check-Answer (ECA) command, indicated by the
-+			Command-Code field set to 324 and the 'R' bit
-+			cleared in the Command Flags field, is sent from EIR to MME or SGSN.
-+
-+			< ME-Identity-Check-Answer> ::= < Diameter Header: 324, PXY, 16777252 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				[ Result-Code ]
-+				[ Experimental-Result ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ Equipment-Status ]
-+			   *[ AVP ]
-+			   *[ Failed-AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				324, 					/* Code */
-+				"ME-Identity-Check-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Result-Code",							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "Equipment-Status",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "User-Name", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+	}
-+
-+	TRACE_DEBUG(INFO, "Dictionary Extension 'S6A from 3GPP standard v.10.5' initialized");
-+	return 0;
-+}
-+EXTENSION_ENTRY("dict_s6a", dict_s6a_init, "dict_nas_mipv6");
-diff -NaurB -x '*~' -x build freeDiameter-1.1.5-unmodified/include/freeDiameter/freeDiameter-host.h.in freeDiameter-1.1.5/include/freeDiameter/freeDiameter-host.h.in
---- freeDiameter-1.1.5-unmodified/include/freeDiameter/freeDiameter-host.h.in	2012-11-03 18:45:41.000000000 +0100
-+++ freeDiameter-1.1.5/include/freeDiameter/freeDiameter-host.h.in	2013-02-12 10:56:29.411429498 +0100
-@@ -37,6 +37,9 @@
- #ifndef FD_IS_CONFIG
- #define FD_IS_CONFIG
- 
-+#if HAVE_CONFIG_H
-+# include "config.h"
-+#else
- #cmakedefine HAVE_NTOHLL
- #cmakedefine HAVE_MALLOC_H
- #cmakedefine HAVE_SIGNALENT_H
-@@ -57,6 +60,7 @@
- #cmakedefine GNUTLS_VERSION_210
- #cmakedefine GNUTLS_VERSION_300
- #cmakedefine GNUTLS_VERSION_310
-+#endif /* !HAVE_CONFIG_H */
- 
- #cmakedefine ERRORS_ON_TODO
- #cmakedefine DEBUG
-diff -NaurB -x '*~' -x build freeDiameter-1.1.5-unmodified/include/freeDiameter/libfdproto.h freeDiameter-1.1.5/include/freeDiameter/libfdproto.h
---- freeDiameter-1.1.5-unmodified/include/freeDiameter/libfdproto.h	2012-11-03 18:45:41.000000000 +0100
-+++ freeDiameter-1.1.5/include/freeDiameter/libfdproto.h	2013-02-05 13:46:06.683419353 +0100
-@@ -499,7 +499,7 @@
- 	TRACE_DEBUG_ALL( "Check FCT: " #__call__ );					\
- 	__ret__ = (__call__);								\
- 	if (__ret__ != 0) {								\
--		TRACE_DEBUG_ERROR("ERROR: in '" #__call__ "':\t%s", strerror(__ret__));	\
-+		TRACE_DEBUG_ERROR("ERROR: in %s:%d'" #__call__ "':\t%s", __FILE__, __LINE__, strerror(__ret__));	\
- 		__fallback__;								\
- 	}										\
- }
-
-diff -NaurB -x '*~' -x build freeDiameter-1.1.5-unmodified/libfdproto/messages.c freeDiameter-1.1.5/libfdproto/messages.c
---- freeDiameter-1.1.5-unmodified/libfdproto/messages.c	2012-11-03 18:45:41.000000000 +0100
-+++ freeDiameter-1.1.5/libfdproto/messages.c	2013-02-14 14:41:42.281217289 +0100
-@@ -967,8 +967,12 @@
- 	
- 	/* Check the parameters */
- 	CHECK_PARAMS( CHECK_MSG(msg) );
--	CHECK_PARAMS( msg->msg_public.msg_flags & CMD_FLAG_REQUEST ); /* we associate with requests only */
-+// 	CHECK_PARAMS( msg->msg_public.msg_flags & CMD_FLAG_REQUEST ); /* we associate with requests only */
- 	CHECK_PARAMS( (anscb == NULL) || (msg->msg_cb.fct == NULL) ); /* We are not overwritting a cb */
-+	/* No need to associate a callback with an answer. */
-+    if ((msg->msg_public.msg_flags & CMD_FLAG_REQUEST) == 0) {
-+        return 0;
-+    }
- 	
- 	/* Associate callback and data with the message, if any */
- 	msg->msg_cb.fct = anscb;
diff --git a/openair-cn/S6A/freediameter/freediameter-1.2.0.patch b/openair-cn/S6A/freediameter/freediameter-1.2.0.patch
deleted file mode 100644
index 1474f121389adee89db16cdfeb7f631c0e877b62..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/freediameter/freediameter-1.2.0.patch
+++ /dev/null
@@ -1,4245 +0,0 @@
-diff -rupN freeDiameter-1.2.0/extensions/CMakeLists.txt freeDiameter-1.2.0.yang/extensions/CMakeLists.txt
---- freeDiameter-1.2.0/extensions/CMakeLists.txt	2013-09-14 12:09:01.000000000 +0200
-+++ freeDiameter-1.2.0.yang/extensions/CMakeLists.txt	2015-03-17 15:47:15.237308388 +0100
-@@ -36,6 +36,7 @@ INCLUDE_DIRECTORIES(${LFDCORE_INCLUDES})
- ####
- # Diameter applications dictionaries
- 
-+FD_EXTENSION_SUBDIR(dict_s6a "3GPP S6A TS.29.279-990"       ON)
- FD_EXTENSION_SUBDIR(dict_nasreq "NASREQ (RFC4005) Dictionary definitions"       ON)
- FD_EXTENSION_SUBDIR(dict_eap    "Diameter EAP (RFC4072) Dictionary definitions" ON)
- 
-diff -rupN freeDiameter-1.2.0/extensions/dict_s6a/CMakeLists.txt freeDiameter-1.2.0.yang/extensions/dict_s6a/CMakeLists.txt
---- freeDiameter-1.2.0/extensions/dict_s6a/CMakeLists.txt	1970-01-01 01:00:00.000000000 +0100
-+++ freeDiameter-1.2.0.yang/extensions/dict_s6a/CMakeLists.txt	2015-03-17 15:22:46.729309000 +0100
-@@ -0,0 +1,14 @@
-+# The dict_rfc5777 extension
-+PROJECT("S6a protocol based on 3GPP 29.272-990" C)
-+
-+# Compile as a module
-+FD_ADD_EXTENSION(dict_s6a dict_s6a.c)
-+
-+
-+####
-+## INSTALL section ##
-+
-+INSTALL(TARGETS dict_s6a
-+	LIBRARY DESTINATION ${INSTALL_EXTENSIONS_SUFFIX}
-+	COMPONENT freeDiameter-dictionary-s6a)
-+
-diff -rupN freeDiameter-1.2.0/extensions/dict_s6a/dict_s6a.c freeDiameter-1.2.0.yang/extensions/dict_s6a/dict_s6a.c
---- freeDiameter-1.2.0/extensions/dict_s6a/dict_s6a.c	1970-01-01 01:00:00.000000000 +0100
-+++ freeDiameter-1.2.0.yang/extensions/dict_s6a/dict_s6a.c	2015-03-17 15:22:46.729309000 +0100
-@@ -0,0 +1,4212 @@
-+/*********************************************************************************************************
-+* Software License Agreement (BSD License)															 *
-+* Author: Sebastien ROUX <sebastien.roux@eurecom.fr>							 *
-+*													 *
-+* Copyright (c) 2013, Eurecom						 *
-+* All rights reserved.											 *
-+* 													 *
-+* Redistribution and use of this software in source and binary forms, with or without modification, are  *
-+* permitted provided that the following conditions are met:						 *
-+* 													 *
-+* * Redistributions of source code must retain the above 						 *
-+*   copyright notice, this list of conditions and the 							 *
-+*   following disclaimer.										 *
-+*   													 *
-+* * Redistributions in binary form must reproduce the above 						 *
-+*   copyright notice, this list of conditions and the 							 *
-+*   following disclaimer in the documentation and/or other						 *
-+*   materials provided with the distribution.								 *
-+* 													 *
-+* * Neither the name of the Teraoka Laboratory nor the 							 *
-+*   names of its contributors may be used to endorse or 						 *
-+*   promote products derived from this software without 						 *
-+*   specific prior written permission of Teraoka Laboratory 						 *
-+*   													 *
-+* 													 *
-+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED *
-+* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
-+* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR *
-+* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 	 *
-+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 	 *
-+* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
-+* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF   *
-+* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.								 *
-+*********************************************************************************************************/
-+
-+#include <freeDiameter/extension.h>
-+
-+/* The content of this file follows the same structure as dict_base_proto.c */
-+
-+#define CHECK_dict_new( _type, _data, _parent, _ref )	\
-+	CHECK_FCT(  fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref))  );
-+
-+#define CHECK_dict_search( _type, _criteria, _what, _result )	\
-+	CHECK_FCT(  fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) );
-+
-+struct local_rules_definition {
-+	char 			*avp_name;
-+	enum rule_position	position;
-+	int 			min;
-+	int			max;
-+};
-+
-+#define RULE_ORDER( _position ) ((((_position) == RULE_FIXED_HEAD) || ((_position) == RULE_FIXED_TAIL)) ? 1 : 0 )
-+
-+#define PARSE_loc_rules( _rulearray, _parent) {								\
-+	int __ar;											\
-+	for (__ar=0; __ar < sizeof(_rulearray) / sizeof((_rulearray)[0]); __ar++) {			\
-+		struct dict_rule_data __data = { NULL, 							\
-+			(_rulearray)[__ar].position,							\
-+			0, 										\
-+			(_rulearray)[__ar].min,								\
-+			(_rulearray)[__ar].max};							\
-+		__data.rule_order = RULE_ORDER(__data.rule_position);					\
-+		CHECK_FCT(  fd_dict_search( 								\
-+			fd_g_config->cnf_dict,								\
-+			DICT_AVP, 									\
-+			AVP_BY_NAME_ALL_VENDORS, 									\
-+			(_rulearray)[__ar].avp_name, 							\
-+			&__data.rule_avp, 0 ) );							\
-+		if ( !__data.rule_avp ) {								\
-+			TRACE_DEBUG(INFO, "AVP Not found: '%s'", (_rulearray)[__ar].avp_name );		\
-+			return ENOENT;									\
-+		}											\
-+		CHECK_FCT_DO( fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &__data, _parent, NULL),	\
-+			{											\
-+				TRACE_DEBUG(INFO, "Error on rule with AVP '%s'",	  			\
-+					 (_rulearray)[__ar].avp_name );			  			\
-+				return EINVAL;						  			\
-+			} );								  			\
-+	}										  			\
-+}
-+
-+#define enumval_def_u32( _val_, _str_ ) \
-+		{ _str_, 		{ .u32 = _val_ }}
-+
-+#define enumval_def_os( _len_, _val_, _str_ ) \
-+		{ _str_, 		{ .os = { .data = (unsigned char *)_val_, .len = _len_ }}}
-+
-+/* Defines if there are any */
-+
-+/* Dictionary */
-+
-+int dict_s6a_init(char * conffile)
-+{
-+#define VENDOR_3GPP_Id  10415
-+
-+	TRACE_ENTRY("%p", conffile);
-+
-+	struct dict_object * vendor_dict;
-+	{
-+		struct dict_vendor_data vendor_data = { VENDOR_3GPP_Id, "3GPP" };
-+		CHECK_dict_new (DICT_VENDOR, &vendor_data, NULL, &vendor_dict);
-+	}
-+
-+	struct dict_object * s6a_dict;
-+	{
-+		struct dict_application_data data = { 16777251, "Diameter S6a 3GPP" };
-+		CHECK_dict_new( DICT_APPLICATION, &data , NULL, &s6a_dict);
-+	}
-+
-+	/* AVP section */
-+	{
-+		/* Loading the derived data formats */
-+
-+		struct dict_object * Time_type;
-+		struct dict_object * Address_type;
-+		struct dict_object * UTF8String_type;
-+
-+		CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type);
-+		CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Address", &Address_type);
-+		CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type);
-+
-+		/* 3GPP-Charging-Characteristics */
-+		{
-+			struct dict_avp_data data = {
-+				13, 					/* Code */
-+				0, 					/* Vendor */
-+				"3GPP-Charging-Characteristics",		/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, 	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING					/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* Service-Selection - RFC 5778 */
-+		{
-+			struct dict_avp_data data = {
-+				493, 					/* Code */
-+				VENDOR_3GPP_Id, 					/* Vendor , EURECOM: with FD 1.2.0 does not work if vendor ID is 0 for this AVP*/
-+				"Service-Selection",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, 	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		 	/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING 			/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* Max-Requested-Bandwidth-DL AVP - 3GPP TS 29.214  #5.3.14 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				515,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Max-Requested-Bandwidth-DL",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Max-Requested-Bandwidth-UL AVP - 3GPP TS 29.214  #5.3.15 */
-+		{
-+			struct dict_avp_data data = {
-+				516,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Max-Requested-Bandwidth-UL",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Visited-Network-Identifier AVP - 3GPP TS 29.229 #6.3.1 */
-+		{
-+			struct dict_avp_data data = {
-+				600,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Visited-Network-Identifier",			/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Confidentiality-Key AVP - 3GPP TS 29.229 #6.3.27 */
-+		{
-+			struct dict_avp_data data = {
-+				625,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Confidentiality-Key",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Integrity-Key AVP - 3GPP TS 29.229 #6.3.28 */
-+		{
-+			struct dict_avp_data data = {
-+				626,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Integrity-Key",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Feature-List-ID AVP - 3GPP TS 29.229 #6.3.29 */
-+		{
-+			struct dict_avp_data data = {
-+				629,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Feature-List-ID",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Feature-List AVP - 3GPP TS 29.229 #6.3.30 */
-+		{
-+			struct dict_avp_data data = {
-+				630,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Feature-List",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* MSISDN AVP - 3GPP TS 29.329 #6.3.2 */
-+		{
-+			struct dict_avp_data data = {
-+				701,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MSISDN",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Served-Party-IP-Address AVP - 3GPP TS 32.299 #7.2.187
-+		 * The Served-Party-IP-Address AVP (AVP code 848) is of type Address
-+		 * and holds the IP address of either the calling or called party,
-+		 * depending on whether the P-CSCF is in touch with the calling or the
-+		 * called party. This AVP is only provided by the P-CSCF.
-+		 */
-+		{
-+			struct dict_avp_data data = {
-+				848,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Served-Party-IP-Address",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
-+		}
-+
-+		/* QoS-Class-Identifier AVP - 3GPP TS 29.212  #5.3.17 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(QoS-Class-Identifier)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_1		= { "QCI_1",					{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 	= { "QCI_2",					{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 	= { "QCI_3",					{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4		= { "QCI_4",					{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5 	= { "QCI_5",					{ .i32 = 5 }};
-+			struct dict_enumval_data 	t_6 	= { "QCI_6",					{ .i32 = 6 }};
-+			struct dict_enumval_data 	t_7 	= { "QCI_7",					{ .i32 = 7 }};
-+			struct dict_enumval_data 	t_8 	= { "QCI_8",					{ .i32 = 8 }};
-+			struct dict_enumval_data 	t_9		= { "QCI_9",					{ .i32 = 9 }};
-+
-+			struct dict_avp_data data = {
-+				1028,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"QoS-Class-Identifier",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata, NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_6, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_7, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_8, avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_9, avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* RAT-Type AVP - 3GPP TS 29.212  #5.3.31 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_UNSIGNED32,	"Enumerated(RAT-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0		= { "WLAN",						{ .u32 = 0 }};
-+			struct dict_enumval_data 	t_1		= { "VIRTUAL",					{ .u32 = 1 }};
-+			struct dict_enumval_data 	t_1000 	= { "UTRAN",					{ .u32 = 1000 }};
-+			struct dict_enumval_data 	t_1001 	= { "GERAN",					{ .u32 = 1001 }};
-+			struct dict_enumval_data 	t_1002	= { "GAN",						{ .u32 = 1002 }};
-+			struct dict_enumval_data 	t_1003 	= { "HSPA_EVOLUTION",			{ .u32 = 1003 }};
-+			struct dict_enumval_data 	t_1004 	= { "EUTRAN",					{ .u32 = 1004 }};
-+			struct dict_enumval_data 	t_2000 	= { "CDMA2000_1X",				{ .u32 = 2000 }};
-+			struct dict_enumval_data 	t_2001 	= { "HRPD",						{ .u32 = 2001 }};
-+			struct dict_enumval_data 	t_2002	= { "UMB",						{ .u32 = 2002 }};
-+			struct dict_enumval_data 	t_2003 	= { "EHRPD",					{ .u32 = 2003 }};
-+
-+			struct dict_avp_data data = {
-+				1032,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"RAT-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1000 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1001 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1002 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1003 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1004 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2000 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2001 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2002 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2003 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Priority-Level AVP - 3GPP TS 29.272  #5.3.45 */
-+		{
-+			struct dict_avp_data data = {
-+				1046,			  /* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Priority-Level",		  /* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32  /* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Pre-emption-Capability AVP - 3GPP TS 29.212  #5.3.46 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Pre-emption-Capability)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0		= { "PRE-EMPTION_CAPABILITY_ENABLED",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 	= { "PRE-EMPTION_CAPABILITY_DISABLED",		{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1047,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Pre-emption-Capability",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Pre-emption-Vulnerability AVP - 3GPP TS 29.212  #5.3.47 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Pre-emption-Vulnerability)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0		= { "PRE-EMPTION_VULNERABILITY_ENABLED",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 	= { "PRE-EMPTION_VULNERABILITY_DISABLED",		{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1048,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Pre-emption-Vulnerability",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Allocation-Retention-Priority AVP - 3GPP TS 29.272 #5.3.32 */
-+		{
-+			/*
-+
-+			 Allocation-Retention-Priority ::= < AVP Header: 1034 >
-+					{ Priority-Level }
-+					[ Pre-emption-Capability ]
-+					[ Pre-emption-Vulnerability ]
-+
-+			 The Allocation-Retention-Priority AVP (AVP code 1034) is of type
-+			 Grouped, and it is used to indicate the priority of allocation and
-+			 retention, the pre-emption capability and pre-emption vulnerability
-+			 for the SDF if provided within the QoS-Information-AVP or for the
-+			 EPS default bearer if provided within the Default-EPS-Bearer-QoS AVP.
-+			*/
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1034,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Allocation-Retention-Priority",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Priority-Level",				RULE_REQUIRED, -1,  1 }
-+				,{  "Pre-emption-Capability",		RULE_OPTIONAL, -1,  1 }
-+				,{  "Pre-emption-Vulnerability",	RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* PDP-Address AVP - 3GPP TS 32.299 #6.3.2 */
-+		{
-+			/*
-+			 * The PDP-Address-Prefix-Length AVP needs not be available for IPv6
-+			 * typed IP-address prefix length of 64 bits.
-+			 */
-+			struct dict_avp_data data = {
-+				1227,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDP-Address",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
-+		}
-+
-+		/* Subscriber-Status - 3GPP TS 29.272  #7.3.29 */
-+		{
-+			struct dict_object * type;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_UNSIGNED32,	"Enumerated(Subscriber-Status)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "SERVICE_GRANTED",					{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "OPERATOR_DETERMINED_BARRING", 		{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1424,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Subscriber-Status",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE,	&tdata, NULL, &type);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1,   type, NULL);
-+			CHECK_dict_new( DICT_AVP,	 &data,  NULL, &type);
-+		}
-+
-+		/* STN-SR AVP - 3GPP TS 29.272  #7.3.33 */
-+		{
-+			struct dict_avp_data data = {
-+				1433,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"STN-SR",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* ICS-Indicator AVP - 3GPP TS 29.272  #7.3.104 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(ICS-Indicator)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "FALSE",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "TRUE",				{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1491,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"ICS-Indicator",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* IMEI AVP - 3GPP TS 29.272  #7.3.4 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1402,				/* Code */
-+                VENDOR_3GPP_Id,					/* Vendor */
-+				"IMEI",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, &avp);
-+		}
-+
-+		/* 3GPP2-MEID AVP - 3GPP TS 29.272  #7.3.6 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1471,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"3GPP2-MEID",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Software Version - 3GPP TS 29.272  #7.3.5 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1403,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Software-Version",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, &avp);
-+		}
-+
-+		/* Terminal Information AVP - 3GPP TS 29.272 #7.3.3 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1401,				/* Code */
-+                VENDOR_3GPP_Id,					/* Vendor */
-+				"Terminal-Information",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "IMEI",				RULE_REQUIRED,  1, 1 }
-+				,{  "3GPP2-MEID",		RULE_REQUIRED,  1, 1 }
-+				,{  "Software-Version",	RULE_REQUIRED,  1, 1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* ULA-Flags - 3GPP TS 29.272  #7.3.8 */
-+		{
-+			struct dict_avp_data data = {
-+				1406,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"ULA-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Visited-PLMN-Id AVP - 3GPP TS 29.272  #7.3.9 */
-+		{
-+			struct dict_avp_data data = {
-+				1407,				/* Code */
-+                VENDOR_3GPP_Id,					/* Vendor */
-+				"Visited-PLMN-Id",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Number-Of-Requested-Vectors - 3GPP TS 29.272  #7.3.14 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1410,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Number-Of-Requested-Vectors",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Re-Synchronization-Info - 3GPP TS 29.272  #7.3.15 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1411,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Re-Synchronization-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Immediate-Response-Preferred - 3GPP TS 29.272  #7.3.16 */
-+		{
-+			struct dict_avp_data data = {
-+				1412,				/* Code */
-+				VENDOR_3GPP_Id,     /* Vendor */
-+				"Immediate-Response-Preferred",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+			
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Requested-EUTRAN-Authentication-Info AVP - 3GPP TS 29.272  #7.3.11 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1408,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Requested-EUTRAN-Authentication-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Number-Of-Requested-Vectors", 	RULE_OPTIONAL, -1, 1 }
-+				,{  "Immediate-Response-Preferred", 	RULE_OPTIONAL, -1, 1 }
-+				,{  "Re-Synchronization-Info", 		RULE_OPTIONAL, -1, 1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Requested-UTRAN-GERAN-Authentication-Info AVP - 3GPP TS 29.272  #7.3.12 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1409,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Requested-UTRAN-GERAN-Authentication-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Number-Of-Requested-Vectors", 	RULE_OPTIONAL, -1, 1 }
-+				,{  "Immediate-Response-Preferred", 	RULE_OPTIONAL, -1, 1 }
-+				,{  "Re-Synchronization-Info", 		RULE_OPTIONAL, -1, 1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Item-Number AVP - 3GPP TS 29.272  #7.3.23 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1419,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Item-Number",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* RAND AVP - 3GPP TS 29.272  #7.3.53 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1447,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"RAND",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* XRES AVP - 3GPP TS 29.272  #7.3.54 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1448,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"XRES",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* AUTN AVP - 3GPP TS 29.272  #7.3.55 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1449,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"AUTN",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* SRES AVP - 3GPP TS 29.272  #7.3.60 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1454,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SRES",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* KASME AVP - 3GPP TS 29.272  #7.3.56 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1450,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"KASME",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Kc AVP - 3GPP TS 29.272  #7.3.59 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1453,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Kc",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Trace-Collection-Entity AVP - 3GPP TS 29.272  #7.3.96 */
-+		{
-+			struct dict_avp_data data = {
-+				1452,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Collection-Entity",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
-+		}
-+
-+		/* E-UTRAN-Vector - 3GPP TS 29.272  #7.3.18 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1414,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"E-UTRAN-Vector",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Item-Number", 		RULE_OPTIONAL, -1,  1 }
-+				,{  "RAND", 			RULE_REQUIRED, -1,  1 }
-+				,{  "XRES", 			RULE_REQUIRED, -1,  1 }
-+				,{  "AUTN", 			RULE_REQUIRED, -1,  1 }
-+				,{  "KASME", 			RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* UTRAN-Vector - 3GPP TS 29.272  #7.3.19 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1415,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"UTRAN-Vector",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Item-Number", 			RULE_OPTIONAL, -1,  1 }
-+				,{  "RAND", 				RULE_REQUIRED, -1,  1 }
-+				,{  "XRES", 				RULE_REQUIRED, -1,  1 }
-+				,{  "AUTN", 				RULE_REQUIRED, -1,  1 }
-+				,{  "Confidentiality-Key", 	RULE_REQUIRED, -1,  1 }
-+				,{  "Integrity-Key", 		RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* GERAN-Vector - 3GPP TS 29.272  #7.3.20 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1416,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GERAN-Vector",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Item-Number", 			RULE_OPTIONAL, -1,  1 }
-+				,{  "RAND", 				RULE_REQUIRED, -1,  1 }
-+				,{  "SRES", 				RULE_REQUIRED, -1,  1 }
-+				,{  "Kc", 					RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Authentication-Info - 3GPP TS 29.272  #7.3.17 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1413,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Authentication-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "E-UTRAN-Vector", 		RULE_OPTIONAL, -1, -1 }
-+				,{  "UTRAN-Vector", 		RULE_OPTIONAL, -1, -1 }
-+				,{  "GERAN-Vector", 		RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Network-Access-Mode - 3GPP TS 29.272  #7.3.21 */
-+		{
-+			struct dict_object * type;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_UNSIGNED32,	"Enumerated(Network-Access-Mode)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "PACKET_AND_CIRCUIT",	{ .u32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "ONLY_PACKET", 			{ .u32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1417,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Network-Access-Mode",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , type, NULL);
-+		}
-+
-+		/* HPLMN-ODB AVP - 3GPP TS 29.272  #7.3.22 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1418,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"HPLMN-ODB",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Cancellation-Type - 3GPP TS 29.272  #7.3.24 */
-+		{
-+			struct dict_object * type;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_UNSIGNED32,	"Enumerated(Cancellation-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "MME_UPDATE_PROCEDURE",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "SGSN_UPDATE_PROCEDURE", 		{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "SUBSCRIPTION_WITHDRAWAL", 		{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "UPDATE_PROCEDURE_IWF", 		{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "INITIAL_ATTACH_PROCEDURE", 	{ .i32 = 4 }};
-+
-+			struct dict_avp_data data = {
-+				1420,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Cancellation-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE,	&tdata, NULL, &type);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3,   type, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4,   type, NULL);
-+			CHECK_dict_new( DICT_AVP,	 &data,  NULL, &type);
-+		}
-+
-+		/* DSR-Flags AVP - 3GPP TS 29.272  #7.3.25 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1421,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"DSR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* DSA-Flags AVP - 3GPP TS 29.272  #7.3.26 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1422,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"DSA-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Context-Identifier AVP - 3GPP TS 29.272  #7.3.27 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1423,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Context-Identifier",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Operator-Determined-Barring AVP - 3GPP TS 29.272  #7.3.30 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1425,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Operator-Determined-Barring",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Access-Restriction-Data AVP - 3GPP TS 29.272  #7.3.31 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1426,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Access-Restriction-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* APN-OI-Replacement AVP - 3GPP TS 29.272  #7.3.32 */
-+		{
-+			struct dict_avp_data data = {
-+				1427,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"APN-OI-Replacement",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* All-APN-Configurations-Included-Indicator AVP - 3GPP TS 29.272  #7.3.33 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(All-APN-Configurations-Included-Indicator)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "All_APN_CONFIGURATIONS_INCLUDED",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "MODIFIED/ADDED_APN_CONFIGURATIONS_INCLUDED", 	{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1428,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"All-APN-Configurations-Included-Indicator",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* PDN-Type AVP - 3GPP TS 29.272  #7.3.62 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(PDN-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "IPv4",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "IPv6",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "IPv4v6", 			{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "IPv4_OR_IPv6", 	{ .i32 = 3 }};
-+
-+			struct dict_avp_data data = {
-+				1456,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDN-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* EPS-Subscribed-QoS-Profile AVP - 3GPP TS 29.272 #7.3.37 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1431,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"EPS-Subscribed-QoS-Profile",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "QoS-Class-Identifier",				RULE_REQUIRED, -1,  1 }
-+				,{ "Allocation-Retention-Priority",		RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* VPLMN-Dynamic-Address-Allowed AVP - 3GPP TS 29.272  #7.3.38 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(VPLMN-Dynamic-Address-Allowed)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOTALLOWED",	{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "ALLOWED", 		{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1432,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"VPLMN-Dynamic-Address-Allowed",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Alert-Reason AVP - 3GPP TS 29.272  #7.3.83 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Alert-Reason)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "UE_PRESENT",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "UE_MEMORY_AVAILABLE", 	{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1434,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Alert-Reason",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* PDN-GW-Allocation-Type AVP - 3GPP TS 29.272  #7.3.44 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(PDN-GW-Allocation-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "STATIC",	{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "DYNAMIC", 	{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1438,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDN-GW-Allocation-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Expiration-Date AVP - 3GPP TS 29.272  #7.3.80 */
-+		{
-+			struct dict_avp_data data = {
-+				1439,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Expiration-Date",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Time_type, NULL);
-+		}
-+
-+		/* CSG-Id AVP - 3GPP TS 29.272 #7.3.79 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1437,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"CSG-Id",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* AMBR AVP - 3GPP TS 29.272 #7.3.41 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1435,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"AMBR",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Max-Requested-Bandwidth-UL",		RULE_REQUIRED, -1,  1 }
-+				,{ "Max-Requested-Bandwidth-DL",		RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Specific-APN-Info AVP - 3GPP TS 29.272  #7.3.82 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1472,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Specific-APN-Info",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Service-Selection",					RULE_REQUIRED, -1,  1 }
-+				,{ "MIP6-Agent-Info",					RULE_REQUIRED, -1,  1 }
-+				,{ "Visited-Network-Identifier",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* SIPTO-Permission AVP - 3GPP TS 29.272  #7.3.135 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(SIPTO-Permission)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "SIPTO_ALLOWED",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "SIPTO_NOTALLOWED",				{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1613,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SIPTO-Permission",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* LIPA-Permission AVP - 3GPP TS 29.272 #7.3.133 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(LIPA-Permission)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "LIPA-PROHIBITED",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "LIPA-ONLY",					{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "LIPA-CONDITIONAL",			{ .i32 = 2 }};
-+
-+			struct dict_avp_data data = {
-+				1618,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"LIPA-Permission",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* List-Of-Measurements AVP - 3GPP TS 29.272 #7.3.139 */
-+		{
-+			struct dict_avp_data data = {
-+				1625,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"List-Of-Measurements",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Reporting-Trigger AVP - 3GPP TS 29.272 #7.3.140 */
-+		{
-+			struct dict_avp_data data = {
-+				1626,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Reporting-Trigger",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Report-Interval AVP - 3GPP TS 29.272 #7.3.141 and TS 32.422 #5.10.5 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Report-Interval)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "250ms",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "500ms",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "1000ms",				{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3  = { "2000ms",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4  = { "3000ms",				{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5  = { "4000ms",				{ .i32 = 5 }};
-+			struct dict_enumval_data 	t_6  = { "6000ms",				{ .i32 = 6 }};
-+			struct dict_enumval_data 	t_7  = { "8000ms",				{ .i32 = 7 }};
-+			struct dict_enumval_data 	t_8  = { "12000ms",				{ .i32 = 8 }};
-+			struct dict_enumval_data 	t_9  = { "16000ms",				{ .i32 = 9 }};
-+			struct dict_enumval_data 	t_10 = { "20000ms",				{ .i32 = 10 }};
-+			struct dict_enumval_data 	t_11 = { "24000ms",				{ .i32 = 11 }};
-+			struct dict_enumval_data 	t_12 = { "28000ms",				{ .i32 = 12 }};
-+			struct dict_enumval_data 	t_13 = { "32000ms",				{ .i32 = 13 }};
-+			struct dict_enumval_data 	t_14 = { "64000ms",				{ .i32 = 14 }};
-+			/* Possible in LTE */
-+			struct dict_enumval_data 	t_15 = { "120ms",				{ .i32 = 15 }};
-+			struct dict_enumval_data 	t_16 = { "240ms",				{ .i32 = 16 }};
-+			struct dict_enumval_data 	t_17 = { "480ms",				{ .i32 = 17 }};
-+			struct dict_enumval_data 	t_18 = { "640ms",				{ .i32 = 18 }};
-+			struct dict_enumval_data 	t_19 = { "1024ms",				{ .i32 = 19 }};
-+			struct dict_enumval_data 	t_20 = { "2048ms",				{ .i32 = 20 }};
-+			struct dict_enumval_data 	t_21 = { "5120ms",				{ .i32 = 21 }};
-+			struct dict_enumval_data 	t_22 = { "10240ms",				{ .i32 = 22 }};
-+			struct dict_enumval_data 	t_23 = { "1min",				{ .i32 = 23 }};
-+			struct dict_enumval_data 	t_24 = { "6min",				{ .i32 = 24 }};
-+			struct dict_enumval_data 	t_25 = { "12min",				{ .i32 = 25 }};
-+			struct dict_enumval_data 	t_26 = { "30min",				{ .i32 = 26 }};
-+			struct dict_enumval_data 	t_27 = { "60min",				{ .i32 = 27 }};
-+
-+			struct dict_avp_data data = {
-+				1627,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Report-Interval",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_6 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_7 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_8 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_9 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_10 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_11 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_12 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_13 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_14 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_15 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_16 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_17 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_18 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_19 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_20 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_21 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_22 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_23 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_24 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_25 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_26 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_27 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Report-Amount AVP - 3GPP TS 29.272 #7.3.142 and TS 32.422 #5.10.6 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Report-Amount)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "1",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "2",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "4",				{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3  = { "8",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4  = { "16",				{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5  = { "32",				{ .i32 = 5 }};
-+			struct dict_enumval_data 	t_6  = { "64",				{ .i32 = 6 }};
-+			struct dict_enumval_data 	t_7  = { "infinity",		{ .i32 = 7 }};
-+
-+			struct dict_avp_data data = {
-+				1628,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Report-Amount",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_6 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_7 , avp, NULL);
-+
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Event-Threshold-RSRP AVP - 3GPP TS 29.272 #7.3.143 */
-+		{
-+			struct dict_avp_data data = {
-+				1629,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Event-Threshold-RSRP",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Event-Threshold-RSRQ AVP - 3GPP TS 29.272 #7.3.144 */
-+		{
-+			struct dict_avp_data data = {
-+				1630,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Event-Threshold-RSRQ",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Logging-Interval AVP - 3GPP TS 29.272 #7.3.145 and TS 32.422 #5.10.8 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Logging-Interval)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "1.28",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "2.56",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "5.12",				{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3  = { "10.24",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4  = { "20.48",				{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5  = { "30.72",				{ .i32 = 5 }};
-+			struct dict_enumval_data 	t_6  = { "40.96",				{ .i32 = 6 }};
-+			struct dict_enumval_data 	t_7  = { "61.44",				{ .i32 = 7 }};
-+
-+			struct dict_avp_data data = {
-+				1631,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Logging-Interval",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_6 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_7 , avp, NULL);
-+
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Logging-Duration AVP - 3GPP TS 29.272 #7.3.145 and TS 32.422 #5.10.9 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Logging-Duration)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0  = { "600sec",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1  = { "1200sec",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2  = { "2400sec",				{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3  = { "3600sec",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4  = { "5400sec",				{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5  = { "7200sec",				{ .i32 = 5 }};
-+
-+			struct dict_avp_data data = {
-+				1632,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Logging-Duration",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* APN-Configuration AVP - 3GPP TS 29.272 #7.3.35 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1430,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"APN-Configuration",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Context-Identifier",			RULE_REQUIRED, -1,  1 }
-+				,{ "Served-Party-IP-Address",		RULE_OPTIONAL, -1,  2 }
-+				,{ "PDN-Type",						RULE_REQUIRED, -1,  1 }
-+				,{ "Service-Selection",				RULE_REQUIRED, -1,  1 }
-+				,{ "EPS-Subscribed-QoS-Profile",	RULE_OPTIONAL, -1,  1 }
-+				,{ "VPLMN-Dynamic-Address-Allowed",	RULE_OPTIONAL, -1,  1 }
-+				,{ "MIP6-Agent-Info",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Visited-Network-Identifier",	RULE_OPTIONAL, -1,  1 }
-+				,{ "PDN-GW-Allocation-Type",		RULE_OPTIONAL, -1,  1 }
-+				,{ "3GPP-Charging-Characteristics",	RULE_OPTIONAL, -1,  1 }
-+				,{ "AMBR",							RULE_OPTIONAL, -1,  1 }
-+				,{ "Specific-APN-Info",				RULE_OPTIONAL, -1, -1 }
-+				,{ "APN-OI-Replacement",			RULE_OPTIONAL, -1,  1 }
-+				,{ "SIPTO-Permission",				RULE_OPTIONAL, -1,  1 }
-+				,{ "LIPA-Permission",				RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* APN-Configuration-Profile AVP - 3GPP TS 29.272 #7.3.34 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1429,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"APN-Configuration-Profile",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Context-Identifier",						RULE_REQUIRED, -1,  1 }
-+				,{ "All-APN-Configurations-Included-Indicator",	RULE_REQUIRED, -1,  1 }
-+				,{ "APN-Configuration",							RULE_REQUIRED, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* CSG-Subscription-Data AVP - 3GPP TS 29.272 #7.3.78 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1436,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"CSG-Subscription-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "CSG-Id",					RULE_REQUIRED, -1,  1 }
-+				,{ "Expiration-Date",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Service-Selection",			RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* RAT-Frequency-Selection-Priority-ID AVP - 3GPP TS 29.272 #7.3.46 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1440,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"RAT-Frequency-Selection-Priority-ID",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* IDA-Flags AVP - 3GPP TS 29.272 #7.3.47 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1441,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"IDA-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* PUA-Flags AVP - 3GPP TS 29.272 #7.3.48 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1442,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PUA-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* NOR-Flags AVP - 3GPP TS 29.272 #7.3.49 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1443,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"NOR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* User-Id AVP - 3GPP TS 29.272 #7.3.50 */
-+		{
-+			struct dict_avp_data data = {
-+				1444,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"User-Id",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-+		}
-+
-+		/* Equipment-Status AVP - 3GPP TS 29.272  #7.3.51 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Equipment-Status)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "WHITELISTED",	{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "BLACKLISTED", 	{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "GREYLISTED", 	{ .i32 = 2 }};
-+
-+			struct dict_avp_data data = {
-+				1445,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Equipment-Status",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Regional-Subscription-Zone-Code AVP - 3GPP TS 29.272  #7.3.52 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1446,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Regional-Subscription-Zone-Code",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Roaming-Restricted-Due-To-Unsupported-Feature AVP - 3GPP TS 29.272  #7.3.81 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Roaming-Restricted-Due-To-Unsupported-Feature)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "Roaming-Restricted-Due-To-Unsupported-Feature",	{ .i32 = 0 }};
-+
-+			struct dict_avp_data data = {
-+				1457,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Roaming-Restricted-Due-To-Unsupported-Feature",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Trace-Reference AVP - 3GPP TS 29.272  #7.3.64 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1459,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Reference",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Trace-Depth AVP - 3GPP TS 29.272  #7.3.67 and 3GPP TS 32.422  #5.3 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Trace-Depth)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "Minimum",									{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "Medium",									{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "Maximum",									{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "MinimumWithoutVendorSpecificExtension",	{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "MediumWithoutVendorSpecificExtension",		{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5 = { "MaximumWithoutVendorSpecificExtension",	{ .i32 = 5 }};
-+
-+			struct dict_avp_data data = {
-+				1462,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Depth",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Trace-NE-Type-List AVP - 3GPP TS 29.272  #7.3.68 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1463,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-NE-Type-List",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Trace-Event-List AVP - 3GPP TS 29.272  #7.3.69 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1464,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Interface-List",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Trace-Event-List AVP - 3GPP TS 29.272  #7.3.70 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1465,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Event-List",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* OMC-Id AVP - 3GPP TS 29.272  #7.3.71 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1466,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"OMC-Id",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Complete-Data-List-Included-Indicator AVP - 3GPP TS 29.272  #7.3.73 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Complete-Data-List-Included-Indicator)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "All_PDP_CONTEXTS_INCLUDED",	{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "MODIFIED/ADDED_PDP CONTEXTS_INCLUDED", 	{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1468,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Complete-Data-List-Included-Indicator",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* PDP-Type AVP - 3GPP TS 29.272  #7.3.75 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1470,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDP-Type",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* GMLC-Number AVP - 3GPP TS 29.272  #7.3.85 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1474,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GMLC-Number",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* SS-Code AVP - 3GPP TS 29.272  #7.3.87 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1476,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SS-Code",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* SS-Status AVP - 3GPP TS 29.272  #7.3.88 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1477,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SS-Status",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* Notification-To-UE-User AVP - 3GPP TS 29.272  #7.3.89 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Notification-To-UE-User)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOTIFY_LOCATION_ALLOWED",								{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE",		{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE",	{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "LOCATION_NOT_ALLOWED",									{ .i32 = 3 }};
-+
-+			struct dict_avp_data data = {
-+				1478,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Notification-To-UE-User",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* Client-Identity AVP - 3GPP TS 29.272  #7.3.91 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1480,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Client-Identity",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* GMLC-Restriction AVP - 3GPP TS 29.272  #7.3.92 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(GMLC-Restriction)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "GMLC_LIST",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "HOME_COUNTRY",				{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1481,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GMLC-Restriction",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* PLMN-Client AVP - 3GPP TS 29.272  #7.3.92 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(PLMN-Client)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "BROADCAST_SERVICE",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "O_AND_M_HPLMN",					{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "O_AND_M_VPLMN",					{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "ANONYMOUS_LOCATION",				{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "TARGET_UE_SUBSCRIBED_SERVICE",		{ .i32 = 4 }};
-+
-+			struct dict_avp_data data = {
-+				1482,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PLMN-Client",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* ServiceTypeIdentity AVP - 3GPP TS 29.272  #7.3.95 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1484,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"ServiceTypeIdentity",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+		}
-+
-+		/* QoS-Subscribed - 3GPP TS 29.272 #7.3.77 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1404,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"QoS-Subscribed",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* ULR-Flags - 3GPP TS 29.272  #7.3.7 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1405,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"ULR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Ext-PDP-Type AVP - 3GPP TS 29.272  #7.3.75A */
-+		{
-+			struct dict_avp_data data = {
-+				1620,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Ext-PDP-Type",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Ext-PDP-Address AVP - 3GPP TS 29.272  #7.3.129 */
-+		{
-+			struct dict_avp_data data = {
-+				1621,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Ext-PDP-Address",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, Address_type, NULL);
-+		}
-+
-+		/* TS-Code AVP - 3GPP TS 29.272  #7.3.100 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1487,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"TS-Code",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* External-Client AVP - 3GPP TS 29.272 #7.3.90 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1479,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"External-Client",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Client-Identity",				RULE_REQUIRED, -1,  1 }
-+				,{ "GMLC-Restriction",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Notification-To-UE-User",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Service-Type AVP - 3GPP TS 29.272 #7.3.94 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1483,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Service-Type",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "ServiceTypeIdentity",			RULE_REQUIRED, -1,  1 }
-+				,{ "GMLC-Restriction",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Notification-To-UE-User",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* LCS-PrivacyException AVP - 3GPP TS 29.272 #7.3.86 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1475,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"LCS-PrivacyException",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "SS-Code",						RULE_REQUIRED, -1,  1 }
-+				,{ "SS-Status",						RULE_REQUIRED, -1,  1 }
-+				,{ "Notification-To-UE-User",		RULE_OPTIONAL, -1,  1 }
-+				,{ "External-Client",				RULE_OPTIONAL, -1, -1 }
-+				,{ "PLMN-Client",					RULE_OPTIONAL, -1, -1 }
-+				,{ "Service-Type",					RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* MO-LR AVP - 3GPP TS 29.272 #7.3.96 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1485,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MO-LR",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "SS-Code",			RULE_REQUIRED, -1,  1 }
-+				,{ "SS-Status",			RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* LCS-Info AVP - 3GPP TS 29.272 #7.3.84 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1473,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"LCS-Info",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "GMLC-Number",				RULE_OPTIONAL, -1, -1 }
-+				,{ "LCS-PrivacyException",		RULE_OPTIONAL, -1, -1 }
-+				,{ "MO-LR",						RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* PDP-Context AVP - 3GPP TS 29.272 #7.3.74 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1469,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PDP-Context",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Context-Identifier",			RULE_REQUIRED, -1,  1 }
-+				,{ "PDP-Type",						RULE_REQUIRED, -1,  1 }
-+				,{ "PDP-Address",					RULE_OPTIONAL, -1,  1 }
-+				,{ "QoS-Subscribed",				RULE_REQUIRED, -1,  1 }
-+				,{ "VPLMN-Dynamic-Address-Allowed",	RULE_OPTIONAL, -1,  1 }
-+				,{ "Service-Selection",				RULE_REQUIRED, -1,  1 }
-+				,{ "3GPP-Charging-Characteristics",	RULE_OPTIONAL, -1,  1 }
-+				,{ "Ext-PDP-Type",					RULE_OPTIONAL, -1,  1 }
-+				,{ "Ext-PDP-Address",				RULE_OPTIONAL, -1,  1 }
-+				,{ "AMBR",							RULE_OPTIONAL, -1,  1 }
-+				,{ "SIPTO-Permission",				RULE_OPTIONAL, -1,  1 }
-+				,{ "LIPA-Permission",				RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* GPRS-Subscription-Data AVP - 3GPP TS 29.272  #7.3.72 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1467,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GPRS-Subscription-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Complete-Data-List-Included-Indicator",		RULE_REQUIRED, -1,  1 }
-+				,{ "PDP-Context",								RULE_REQUIRED, -1,  50 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Teleservice-List AVP - 3GPP TS 29.272 #7.3.99 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1486,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Teleservice-List",				/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "TS-Code",			RULE_REQUIRED, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Call-Barring-Infor-List AVP - 3GPP TS 29.272 #7.3.101 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1488,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Call-Barring-Infor-List",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				{ "SS-Code",		RULE_REQUIRED,  1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* SGSN-Number AVP - 3GPP TS 29.272  #7.3.102 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1489,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SGSN-Number",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* IDR-Flags AVP - 3GPP TS 29.272  #7.3.103 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1490,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"IDR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* IMS-Voice-Over-PS-Sessions-Supported AVP - 3GPP TS 29.272  #7.3.106 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(IMS-Voice-Over-PS-Sessions-Supported)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOT_SUPPORTED",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "SUPPORTED",				{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1492,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"IMS-Voice-Over-PS-Sessions-Supported",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			/* Create the Enumerated type, and then the AVP */
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , avp, NULL);
-+		}
-+
-+		/* SGSN-Number AVP - 3GPP TS 29.272  #7.3.102 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Homogeneous-Support-of-IMS-Voice-Over-PSSessions)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOT_SUPPORTED",						{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "SUPPORTED", 							{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1493,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Homogeneous-Support-of-IMS-Voice-Over-PSSessions",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Last-UE-Activity-Time AVP - 3GPP TS 29.272 #7.3.108 */
-+		{
-+			struct dict_avp_data data = {
-+				1494,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Last-UE-Activity-Time",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Time_type, NULL);
-+		}
-+
-+		/* E-UTRAN-Cell-Global-Identity AVP - 3GPP TS 29.272 #7.3.117 */
-+		{
-+			struct dict_avp_data data = {
-+				1602,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"E-UTRAN-Cell-Global-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Tracking-Area-Identity AVP - 3GPP TS 29.272 #7.3.118 */
-+		{
-+			struct dict_avp_data data = {
-+				1603,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Tracking-Area-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Cell-Global-Identity AVP - 3GPP TS 29.272 #7.3.119 */
-+		{
-+			struct dict_avp_data data = {
-+				1604,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Cell-Global-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Routing-Area-Identity AVP - 3GPP TS 29.272 #7.3.120 */
-+		{
-+			struct dict_avp_data data = {
-+				1605,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Routing-Area-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Location-Area-Identity AVP - 3GPP TS 29.272 #7.3.121 */
-+		{
-+			struct dict_avp_data data = {
-+				1606,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Location-Area-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Service-Area-Identity AVP - 3GPP TS 29.272 #7.3.122 */
-+		{
-+			struct dict_avp_data data = {
-+				1607,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Service-Area-Identity",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Geographical-Information AVP - 3GPP TS 29.272 #7.3.123 */
-+		{
-+			struct dict_avp_data data = {
-+				1608,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Geographical-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Geodetic-Information AVP - 3GPP TS 29.272 #7.3.124 */
-+		{
-+			struct dict_avp_data data = {
-+				1609,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Geodetic-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, NULL);
-+		}
-+
-+		/* Current-Location-Retrieved AVP - 3GPP TS 29.272  #7.3.125 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Current-Location-Retrieved)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "ACTIVE-LOCATION-RETRIEVAL",		{ .i32 = 0 }};
-+
-+			struct dict_avp_data data = {
-+				1610,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Current-Location-Retrieved",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Age-Of-Location-Information AVP - 3GPP TS 29.272 #7.3.126 */
-+		{
-+			struct dict_avp_data data = {
-+				1611,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Age-Of-Location-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* UE-SRVCC-Capability AVP - 3GPP TS 29.272  #7.3.130 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(UE-SRVCC-Capability)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "UE-SRVCC-NOT-SUPPORTED",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "UE-SRVCC-SUPPORTED",			{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1615,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"UE-SRVCC-Capability",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* MPS-Priority AVP - 3GPP TS 29.272 #7.3.131 */
-+		{
-+			struct dict_avp_data data = {
-+				1616,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MPS-Priority",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* VPLMN-LIPA-Allowed AVP - 3GPP TS 29.272  #7.3.132 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(VPLMN-LIPA-Allowed)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "LIPA-NOTALLOWED",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "LIPA-ALLOWED",			{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1617,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"VPLMN-LIPA-Allowed",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Subscribed-Periodic-RAU-TAU-Timer AVP - 3GPP TS 29.272 #7.3.134 */
-+		{
-+			struct dict_avp_data data = {
-+				1619,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Subscribed-Periodic-RAU-TAU-Timer",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* Job-Type AVP - 3GPP TS 29.272 #7.3.132 and 3GPP TS 32.422 #5.10.1 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Job-Type)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "Immediate-MDT-Only",			{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "Logged-MDT-only",				{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "Trace-Only",					{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "Immediate-MDT-and-Trace",		{ .i32 = 3 }};
-+
-+			struct dict_avp_data data = {
-+				1623,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Job-Type",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* Relay-Node-Indicator AVP - 3GPP TS 29.272  #7.3.147 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Relay-Node-Indicator)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "NOT_RELAY_NODE",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "RELAY_NODE",			{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1633,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Relay-Node-Indicator",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* MDT-User-Consent AVP - 3GPP TS 29.272  #7.3.148 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(MDT-User-Consent)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "CONSENT_NOT_GIVEN",		{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "CONSENT_GIVEN",			{ .i32 = 1 }};
-+
-+			struct dict_avp_data data = {
-+				1634,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MDT-User-Consent",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* PUR-Flags AVP - 3GPP TS 29.272 #7.3.149 */
-+		{
-+			struct dict_avp_data data = {
-+				1635,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"PUR-Flags",			/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_UNSIGNED32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-+		}
-+
-+		/* User-State AVP - 3GPP TS 29.272 #7.3.114 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(User-State)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "DETACHED",									{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "ATTACHED_NOT_REACHABLE_FOR_PAGING", 		{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "ATTACHED_REACHABLE_FOR_PAGING", 			{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "CONNECTED_NOT_REACHABLE_FOR_PAGING", 		{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "CONNECTED_REACHABLE_FOR_PAGING", 			{ .i32 = 4 }};
-+			struct dict_enumval_data 	t_5 = { "NETWORK_DETERMINED_NOT_REACHABLE", 		{ .i32 = 5 }};
-+
-+			struct dict_avp_data data = {
-+				1499,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"User-State",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_5 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* MME-User-State AVP - 3GPP TS 29.272 #7.3.112 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1497,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MME-User-State",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				{ "User-State",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* SGSN-User-State AVP - 3GPP TS 29.272 #7.3.113 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1498,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SGSN-User-State",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				{ "User-State",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* EPS-User-State AVP - 3GPP TS 29.272 #7.3.110 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1495,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"EPS-User-State",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "MME-User-State",		RULE_OPTIONAL, -1,  1 }
-+				,{ "SGSN-User-State",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* MME-Location-Information AVP - 3GPP TS 29.272 #7.3.115 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1600,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MME-Location-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "E-UTRAN-Cell-Global-Identity",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Tracking-Area-Identity",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Geographical-Information",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Geodetic-Information",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Current-Location-Retrieved",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Age-Of-Location-Information",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* SGSN-Location-Information AVP - 3GPP TS 29.272 #7.3.116 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1601,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"SGSN-Location-Information",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Cell-Global-Identity",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Location-Area-Identity",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Service-Area-Identity",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Routing-Area-Identity",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Geographical-Information",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Geodetic-Information",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Current-Location-Retrieved",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Age-Of-Location-Information",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Area-Scope AVP - 3GPP TS 29.272  #7.3.138 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1624,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Area-Scope",			/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Cell-Global-Identity",				RULE_OPTIONAL, -1, -1 }
-+				,{ "E-UTRAN-Cell-Global-Identity",		RULE_OPTIONAL, -1, -1 }
-+				,{ "Routing-Area-Identity",				RULE_OPTIONAL, -1, -1 }
-+				,{ "Location-Area-Identity",			RULE_OPTIONAL, -1, -1 }
-+				,{ "Tracking-Area-Identity",			RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* MDT-Configuration AVP - 3GPP TS 29.272 #7.3.136 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1622,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"MDT-Configuration",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Job-Type",					RULE_REQUIRED, -1,  1 }
-+				,{ "Area-Scope",				RULE_OPTIONAL, -1,  1 }
-+				,{ "List-Of-Measurements",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Reporting-Trigger",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Report-Interval",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Report-Amount",				RULE_OPTIONAL, -1,  1 }
-+				,{ "Event-Threshold-RSRP",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Event-Threshold-RSRQ",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Logging-Interval",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Logging-Duration",			RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* EPS-Location-Information AVP - 3GPP TS 29.272 #7.3.111 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1496,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"EPS-Location-Information",		/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "MME-Location-Information",		RULE_OPTIONAL, -1,  1 }
-+				,{ "SGSN-Location-Information",		RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Active-APN AVP - 3GPP TS 29.173  #7.3.127 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1612,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Active-APN",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Context-Identifier",				RULE_REQUIRED, -1,  1 }
-+				,{ "Service-Selection",					RULE_OPTIONAL, -1,  1 }
-+				,{ "MIP6-Agent-Info",					RULE_OPTIONAL, -1,  1 }
-+				,{ "Visited-Network-Identifier",		RULE_OPTIONAL, -1,  1 }
-+				,{ "Specific-APN-Info",					RULE_OPTIONAL, -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Error-Diagnostic AVP - 3GPP TS 29.272  #7.3.128 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_type_data	 	tdata = { AVP_TYPE_INTEGER32,	"Enumerated(Error-Diagnostic)"	, NULL, NULL, NULL };
-+			struct dict_enumval_data 	t_0 = { "GPRS_DATA_SUBSCRIBED",				{ .i32 = 0 }};
-+			struct dict_enumval_data 	t_1 = { "NO_GPRS_DATA_SUBSCRIBED", 			{ .i32 = 1 }};
-+			struct dict_enumval_data 	t_2 = { "ODB-ALL-APN", 						{ .i32 = 2 }};
-+			struct dict_enumval_data 	t_3 = { "ODB-HPLMN-APN", 					{ .i32 = 3 }};
-+			struct dict_enumval_data 	t_4 = { "ODB-VPLMN-APN", 					{ .i32 = 4 }};
-+
-+			struct dict_avp_data data = {
-+				1614,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Error-Diagnostic",			/* Name */
-+				AVP_FLAG_VENDOR,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_INTEGER32		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_TYPE, &tdata , NULL, &avp);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_0 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_1 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_2 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_3 , avp, NULL);
-+			CHECK_dict_new( DICT_ENUMVAL, &t_4 , avp, NULL);
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+		}
-+
-+		/* GMLC-Address AVP - 3GPP TS 29.173  #6.4.7 */
-+		{
-+			struct dict_avp_data data = {
-+				2405,					/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"GMLC-Address",			/* Name */
-+				AVP_FLAG_VENDOR,		/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_OCTETSTRING		/* base type of data */
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
-+		}
-+
-+		/* Supported Features AVP - 3GPP TS 29.229 */
-+		{
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				628,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Supported-Features",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Vendor-Id",			RULE_REQUIRED,  1, 1 }
-+				,{  "Feature-List-ID",		RULE_REQUIRED,  1, 1 }
-+				,{  "Feature-List",			RULE_REQUIRED,  1, 1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Trace-Data AVP - 3GPP TS 29.272  #7.3.63 */
-+		{
-+			struct dict_object * avp;
-+
-+			struct dict_avp_data data = {
-+				1458,				/* Code */
-+                VENDOR_3GPP_Id,     /* Vendor */
-+				"Trace-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 { "Trace-Reference",				RULE_REQUIRED, -1,  1 }
-+				,{ "Trace-Depth",					RULE_REQUIRED, -1,  1 }
-+				,{ "Trace-NE-Type-List",			RULE_REQUIRED, -1,  1 }
-+				,{ "Trace-Interface-List",			RULE_OPTIONAL, -1,  1 }
-+				,{ "Trace-Event-List",				RULE_REQUIRED, -1,  1 }
-+				,{ "OMC-Id",						RULE_OPTIONAL, -1,  1 }
-+				,{ "Trace-Collection-Entity",		RULE_REQUIRED, -1,  1 }
-+				,{ "MDT-Configuration",				RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data, NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* Subscription-Data AVP - 3GPP TS 29.272 #7.3.2 */
-+		{
-+			/*
-+
-+			 * The Subscription-Data AVP is of type Grouped. It shall contain
-+			 * the information related to the user profile relevant for
-+			 * EPS and GERAN/UTRAN.
-+
-+			 Subscription-Data ::= <AVP header: 1400 10415>
-+				[ Subscriber-Status ]
-+				[ MSISDN ]
-+				[ STN-SR ]
-+				[ ICS-Indicator ]
-+				[ Network-Access-Mode ]
-+				[ Operator-Determined-Barring ]
-+				[ HPLMN-ODB ]
-+			 *10[ Regional-Subscription-Zone-Code]
-+				[ Access-Restriction-Data ]
-+				[ APN-OI-Replacement ]
-+				[ LCS-Info ]
-+				[ Teleservice-List ]
-+				[ Call-Barring-Infor-List ]
-+				[ 3GPP-Charging-Characteristics ]
-+				[ AMBR ]
-+				[ APN-Configuration-Profile ]
-+				[ RAT-Frequency-Selection-Priority-ID ]
-+				[ Trace-Data]
-+				[ GPRS-Subscription-Data ]
-+			   *[ CSG-Subscription-Data ]
-+				[ Roaming-Restricted-Due-To-Unsupported-Feature ]
-+				[ Subscribed-Periodic-RAU-TAU-Timer ]
-+				[ MPS-Priority ]
-+				[ VPLMN-LIPA-Allowed ]
-+				[ Relay-Node-Indicator ]
-+				[ MDT-User-Consent ]
-+			   *[ AVP ]
-+
-+			 * The AMBR included in this grouped AVP shall include the AMBR
-+			 * associated to the user’s subscription (UE-AMBR);
-+			 * Max-Requested-Bandwidth-UL and Max-Requested-Bandwidth-DL within
-+			 * this AVP shall not both be set to "0".
-+			 * The APN-OI-Replacement included in this grouped AVP shall include
-+			 * the UE level APN-OI-Replacement associated to the user’s subscription.
-+			 */
-+			struct dict_object * avp;
-+			struct dict_avp_data data = {
-+				1400,				/* Code */
-+				VENDOR_3GPP_Id,					/* Vendor */
-+				"Subscription-Data",			/* Name */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,	/* Fixed flags */
-+				AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,		/* Fixed flag values */
-+				AVP_TYPE_GROUPED		/* base type of data */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Subscriber-Status",				RULE_OPTIONAL, -1,  1 }
-+				,{  "MSISDN",							RULE_OPTIONAL, -1,  1 }
-+				,{  "STN-SR",							RULE_OPTIONAL, -1,  1 }
-+				,{  "ICS-Indicator",					RULE_OPTIONAL, -1,  1 }
-+				,{  "Network-Access-Mode",				RULE_OPTIONAL, -1,  1 }
-+				,{  "Operator-Determined-Barring",		RULE_OPTIONAL, -1,  1 }
-+				,{  "HPLMN-ODB",						RULE_OPTIONAL, -1,  1 }
-+				,{  "Regional-Subscription-Zone-Code",	RULE_OPTIONAL, -1,  10 }
-+				,{  "Access-Restriction-Data",			RULE_OPTIONAL, -1,  1 }
-+				,{  "APN-OI-Replacement",				RULE_OPTIONAL, -1,  1 }
-+				,{  "LCS-Info",							RULE_OPTIONAL, -1,  1 }
-+				,{  "Teleservice-List",					RULE_OPTIONAL, -1,  1 }
-+				,{  "Call-Barring-Infor-List",			RULE_OPTIONAL, -1,  1 }
-+				,{  "3GPP-Charging-Characteristics",	RULE_OPTIONAL, -1,  1 }
-+				,{  "AMBR",								RULE_OPTIONAL, -1,  1 }
-+				,{  "APN-Configuration-Profile",		RULE_OPTIONAL, -1,  1 }
-+				,{  "RAT-Frequency-Selection-Priority-ID", RULE_OPTIONAL, -1,  1 }
-+				,{  "Trace-Data",						RULE_OPTIONAL, -1,  1 }
-+				,{  "GPRS-Subscription-Data",			RULE_OPTIONAL, -1,  1 }
-+				,{  "CSG-Subscription-Data",			RULE_OPTIONAL, -1, -1 }
-+				,{  "Roaming-Restricted-Due-To-Unsupported-Feature", RULE_OPTIONAL, -1,  1 }
-+				,{  "Subscribed-Periodic-RAU-TAU-Timer",	RULE_OPTIONAL, -1,  1 }
-+				,{  "MPS-Priority",						RULE_OPTIONAL, -1,  1 }
-+				,{  "VPLMN-LIPA-Allowed",				RULE_OPTIONAL, -1,  1 }
-+				,{  "Relay-Node-Indicator",				RULE_OPTIONAL, -1,  1 }
-+				,{  "MDT-User-Consent",					RULE_OPTIONAL, -1,  1 }
-+			};
-+
-+			CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
-+			PARSE_loc_rules( rules, avp );
-+		}
-+
-+		/* S6A-Update Location Request - 3GPP TS 29.272 #7.2.3 */
-+		{
-+			/*
-+
-+			The Update-Location-Request (ULR) command, indicated by the
-+			Command-Code field set to 316 and the "R" bit set in
-+			the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Update-Location-Request> ::= < Diameter Header: 316, REQ, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					[ Destination-Host ]
-+					{ Destination-Realm }
-+					{ User-Name }
-+				   *[ Supported-Features ]
-+					[ Terminal-Information ]
-+					{ RAT-Type }
-+					{ ULR-Flags }
-+					[ UE-SRVCC-Capability ]
-+					{ Visited-PLMN-Id }
-+					[ SGSN-Number ]
-+					[ Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions ]
-+					[ GMLC-Address ]
-+				   *[ Active-APN ]
-+				   *[ AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				316, 					/* Code */
-+				"Update-Location-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm",				RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Terminal-Information",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "RAT-Type",							RULE_REQUIRED,	1,  1 }
-+				,{  "ULR-Flags",						RULE_REQUIRED,	1,  1 }
-+				,{  "UE-SRVCC-Capability",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Visited-PLMN-Id",					RULE_REQUIRED,	1,  1 }
-+				,{  "SGSN-Number",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Homogeneous-Support-of-IMS-Voice-Over-PSSessions", RULE_OPTIONAL, -1, 1 }
-+				,{  "GMLC-Address", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Active-APN", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Update Location Answer - 3GPP TS 29.272 #7.2.4 */
-+		{
-+			/*
-+
-+			The Update-Location-Answer (ULA) command, indicated by the
-+			Command-Code field set to 316 and the 'R' bit cleared
-+			in the Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Update-Location-Answer> ::= < Diameter Header: 316, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					[ Result-Code ]
-+					[ Experimental-Result ]
-+					[ Error-Diagnostic ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+				   *[ Supported-Features ]
-+					[ ULA-Flags ]
-+					[ Subscription-Data ]
-+				   *[ AVP ]
-+				   *[ Failed-AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				316, 					/* Code */
-+				"Update-Location-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Result-Code",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Error-Diagnostic",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "ULA-Flags",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Subscription-Data",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP",						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Cancel-Location-Request - 3GPP TS 29.272 #7.2.7 */
-+		{
-+			/*
-+
-+			The Cancel-Location-Request (CLR) command, indicated by the
-+			Command-Code field set to 317 and the 'R' bit set in
-+			the Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Cancel-Location-Request> ::= < Diameter Header: 317, REQ, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					{ Destination-Host }
-+					{ Destination-Realm }
-+					{ User-Name }
-+				   *[Supported-Features ]
-+					{ Cancellation-Type }
-+				   *[ AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				317, 					/* Code */
-+				"Cancel-Location-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm",				RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Cancellation-Type", 				RULE_REQUIRED,   -1,  1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Cancel-Location-Answer - 3GPP TS 29.272 #7.2.8 */
-+		{
-+			/*
-+
-+			The Cancel-Location-Answer (CLA) command, indicated by the
-+			Command-Code field set to 317 and the 'R' bit cleared
-+			in the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Cancel-Location-Answer> ::= < Diameter Header: 317, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+				   *[ Supported-Features ]
-+					[ Result-Code ]
-+					[ Experimental-Result ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+				   *[ AVP ]
-+				   *[ Failed-AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			*/
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				317, 					/* Code */
-+				"Cancel-Location-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Failed-AVP", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Authentication-Information-Request - 3GPP TS 29.272 #7.2.4 */
-+		{
-+			/*
-+
-+			The Authentication-Information-Request (AIR) command, indicated by
-+			the Command-Code field set to 318 and the 'R'
-+			bit set in the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Authentication-Information-Request> ::= < Diameter Header: 318, REQ, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					[ Destination-Host ]
-+					{ Destination-Realm }
-+					{ User-Name }
-+				   *[ Supported-Features ]
-+					[ Requested-EUTRAN-Authentication-Info ]
-+					[ Requested-UTRAN-GERAN-Authentication-Info ]
-+					{ Visited-PLMN-Id }
-+				   *[ AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				318, 					/* Code */
-+				"Authentication-Information-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm",				RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Requested-EUTRAN-Authentication-Info", 		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Requested-UTRAN-GERAN-Authentication-Info", 	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Visited-PLMN-Id", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* S6A-Authentication-Information-Answer - 3GPP TS 29.272 #7.2.6 */
-+		{
-+			/*
-+
-+			The Authentication-Information-Answer (AIA) command, indicated by
-+			the Command-Code field set to318 and the 'R' bit cleared in the
-+			Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Authentication-Information-Answer> ::= < Diameter Header: 318, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					[ Result-Code ]
-+					[ Experimental-Result ]
-+					[ Error-Diagnostic ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+				   *[ Supported-Features ]
-+					[ Authentication-Info ]
-+				   *[ AVP ]
-+				   *[ Failed-AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				318, 					/* Code */
-+				"Authentication-Information-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Result-Code",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Error-Diagnostic",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Authentication-Info", 				RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Insert-Subscriber-Data-Request IDR Command - 3GPP TS 29.272 #7.2.9 */
-+		{
-+			/*
-+
-+			The Insert-Subscriber-Data-Request (IDR) command, indicated by the
-+			Command-Code field set to 319 and the 'R' bit set in the Command
-+			Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Insert-Subscriber-Data-Request> ::= < Diameter Header: 319, REQ, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					{ Destination-Host }
-+					{ Destination-Realm }
-+					{ User-Name }
-+				   *[ Supported-Features]
-+					{ Subscription-Data}
-+					[IDR- Flags ]
-+				   *[ AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				319, 					/* Code */
-+				"Insert-Subscriber-Data-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 						RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",	RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State",				RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",					RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Realm",				RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features",				RULE_OPTIONAL,   -1, -1 }
-+				,{  "Subscription-Data", 				RULE_REQUIRED,   -1,  1 }
-+				,{  "IDR-Flags", 						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Proxy-Info", 						RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 					RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Insert-Subscriber-Data-Answer IDA Command - 3GPP TS 29.272 #7.2.10 */
-+		{
-+			/*
-+
-+			The Insert-Subscriber-Data-Request (IDR) command, indicated by the
-+			Command-Code field set to 319 and the 'R' bit set in the Command
-+			Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Insert-Subscriber-Data-Answer> ::= < Diameter Header: 319, PXY, 16777251 >
-+					< Session-Id >
-+					[ Vendor-Specific-Application-Id ]
-+				   *[ Supported-Features ]
-+					[ Result-Code ]
-+					[ Experimental-Result ]
-+					{ Auth-Session-State }
-+					{ Origin-Host }
-+					{ Origin-Realm }
-+					[ IMS-Voice-Over-PS-Sessions-Supported ]
-+					[ Last-UE-Activity-Time ]
-+					[ RAT-Type ]
-+					[ IDA-Flags ]
-+					[ EPS-User-State ]
-+					[ EPS-Location-Information ]
-+				   *[ AVP ]
-+				   *[ Failed-AVP ]
-+				   *[ Proxy-Info ]
-+				   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				319, 					/* Code */
-+				"Insert-Subscriber-Data-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features",					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "IMS-Voice-Over-PS-Sessions-Supported", RULE_OPTIONAL,   -1,  1 }
-+				,{  "Last-UE-Activity-Time", 				RULE_OPTIONAL,   -1,  1 }
-+				,{  "RAT-Type", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "IDA-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "EPS-User-State", 						RULE_OPTIONAL,   -1,  1 }
-+				,{  "EPS-Location-Information", 			RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Delete-Subscriber-Data-Request (DSR) Command - 3GPP TS 29.272 #7.2.11 */
-+		{
-+			/*
-+
-+			The Delete-SubscriberData-Request (DSR) command, indicated by
-+			the Command-Code field set to 320 and the 'R' bit
-+			set in the Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Delete-Subscriber-Data-Request > ::= < Diameter Header: 320, REQ, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				{ Destination-Host }
-+				{ Destination-Realm }
-+				{ User-Name }
-+			   *[ Supported-Features ]
-+				{ DSR-Flags }
-+			   *[ Context-Identifier ]
-+				[ Trace-Reference ]
-+			   *[ TS-Code ]
-+			   *[ SS-Code ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				320, 					/* Code */
-+				"Delete-SubscriberData-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Realm",					RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "DSR-Flags", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Context-Identifier", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Trace-Reference",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "TS-Code",								RULE_OPTIONAL,   -1, -1 }
-+				,{  "SS-Code",								RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Delete-Subscriber-Data-Answer (DSA) Command - 3GPP TS 29.272 #7.2.12 */
-+		{
-+			/*
-+
-+			The Delete-SubscriberData-Answer (DSA) command, indicated by the
-+			Command-Code field set to 320 and the 'R' bit
-+			cleared in the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Delete-Subscriber-Data-Answer> ::= < Diameter Header: 320, PXY, 16777251 >
-+			< Session-Id >
-+			[ Vendor-Specific-Application-Id ]
-+			*[ Supported-Features ]
-+			[ Result-Code ]
-+			[ Experimental-Result ]
-+			{ Auth-Session-State }
-+			{ Origin-Host }
-+			{ Origin-Realm }
-+			[ DSA-Flags ]
-+			*[ AVP ]
-+			*[ Failed-AVP ]
-+			*[ Proxy-Info ]
-+			*[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				320, 					/* Code */
-+				"Delete-SubscriberData-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "DSA-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Purge-UE-Request (PUR) Command - 3GPP TS 29.272 #7.2.13 */
-+		{
-+			/*
-+
-+			The Delete-SubscriberData-Request (DSR) command, indicated by
-+			the Command-Code field set to 320 and the 'R' bit
-+			set in the Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Purge-UE-Request> ::= < Diameter Header: 321, REQ, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ Destination-Host ]
-+				{ Destination-Realm }
-+				{ User-Name }
-+				[ PUR-Flags ]
-+			   *[ Supported-Features ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				321, 					/* Code */
-+				"Purge-UE-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm",					RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "PUR-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Purge-UE-Answer (PUA) Command - 3GPP TS 29.272 #7.2.14 */
-+		{
-+			/*
-+
-+			 The Purge-UE-Answer (PUA) command, indicated by the Command-Code
-+			 field set to 321 and the 'R' bit cleared in the
-+			 Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			 < Purge-UE-Answer> ::= < Diameter Header: 321, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+			   *[ Supported-Features ]
-+				[ Result-Code ]
-+				[ Experimental-Result ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ PUA-Flags ]
-+			   *[ AVP ]
-+			   *[ Failed-AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				321, 					/* Code */
-+				"Purge-UE-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "PUA-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Reset-Request (RSR) Command - 3GPP TS 29.272 #7.2.15 */
-+		{
-+			/*
-+
-+			The Reset-Request (RSR) command, indicated by the Command-Code
-+			field set to 322 and the 'R' bit set in the
-+			Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Reset-Request> ::= < Diameter Header: 322, REQ, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				{ Destination-Host }
-+				{ Destination-Realm }
-+			   *[ Supported-Features ]
-+			   *[ User-Id ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				322, 					/* Code */
-+				"Reset-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host",						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Realm",					RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "User-Id", 								RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Reset-Answer (RSA) Command - 3GPP TS 29.272 #7.2.16 */
-+		{
-+			/*
-+
-+			The Authentication-Information-Answer (RSA) command, indicated by
-+			the Command-Code field set to 322 and the 'R'
-+			bit cleared in the Command Flags field, is sent from MME or SGSN to HSS.
-+
-+			< Reset-Answer> ::= < Diameter Header: 322, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+			   *[ Supported-Features ]
-+				[ Result-Code ]
-+				[ Experimental-Result ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+			   *[ AVP ]
-+			   *[ Failed-AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				322, 					/* Code */
-+				"Reset-Anwer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id",							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Result-Code", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm",							RULE_REQUIRED,   -1,  1 }
-+				,{  "Failed-AVP", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info",							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record",							RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Notify-Request (NOR) Command - 3GPP TS 29.272 #7.2.17 */
-+		{
-+			/*
-+
-+			The Notify-Request (NOR) command, indicated by the Command-Code
-+			field set to 323 and the 'R' bit set in the Command Flags field,
-+			is sent from MME or SGSN to HSS.
-+
-+			< Notify-Request> ::= < Diameter Header: 323, REQ, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ Destination-Host ]
-+				{ Destination-Realm }
-+				{ User-Name }
-+			   *[ Supported-Features ]
-+				[ Terminal-Information ]
-+				[ MIP6-Agent-Info ]
-+				[ Visited-Network-Identifier ]
-+				[ Context-Identifier ]
-+				[ Service-Selection ]
-+				[ Alert-Reason ]
-+				[ UE-SRVCC-Capability ]
-+				[ NOR-Flags ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				323, 					/* Code */
-+				"Notify-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Terminal-Information", 				RULE_OPTIONAL,   -1,  1 }
-+				,{  "MIP6-Agent-Info", 						RULE_OPTIONAL,   -1,  1 }
-+				,{  "Visited-Network-Identifier", 			RULE_OPTIONAL,   -1,  1 }
-+				,{  "Context-Identifier", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Service-Selection", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Alert-Reason", 						RULE_OPTIONAL,   -1,  1 }
-+				,{  "UE-SRVCC-Capability", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "NOR-Flags", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* Notify-Answer (NOA) Command - 3GPP TS 29.272 #7.2.18 */
-+		{
-+			/*
-+
-+			The Notify-Answer (NOA) command, indicated by the Command-Code
-+			field set to 323 and the 'R' bit cleared in the
-+			Command Flags field, is sent from HSS to MME or SGSN.
-+
-+			< Notify-Answer> ::= < Diameter Header: 323, PXY, 16777251 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				[ Result-Code ]
-+				[ Experimental-Result ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+			   *[ Supported-Features ]
-+			   *[ AVP ]
-+			   *[ Failed-AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				323, 					/* Code */
-+				"Notify-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Result-Code",							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "Supported-Features", 					RULE_OPTIONAL,   -1, -1 }
-+				,{  "Failed-AVP", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* ME-Identity-Check-Request (ECR) Command - 3GPP TS 29.272 #7.2.19 */
-+		{
-+			/*
-+
-+			The ME-Identity-Check-Request (ECR) command, indicated by the
-+			Command-Code field set to 324 and the 'R' bit set
-+			in the Command Flags field, is sent from MME or SGSN to EIR.
-+
-+			< ME-Identity-Check-Request > ::= < Diameter Header: 324, REQ, PXY, 16777252 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ Destination-Host ]
-+				{ Destination-Realm }
-+				{ Terminal-Information }
-+				[ User-Name ]
-+			   *[ AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				324, 					/* Code */
-+				"ME-Identity-Check-Request", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "Destination-Host", 					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Destination-Realm", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Terminal-Information",					RULE_REQUIRED,   -1,  1 }
-+				,{  "User-Name", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+
-+		/* ME-Identity-Check-Answer (ECA) Command - 3GPP TS 29.272 #7.2.20 */
-+		{
-+			/*
-+
-+			The ME-Identity-Check-Answer (ECA) command, indicated by the
-+			Command-Code field set to 324 and the 'R' bit
-+			cleared in the Command Flags field, is sent from EIR to MME or SGSN.
-+
-+			< ME-Identity-Check-Answer> ::= < Diameter Header: 324, PXY, 16777252 >
-+				< Session-Id >
-+				[ Vendor-Specific-Application-Id ]
-+				[ Result-Code ]
-+				[ Experimental-Result ]
-+				{ Auth-Session-State }
-+				{ Origin-Host }
-+				{ Origin-Realm }
-+				[ Equipment-Status ]
-+			   *[ AVP ]
-+			   *[ Failed-AVP ]
-+			   *[ Proxy-Info ]
-+			   *[ Route-Record ]
-+			 */
-+			struct dict_object * cmd;
-+			struct dict_cmd_data data = {
-+				324, 					/* Code */
-+				"ME-Identity-Check-Answer", 			/* Name */
-+				CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, 	/* Fixed flags */
-+				CMD_FLAG_PROXIABLE 						/* Fixed flag values */
-+			};
-+
-+			struct local_rules_definition rules[] =
-+			{
-+				 {  "Session-Id", 							RULE_FIXED_HEAD, -1,  1 }
-+				,{  "Vendor-Specific-Application-Id",		RULE_OPTIONAL,   -1,  1 }
-+				,{  "Result-Code",							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Experimental-Result",					RULE_OPTIONAL,   -1,  1 }
-+				,{  "Auth-Session-State", 					RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Host", 							RULE_REQUIRED,   -1,  1 }
-+				,{  "Origin-Realm", 						RULE_REQUIRED,   -1,  1 }
-+				,{  "Equipment-Status",						RULE_OPTIONAL,   -1,  1 }
-+				,{  "User-Name", 							RULE_OPTIONAL,   -1,  1 }
-+				,{  "Failed-AVP", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Proxy-Info", 							RULE_OPTIONAL,   -1, -1 }
-+				,{  "Route-Record", 						RULE_OPTIONAL,   -1, -1 }
-+			};
-+
-+			CHECK_dict_new( DICT_COMMAND, &data, s6a_dict, &cmd);
-+			PARSE_loc_rules( rules, cmd );
-+		}
-+	}
-+
-+	TRACE_DEBUG(INFO, "Dictionary Extension 'S6A from 3GPP standard v.10.5' initialized");
-+	return 0;
-+}
-+EXTENSION_ENTRY("dict_s6a", dict_s6a_init, "dict_nas_mipv6");
diff --git a/openair-cn/S6A/freediameter/install_freediameter.sh b/openair-cn/S6A/freediameter/install_freediameter.sh
deleted file mode 100755
index 9a9c4899cf4ca6d0e5c0f4672f2917bdf8bfc951..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/freediameter/install_freediameter.sh
+++ /dev/null
@@ -1,113 +0,0 @@
-# !/bin/sh
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-
-CURRENT_PATH=`pwd`
-
-sudo apt-get install autoconf automake gawk cmake make gcc flex bison libsctp1 libsctp-dev libidn2-0-dev \
-libidn11-dev libmysqlclient-dev libxml2-dev swig python-dev cmake-curses-gui \
-valgrind guile-2.0-dev libgmp-dev libgcrypt11-dev gdb unzip libtasn1-3-dev g++ \
-linux-headers-`uname -r` build-essential -y 
-source ../../SCRIPTS/utils.bash
-
-if [ -f install_log.txt ]
-    then
-    rm -f install_log.txt
-fi
-
-if [ ! -d /usr/local/src/ ]
-    then
-    echo "/usr/local/src/ doesn't exist please create one"
-    exit -1
-fi
-
-if [ ! -w /usr/local/src/ ]
-    then
-    echo "You don't have permissions to write to /usr/local/src/"
-#    exit -1
-fi
-
-cd /usr/local/src/
-
-# L.GAUTHIER: GNUTLS 3.1.23 compiles on 14.04 x64 with nettle comming with ubuntu
-# see http://www.bauer-power.net/2014/06/how-to-install-gnutls-3123-from-source.html#.VD6LI4VxOPI
-# if we have ubuntu 14.10 the default packages are ok
-
-[ -f /etc/os-release ] && source /etc/os-release
-if  echo $NAME $VERSION_ID | awk '{version=$2+0; if (version>14 && $1=="Ubuntu") exit 0} {exit 1}'
- then 
-   apt-get install -y gnutls-bin nettle-bin nettle-dev libssl-dev 
-else 
-  echo "Downloading nettle archive"
-
-  rm -rf nettle-2.5.tar.gz nettle-2.5.tar nettle-2.5 2> /dev/null
-  wget ftp://ftp.lysator.liu.se/pub/security/lsh/nettle-2.5.tar.gz > install_log.txt
-  echo "Uncompressing nettle archive"
-  tar xf nettle-2.5.tar.gz
-  cd nettle-2.5/
-  ./configure --disable-openssl --enable-shared --prefix=/usr > install_log.txt || exit -1
-  echo "Compiling nettle"
-  make -j4 > install_log.txt 2>&1
-  make check > install_log.txt
-  sudo make install > install_log.txt
-  cd ../
-
-  echo "Downloading gnutls archive"
-  rm -rf gnutls-3.1.0.tar.xz gnutls-3.1.0 2> /dev/null
-  wget ftp://ftp.gnutls.org/gcrypt/gnutls/stable/gnutls-3.1.0.tar.xz > install_log.txt
-  echo "Uncompressing gnutls archive"
-  tar xf gnutls-3.1.0.tar.xz
-  cd gnutls-3.1.0/
-  ./configure --prefix=/usr || exit -1
-  echo "Compiling gnutls"
-  make -j2 > install_log.txt 2>&1
-  sudo make install > install_log.txt
-  cd ../
-fi
-
-echo "Downloading freeDiameter archive"
-apt-get install -y mercurial
-rm -rf latest.tar.gz freeDiameter
-wget http://www.freediameter.net/latest.tar.gz
-echo "Uncompressing freeDiameter archive"
-tar -xzf latest.tar.gz
-cd freeDiameter
-hg update 1.1.5
-patch -p1 < $OPENAIRCN_DIR/S6A/freediameter/freediameter-1.1.5.patch > install_log.txt
-mkdir build
-cd build
-cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../ > install_log.txt || exit -1
-echo "Compiling freeDiameter"
-sudo make -j2 > install_log.txt 2>&1
-#make help
-sudo make test > install_log.txt
-sudo make install > install_log.txt
-
-cd $CURRENT_PATH
-./make_certs.sh
diff --git a/openair-cn/S6A/freediameter/make_certs.sh b/openair-cn/S6A/freediameter/make_certs.sh
deleted file mode 100755
index cf176940d3515730854fabeef7117aa5a614fb53..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/freediameter/make_certs.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/bash
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.frARG is
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-
-# ARG is REALM
-# BY DEFAULT REALM IS "eur"
-
-DEFAULTREALMVALUE="eur"
-REALM=${1:-$DEFAULTREALMVALUE}
-
-rm -rf demoCA
-mkdir demoCA
-echo 01 > demoCA/serial
-touch demoCA/index.txt
-
-user=$(whoami)
-HOSTNAME=$(hostname -f)
-
-echo "Creating MME certificate for user '$HOSTNAME'.'$REALM'"
-
-# CA self certificate
-openssl req  -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out mme.cacert.pem -keyout mme.cakey.pem -subj /CN=$REALM/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
-openssl genrsa -out mme.key.pem 1024
-openssl req -new -batch -out mme.csr.pem -key mme.key.pem -subj /CN=$HOSTNAME.$REALM/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-openssl ca -cert mme.cacert.pem -keyfile mme.cakey.pem -in mme.csr.pem -out mme.cert.pem -outdir . -batch
-
-if [ ! -d /usr/local/etc/freeDiameter ]
-then
-    echo "Creating non existing directory: /usr/local/etc/freeDiameter/"
-    sudo mkdir /usr/local/etc/freeDiameter/
-fi
-
-sudo cp -uv mme.key.pem mme.cert.pem mme.cacert.pem mme.cakey.pem /usr/local/etc/freeDiameter/
-
-# openssl genrsa -out ubuntu.key.pem 1024
-# openssl req -new -batch -x509 -out ubuntu.csr.pem -key ubuntu.key.pem -subj /CN=ubuntu.localdomain/C=FR/ST=BdR/L=Aix/O=fD/OU=Tests
-# openssl ca -cert cacert.pem -keyfile cakey.pem -in ubuntu.csr.pem -out ubuntu.cert.pem -outdir . -batch
diff --git a/openair-cn/S6A/freediameter/s6a.conf b/openair-cn/S6A/freediameter/s6a.conf
deleted file mode 100644
index fbf1fdf345e2a18c1a45927fbccdeea9bff5d900..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/freediameter/s6a.conf
+++ /dev/null
@@ -1,61 +0,0 @@
-# -------- Local ---------
-
-# Uncomment if the framework cannot resolv it.
-Identity = "roux.test.fr";
-Realm = "test.fr";
-
-# TLS configuration (see previous section)
-TLS_Cred = "/homes/roux/lte-epc/openair3/OPENAIRHSS/conf/roux.cert.pem",
-"/homes/roux/lte-epc/openair3/OPENAIRHSS/conf/roux.key.pem";
-TLS_CA = "/homes/roux/lte-epc/openair3/OPENAIRHSS/conf/cacert.pem";
-
-# Disable use of TCP protocol (only listen and connect in SCTP)
-# Default : TCP enabled
-No_TCP;
-#No_SCTP;
-
-# Limit the number of SCTP streams
-SCTP_streams = 15;
-
-NoRelay;
-TLS_old_method;
-AppServThreads = 1;
-
-# -------- Extensions ---------
-
-# Uncomment (and create rtd.conf) to specify routing table for this peer.
-#LoadExtension = "rt_default.fdx" : "rtd.conf";
-
-# Uncomment (and create acl.conf) to allow incoming connections from other peers.
-#LoadExtension = "acl_wl.fdx" : "acl.conf";
-
-# Uncomment to display periodic state information
-#LoadExtension = "dbg_monitor.fdx";
-
-# Uncomment to enable an interactive Python interpreter session.
-# (see doc/dbg_interactive.py.sample for more information)
-#LoadExtension = "dbg_interactive.fdx";
-
-# Load the RFC4005 dictionary objects
-#LoadExtension = "dict_nasreq.fdx";
-
-LoadExtension = "dict_nas_mipv6.fdx";
-LoadExtension = "dict_s6a.fdx";
-
-# Load RFC4072 dictionary objects
-#LoadExtension = "dict_eap.fdx";
-
-# Load the Diameter EAP server extension (requires diameap.conf)
-#LoadExtension = "app_diameap.fdx" : "diameap.conf";
-
-# Load the Accounting Server extension (requires app_acct.conf)
-#LoadExtension = "app_acct.fdx" : "app_acct.conf";
-
-# -------- Peers ---------
-
-# The framework will actively attempt to establish and maintain a connection
-# with the peers listed here.
-# For only accepting incoming connections, see the acl_wl.fx extension.
-
-# ConnectPeer = "hss.test.fr" { ConnectTo = "192.168.56.101"; No_IPv6; No_TCP; Port = 3868; Realm = "test.fr"; };
-# ConnectPeer = "hss.test.fr" { ConnectTo = "192.168.56.1"; No_TLS; };
diff --git a/openair-cn/S6A/s6a_apn_conf.c b/openair-cn/S6A/s6a_apn_conf.c
deleted file mode 100644
index cfa84e877704d76d0a13ce9a368f611a1c4fb72f..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_apn_conf.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
diff --git a/openair-cn/S6A/s6a_auth_info.c b/openair-cn/S6A/s6a_auth_info.c
deleted file mode 100644
index 499eacb4ee37b80d90fb9a329b6f16ce116cb87e..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_auth_info.c
+++ /dev/null
@@ -1,454 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdio.h>
-#include <stdint.h>
-
-#include "mme_config.h"
-
-#include "assertions.h"
-#include "conversions.h"
-
-#include "intertask_interface.h"
-#include "security_types.h"
-#include "s6a_defs.h"
-#include "s6a_messages.h"
-#include "msc.h"
-
-static
-int s6a_parse_rand(struct avp_hdr *hdr, uint8_t *rand_p)
-{
-  int ret = 0;
-  DevCheck(hdr->avp_value->os.len == RAND_LENGTH_OCTETS, RAND_LENGTH_OCTETS,
-           hdr->avp_value->os.len, 0);
-  DevAssert(rand_p != NULL);
-
-  STRING_TO_RAND(hdr->avp_value->os.data, rand_p, ret);
-  return ret;
-}
-
-static
-int s6a_parse_xres(struct avp_hdr *hdr, res_t *xres)
-{
-  int ret = 0;
-  DevCheck(hdr->avp_value->os.len >= XRES_LENGTH_MIN &&
-           hdr->avp_value->os.len <= XRES_LENGTH_MAX, XRES_LENGTH_MIN,
-           XRES_LENGTH_MAX, hdr->avp_value->os.len);
-  DevAssert(xres != NULL);
-
-  STRING_TO_XRES(hdr->avp_value->os.data, hdr->avp_value->os.len, xres, ret);
-  return ret;
-}
-
-static
-int s6a_parse_autn(struct avp_hdr *hdr, uint8_t *autn)
-{
-  int ret = 0;
-  DevCheck(hdr->avp_value->os.len == AUTN_LENGTH_OCTETS, AUTN_LENGTH_OCTETS,
-           hdr->avp_value->os.len, 0);
-  DevAssert(autn != NULL);
-
-  STRING_TO_AUTN(hdr->avp_value->os.data, autn, ret);
-  return ret;
-}
-
-static
-int s6a_parse_kasme(struct avp_hdr *hdr, uint8_t *kasme)
-{
-  int ret = 0;
-  DevCheck(hdr->avp_value->os.len == KASME_LENGTH_OCTETS, KASME_LENGTH_OCTETS,
-           hdr->avp_value->os.len, 0);
-  DevAssert(kasme != NULL);
-
-  STRING_TO_KASME(hdr->avp_value->os.data, kasme, ret);
-  return ret;
-}
-
-static inline
-int s6a_parse_e_utran_vector(struct avp *avp_vector, eutran_vector_t *vector)
-{
-  int ret = 0x0f;
-  struct avp *avp;
-  struct avp_hdr *hdr;
-
-  CHECK_FCT(fd_msg_avp_hdr(avp_vector, &hdr));
-
-  DevCheck(hdr->avp_code == AVP_CODE_E_UTRAN_VECTOR,
-           hdr->avp_code, AVP_CODE_E_UTRAN_VECTOR, 0);
-
-  CHECK_FCT(fd_msg_browse(avp_vector, MSG_BRW_FIRST_CHILD, &avp, NULL));
-
-  while(avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    switch(hdr->avp_code) {
-    case AVP_CODE_RAND:
-      CHECK_FCT(s6a_parse_rand(hdr, vector->rand));
-      ret &= ~0x01;
-      break;
-
-    case AVP_CODE_XRES:
-      CHECK_FCT(s6a_parse_xres(hdr, &vector->xres));
-      ret &= ~0x02;
-      break;
-
-    case AVP_CODE_AUTN:
-      CHECK_FCT(s6a_parse_autn(hdr, vector->autn));
-      ret &= ~0x04;
-      break;
-
-    case AVP_CODE_KASME:
-      CHECK_FCT(s6a_parse_kasme(hdr, vector->kasme));
-      ret &= ~0x08;
-      break;
-
-    default:
-      /* Unexpected AVP */
-      S6A_ERROR("Unexpected AVP with code %d\n", hdr->avp_code);
-      return -1;
-    }
-
-    /* Go to next AVP in the grouped AVP */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_NEXT, &avp, NULL));
-  }
-
-  if (ret) {
-    S6A_ERROR("Missing AVP for E-UTRAN vector: %c%c%c%c\n",
-              ret & 0x01 ? 'R':'-', ret & 0x02 ? 'X':'-',
-              ret & 0x04 ? 'A':'-', ret & 0x08 ? 'K':'-');
-    return -1;
-  }
-
-  return 0;
-}
-
-static inline
-int s6a_parse_authentication_info_avp(struct avp *avp_auth_info,
-                                      authentication_info_t *authentication_info)
-{
-  struct avp *avp;
-  struct avp_hdr *hdr;
-
-  CHECK_FCT(fd_msg_avp_hdr(avp_auth_info, &hdr));
-
-  DevCheck(hdr->avp_code == AVP_CODE_AUTHENTICATION_INFO,
-           hdr->avp_code, AVP_CODE_AUTHENTICATION_INFO, 0);
-
-  authentication_info->nb_of_vectors = 0;
-
-  CHECK_FCT(fd_msg_browse(avp_auth_info, MSG_BRW_FIRST_CHILD, &avp, NULL));
-
-  while(avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    switch(hdr->avp_code) {
-    case AVP_CODE_E_UTRAN_VECTOR: {
-      DevAssert(authentication_info->nb_of_vectors == 0);
-      CHECK_FCT(s6a_parse_e_utran_vector(avp, &authentication_info->eutran_vector));
-      authentication_info->nb_of_vectors ++;
-    }
-    break;
-
-    default:
-      /* We should only receive E-UTRAN-Vectors */
-      S6A_ERROR("Unexpected AVP with code %d\n", hdr->avp_code);
-      return -1;
-    }
-
-    /* Go to next AVP in the grouped AVP */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_NEXT, &avp, NULL));
-  }
-
-  return 0;
-}
-
-int s6a_aia_cb(struct msg **msg, struct avp *paramavp,
-               struct session *sess, void *opaque,
-               enum disp_action *act)
-{
-  struct msg           *ans                = NULL;
-  struct msg           *qry                = NULL;
-  struct avp           *avp                = NULL;
-  struct avp_hdr       *hdr                = NULL;
-
-  MessageDef          *message_p           = NULL;
-  s6a_auth_info_ans_t *s6a_auth_info_ans_p = NULL;
-
-  int skip_auth_res = 0;
-
-  DevAssert(msg != NULL);
-
-  ans = *msg;
-  /* Retrieve the original query associated with the asnwer */
-  CHECK_FCT(fd_msg_answ_getq(ans, &qry));
-
-  DevAssert(qry != NULL);
-
-  message_p = itti_alloc_new_message(TASK_S6A, S6A_AUTH_INFO_ANS);
-  s6a_auth_info_ans_p = &message_p->ittiMsg.s6a_auth_info_ans;
-
-  S6A_DEBUG("Received S6A Authentication Information Answer (AIA)\n");
-
-  CHECK_FCT(fd_msg_search_avp(qry, s6a_fd_cnf.dataobj_s6a_user_name, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-    sprintf(s6a_auth_info_ans_p->imsi, "%*s", (int)hdr->avp_value->os.len,
-            hdr->avp_value->os.data);
-  } else {
-    DevMessage("Query has been freed before we received the answer\n");
-  }
-
-  /* Retrieve the result-code */
-  CHECK_FCT(fd_msg_search_avp(ans, s6a_fd_cnf.dataobj_s6a_result_code, &avp));
-
-  if (avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    s6a_auth_info_ans_p->result.present = S6A_RESULT_BASE;
-    s6a_auth_info_ans_p->result.choice.base = hdr->avp_value->u32;
-
-    MSC_LOG_TX_MESSAGE(
-  	    MSC_S6A_MME,
-    	MSC_MMEAPP_MME,
-    	NULL,0,
-    	"0 S6A_AUTH_INFO_ANS imsi %s %s",
-    	s6a_auth_info_ans_p->imsi,
-    	retcode_2_string(s6a_auth_info_ans_p->result.choice.base));
-
-    if (hdr->avp_value->u32 != ER_DIAMETER_SUCCESS) {
-      S6A_ERROR("Got error %u:%s\n", hdr->avp_value->u32,
-                retcode_2_string(hdr->avp_value->u32));
-      goto err;
-    } else {
-      S6A_DEBUG("Received S6A Result code %u:%s\n",
-                s6a_auth_info_ans_p->result.choice.base,
-                retcode_2_string(s6a_auth_info_ans_p->result.choice.base));
-    }
-  } else {
-    /* The result-code is not present, may be it is an experimental result
-     * avp indicating a 3GPP specific failure.
-     */
-    CHECK_FCT(fd_msg_search_avp(ans, s6a_fd_cnf.dataobj_s6a_experimental_result, &avp));
-
-    if (avp) {
-      /* The procedure has failed within the HSS.
-       * NOTE: contrary to result-code, the experimental-result is a grouped
-       * AVP and requires parsing its childs to get the code back.
-       */
-      s6a_auth_info_ans_p->result.present = S6A_RESULT_EXPERIMENTAL;
-      s6a_parse_experimental_result(avp, &s6a_auth_info_ans_p->result.choice.experimental);
-
-      MSC_LOG_TX_MESSAGE(
-    	    MSC_S6A_MME,
-      	MSC_MMEAPP_MME,
-      	NULL,0,
-      	"0 S6A_AUTH_INFO_ANS imsi %s %s",
-      	s6a_auth_info_ans_p->imsi,
-      	experimental_retcode_2_string(s6a_auth_info_ans_p->result.choice.experimental));
-
-      skip_auth_res = 1;
-    } else {
-      /* Neither result-code nor experimental-result is present ->
-       * totally incorrect behaviour here.
-       */
-    	MSC_LOG_TX_MESSAGE_FAILED(
-      	    MSC_S6A_MME,
-        	MSC_MMEAPP_MME,
-        	NULL,0,
-        	"0 S6A_AUTH_INFO_ANS imsi %s",
-        	s6a_auth_info_ans_p->imsi);
-
-      S6A_ERROR("Experimental-Result and Result-Code are absent: "
-                "This is not a correct behaviour\n");
-      goto err;
-    }
-  }
-
-  if (skip_auth_res == 0) {
-    CHECK_FCT(fd_msg_search_avp(ans, s6a_fd_cnf.dataobj_s6a_authentication_info, &avp));
-
-    if (avp) {
-      CHECK_FCT(s6a_parse_authentication_info_avp(avp, &s6a_auth_info_ans_p->auth_info));
-    } else {
-      DevMessage("We requested E-UTRAN vectors with an immediate response...\n");
-    }
-  }
-  itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-err:
-  return 0;
-}
-
-int s6a_generate_authentication_info_req(s6a_auth_info_req_t *air_p)
-{
-  struct avp     *avp;
-  struct msg     *msg;
-  struct session *sess;
-
-  union avp_value value;
-
-  DevAssert(air_p != NULL);
-
-  /* Create the new update location request message */
-  CHECK_FCT(fd_msg_new(s6a_fd_cnf.dataobj_s6a_air, 0, &msg));
-
-  /* Create a new session */
-  CHECK_FCT(fd_sess_new(&sess, fd_g_config->cnf_diamid,
-                        fd_g_config->cnf_diamid_len, (os0_t)"apps6a", 6));
-  {
-    os0_t sid;
-    size_t sidlen;
-    CHECK_FCT(fd_sess_getsid(sess, &sid, &sidlen));
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_session_id, 0, &avp));
-    value.os.data = sid;
-    value.os.len  = sidlen;
-    CHECK_FCT(fd_msg_avp_setvalue(avp, &value));
-    CHECK_FCT(fd_msg_avp_add(msg, MSG_BRW_FIRST_CHILD, avp));
-  }
-
-  CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_auth_session_state, 0, &avp));
-  /* No State maintained */
-  value.i32 = 1;
-  CHECK_FCT(fd_msg_avp_setvalue(avp, &value));
-  CHECK_FCT(fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp));
-
-  /* Add Origin_Host & Origin_Realm */
-  CHECK_FCT(fd_msg_add_origin(msg, 0));
-
-  config_read_lock(&mme_config);
-
-  /* Destination Host */
-  {
-    char host[100];
-    size_t hostlen;
-
-    memset(host, 0, 100);
-    strcat(host, mme_config.s6a_config.hss_host_name);
-    strcat(host, ".");
-    strcat(host, mme_config.realm);
-
-    hostlen = strlen(host);
-
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_destination_host, 0, &avp));
-    value.os.data = (unsigned char *)host;
-    value.os.len  = hostlen;
-    CHECK_FCT(fd_msg_avp_setvalue(avp, &value));
-
-    CHECK_FCT(fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp));
-  }
-  /* Destination_Realm */
-  {
-    char *realm     = mme_config.realm;
-    size_t realmlen = strlen(realm);
-
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_destination_realm, 0, &avp));
-    value.os.data = (unsigned char *)realm;
-    value.os.len  = realmlen;
-    CHECK_FCT(fd_msg_avp_setvalue(avp, &value));
-
-    CHECK_FCT(fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp));
-  }
-
-  config_unlock(&mme_config);
-
-  /* Adding the User-Name (IMSI) */
-  CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_user_name, 0, &avp));
-  value.os.data = (unsigned char *)air_p->imsi;
-  value.os.len  = strlen(air_p->imsi);
-  CHECK_FCT(fd_msg_avp_setvalue(avp, &value));
-  CHECK_FCT(fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp));
-
-  /* Adding the visited plmn id */
-  {
-    uint8_t plmn[3] = { 0x00, 0x00, 0x00 }; //{ 0x02, 0xF8, 0x29 };
-
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_visited_plmn_id, 0, &avp));
-
-
-    PLMN_T_TO_TBCD(air_p->visited_plmn,
-                   plmn,
-                   mme_config_find_mnc_length(air_p->visited_plmn.MCCdigit1,
-                       air_p->visited_plmn.MCCdigit2,
-                       air_p->visited_plmn.MCCdigit3,
-                       air_p->visited_plmn.MNCdigit1,
-                       air_p->visited_plmn.MNCdigit2,
-                       air_p->visited_plmn.MNCdigit3
-                                             )
-                  );
-    value.os.data = plmn;
-    value.os.len  = 3;
-    CHECK_FCT(fd_msg_avp_setvalue(avp, &value));
-
-    CHECK_FCT(fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp));
-    S6A_DEBUG("%s plmn: %02X%02X%02X\n",
-              __FUNCTION__,
-              plmn[0],
-              plmn[1],
-              plmn[2]);
-    S6A_DEBUG("%s visited_plmn: %02X%02X%02X\n",
-              __FUNCTION__,
-              value.os.data[0],
-              value.os.data[1],
-              value.os.data[2]);
-  }
-  /* Adding the requested E-UTRAN authentication info AVP */
-  {
-    struct avp *child_avp;
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_req_eutran_auth_info, 0, &avp));
-
-    /* Add the number of requested vectors */
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_number_of_requested_vectors, 0, &child_avp));
-    value.u32 = air_p->nb_of_vectors;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-
-    /* We want to use the vectors immediately in HSS so we have to add
-     * the Immediate-Response-Preferred AVP.
-     * Value of this AVP is not significant.
-     */
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_immediate_response_pref, 0, &child_avp));
-    value.u32 = 0;
-    CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-    CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-
-    /* Re-synchronization information containing the AUTS computed at USIM */
-    if (air_p->re_synchronization) {
-      CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_re_synchronization_info, 0, &child_avp));
-      value.os.len = AUTS_LENGTH;
-      value.os.data = air_p->auts;
-      CHECK_FCT(fd_msg_avp_setvalue(child_avp, &value));
-      CHECK_FCT(fd_msg_avp_add(avp, MSG_BRW_LAST_CHILD, child_avp));
-    }
-
-    CHECK_FCT(fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp));
-  }
-  CHECK_FCT(fd_msg_send(&msg, NULL, NULL));
-
-  return 0;
-}
diff --git a/openair-cn/S6A/s6a_defs.h b/openair-cn/S6A/s6a_defs.h
deleted file mode 100644
index c1a138b23ec2a40474d6b9ba3392c46afcb20739..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_defs.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdcore.h>
-
-#include "mme_config.h"
-#include "queue.h"
-
-#ifndef S6A_DEFS_H_
-#define S6A_DEFS_H_
-
-#ifndef S6A_DEBUG
-# define S6A_DEBUG(x, args...) do { fprintf(stdout, "[S6A] [D]"x, ##args); } while(0)
-#endif
-#ifndef S6A_ERROR
-# define S6A_ERROR(x, args...) do { fprintf(stderr, "[S6A] [E]"x, ##args); } while(0)
-#endif
-
-#define VENDOR_3GPP (10415)
-#define APP_S6A     (16777251)
-
-/* Errors that fall within the Permanent Failures category shall be used to
- * inform the peer that the request has failed, and should not be attempted
- * again. The Result-Code AVP values defined in Diameter Base Protocol RFC 3588
- * shall be applied. When one of the result codes defined here is included in a
- * response, it shall be inside an Experimental-Result AVP and the Result-Code
- * AVP shall be absent.
- */
-#define DIAMETER_ERROR_USER_UNKNOWN             (5001)
-#define DIAMETER_ERROR_ROAMING_NOT_ALLOWED      (5004)
-#define DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION (5420)
-#define DIAMETER_ERROR_RAT_NOT_ALLOWED          (5421)
-#define DIAMETER_ERROR_EQUIPMENT_UNKNOWN        (5422)
-#define DIAMETER_ERROR_UNKOWN_SERVING_NODE      (5423)
-
-/* Result codes that fall within the transient failures category shall be used
- * to inform a peer that the request could not be satisfied at the time it was
- * received, but may be able to satisfy the request in the future. The
- * Result-Code AVP values defined in Diameter Base Protocol RFC 3588 shall be
- * applied. When one of the result codes defined here is included in a response,
- * it shall be inside an Experimental-Result AVP and the Result-Code AVP shall
- * be absent.
- */
-#define DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE (4181)
-
-#define DIAMETER_ERROR_IS_VENDOR(x)                    \
-   ((x == DIAMETER_ERROR_USER_UNKNOWN)              || \
-    (x == DIAMETER_ERROR_ROAMING_NOT_ALLOWED)       || \
-    (x == DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION)  || \
-    (x == DIAMETER_ERROR_RAT_NOT_ALLOWED)           || \
-    (x == DIAMETER_ERROR_EQUIPMENT_UNKNOWN)         || \
-    (x == DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE) || \
-    (x == DIAMETER_ERROR_UNKOWN_SERVING_NODE))
-
-typedef struct {
-  struct dict_object *dataobj_s6a_vendor;     /* s6a vendor object */
-  struct dict_object *dataobj_s6a_app;        /* s6a application object */
-
-  /* Commands */
-  struct dict_object *dataobj_s6a_air; /* s6a authentication request */
-  struct dict_object *dataobj_s6a_aia; /* s6a authentication answer */
-  struct dict_object *dataobj_s6a_ulr; /* s6a update location request */
-  struct dict_object *dataobj_s6a_ula; /* s6a update location asnwer */
-  struct dict_object *dataobj_s6a_pur; /* s6a purge ue request */
-  struct dict_object *dataobj_s6a_pua; /* s6a purge ue answer */
-  struct dict_object *dataobj_s6a_clr; /* s6a Cancel Location req */
-  struct dict_object *dataobj_s6a_cla; /* s6a Cancel Location ans */
-
-  /* Some standard basic AVPs */
-  struct dict_object *dataobj_s6a_destination_host;
-  struct dict_object *dataobj_s6a_destination_realm;
-  struct dict_object *dataobj_s6a_user_name;
-  struct dict_object *dataobj_s6a_session_id;
-  struct dict_object *dataobj_s6a_auth_session_state;
-  struct dict_object *dataobj_s6a_result_code;
-  struct dict_object *dataobj_s6a_experimental_result;
-
-  /* S6A specific AVPs */
-  struct dict_object *dataobj_s6a_visited_plmn_id;
-  struct dict_object *dataobj_s6a_rat_type;
-  struct dict_object *dataobj_s6a_ulr_flags;
-  struct dict_object *dataobj_s6a_ula_flags;
-  struct dict_object *dataobj_s6a_subscription_data;
-  struct dict_object *dataobj_s6a_req_eutran_auth_info;
-  struct dict_object *dataobj_s6a_number_of_requested_vectors;
-  struct dict_object *dataobj_s6a_immediate_response_pref;
-  struct dict_object *dataobj_s6a_authentication_info;
-  struct dict_object *dataobj_s6a_re_synchronization_info;
-  struct dict_object *dataobj_s6a_service_selection;
-  struct dict_object *dataobj_s6a_ue_srvcc_cap;
-
-  /* Handlers */
-  struct disp_hdl *aia_hdl;   /* Authentication Information Answer Handle */
-  struct disp_hdl *ula_hdl;   /* Update Location Answer Handle */
-  struct disp_hdl *pua_hdl;   /* Purge UE Answer Handle */
-  struct disp_hdl *clr_hdl;   /* Cancel Location Request Handle */
-} s6a_fd_cnf_t;
-
-extern s6a_fd_cnf_t s6a_fd_cnf;
-
-#define ULR_SINGLE_REGISTRATION_IND      (1U)
-#define ULR_S6A_S6D_INDICATOR            (1U << 1)
-#define ULR_SKIP_SUBSCRIBER_DATA         (1U << 2)
-#define ULR_GPRS_SUBSCRIPTION_DATA_IND   (1U << 3)
-#define ULR_NODE_TYPE_IND                (1U << 4)
-#define ULR_INITIAL_ATTACH_IND           (1U << 5)
-#define ULR_PS_LCS_SUPPORTED_BY_UE       (1U << 6)
-
-#define ULA_SEPARATION_IND          (1U)
-
-#define FLAG_IS_SET(x, flag)   \
-    ((x) & (flag))
-
-#define FLAGS_SET(x, flags) \
-    ((x) |= (flags))
-
-#define FLAGS_CLEAR(x, flags)   \
-    ((x) = (x) & ~(flags))
-
-/* IANA defined IP address type */
-#define IANA_IPV4   (0x1)
-#define IANA_IPV6   (0x2)
-
-#define AVP_CODE_VENDOR_ID                         (266)
-#define AVP_CODE_EXPERIMENTAL_RESULT               (297)
-#define AVP_CODE_EXPERIMENTAL_RESULT_CODE          (298)
-#define AVP_CODE_SERVICE_SELECTION                 (493)
-#define AVP_CODE_BANDWIDTH_UL                      (516)
-#define AVP_CODE_BANDWIDTH_DL                      (515)
-#define AVP_CODE_MSISDN                            (701)
-#define AVP_CODE_SERVED_PARTY_IP_ADDRESS           (848)
-#define AVP_CODE_QCI                               (1028)
-#define AVP_CODE_ALLOCATION_RETENTION_PRIORITY     (1034)
-#define AVP_CODE_PRIORITY_LEVEL                    (1046)
-#define AVP_CODE_PRE_EMPTION_CAPABILITY            (1047)
-#define AVP_CODE_PRE_EMPTION_VULNERABILITY         (1048)
-#define AVP_CODE_SUBSCRIPTION_DATA                 (1400)
-#define AVP_CODE_AUTHENTICATION_INFO               (1413)
-#define AVP_CODE_E_UTRAN_VECTOR                    (1414)
-#define AVP_CODE_NETWORK_ACCESS_MODE               (1417)
-#define AVP_CODE_CONTEXT_IDENTIFIER                (1423)
-#define AVP_CODE_SUBSCRIBER_STATUS                 (1424)
-#define AVP_CODE_ACCESS_RESTRICTION_DATA           (1426)
-#define AVP_CODE_ALL_APN_CONFIG_INC_IND            (1428)
-#define AVP_CODE_APN_CONFIGURATION_PROFILE         (1429)
-#define AVP_CODE_APN_CONFIGURATION                 (1430)
-#define AVP_CODE_EPS_SUBSCRIBED_QOS_PROFILE        (1431)
-#define AVP_CODE_AMBR                              (1435)
-#define AVP_CODE_RAND                              (1447)
-#define AVP_CODE_XRES                              (1448)
-#define AVP_CODE_AUTN                              (1449)
-#define AVP_CODE_KASME                             (1450)
-#define AVP_CODE_PDN_TYPE                          (1456)
-#define AVP_CODE_SUBSCRIBED_PERIODIC_RAU_TAU_TIMER (1619)
-
-int s6a_init(const mme_config_t *mme_config);
-
-int s6a_fd_new_peer(void);
-
-void s6a_peer_connected_cb(struct peer_info *info, void *arg);
-
-int s6a_fd_init_dict_objs(void);
-
-int s6a_parse_subscription_data(struct avp *avp_subscription_data,
-                                subscription_data_t *subscription_data);
-
-int s6a_parse_experimental_result(struct avp *avp, s6a_experimental_result_t *ptr);
-char *experimental_retcode_2_string(uint32_t ret_code);
-char *retcode_2_string(uint32_t ret_code);
-
-
-#endif /* S6A_DEFS_H_ */
diff --git a/openair-cn/S6A/s6a_dict.c b/openair-cn/S6A/s6a_dict.c
deleted file mode 100644
index 20a43a67e56d11a7ac90d29afb20d25fde2f17b8..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_dict.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "intertask_interface.h"
-#include "s6a_defs.h"
-#include "s6a_messages.h"
-#include "assertions.h"
-
-#define CHECK_FD_FCT(fCT)  DevAssert(fCT == 0);
-
-/*! \file s6a_dict.c
- * \brief Initialize s6a dictionnary and setup callbacks for procedures
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-int s6a_fd_init_dict_objs(void)
-{
-  struct disp_when when;
-
-  vendor_id_t vendor_3gpp = VENDOR_3GPP;
-  application_id_t app_s6a = APP_S6A;
-
-  /* Pre-loading vendor object */
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict,
-                              DICT_VENDOR,
-                              VENDOR_BY_ID,
-                              (void *)&vendor_3gpp,
-                              &s6a_fd_cnf.dataobj_s6a_vendor,
-                              ENOENT));
-
-  /* Pre-loading application object */
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_APPLICATION,
-                              APPLICATION_BY_ID, (void *)&app_s6a,
-                              &s6a_fd_cnf.dataobj_s6a_app, ENOENT));
-
-  /* Pre-loading commands objects */
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                              CMD_BY_NAME, "Authentication-Information-Request",
-                              &s6a_fd_cnf.dataobj_s6a_air, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                              CMD_BY_NAME, "Authentication-Information-Answer",
-                              &s6a_fd_cnf.dataobj_s6a_aia, ENOENT));
-
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                              CMD_BY_NAME, "Update-Location-Request",
-                              &s6a_fd_cnf.dataobj_s6a_ulr, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                              CMD_BY_NAME, "Update-Location-Answer",
-                              &s6a_fd_cnf.dataobj_s6a_ula, ENOENT));
-
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                              CMD_BY_NAME, "Purge-UE-Request",
-                              &s6a_fd_cnf.dataobj_s6a_pur, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                              CMD_BY_NAME, "Purge-UE-Answer",
-                              &s6a_fd_cnf.dataobj_s6a_pua, ENOENT));
-
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                              CMD_BY_NAME, "Cancel-Location-Request",
-                              &s6a_fd_cnf.dataobj_s6a_clr, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND,
-                              CMD_BY_NAME, "Cancel-Location-Answer",
-                              &s6a_fd_cnf.dataobj_s6a_cla, ENOENT));
-
-  /* Pre-loading base avps */
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME, "Destination-Host",
-                              &s6a_fd_cnf.dataobj_s6a_destination_host, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME, "Destination-Realm",
-                              &s6a_fd_cnf.dataobj_s6a_destination_realm, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME, "User-Name",
-                              &s6a_fd_cnf.dataobj_s6a_user_name, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME, "Session-Id",
-                              &s6a_fd_cnf.dataobj_s6a_session_id, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME, "Auth-Session-State",
-                              &s6a_fd_cnf.dataobj_s6a_auth_session_state, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME, "Result-Code",
-                              &s6a_fd_cnf.dataobj_s6a_result_code, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME, "Experimental-Result",
-                              &s6a_fd_cnf.dataobj_s6a_experimental_result, ENOENT));
-
-  /* Pre-loading S6A specifics AVPs */
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "Visited-PLMN-Id",
-                              &s6a_fd_cnf.dataobj_s6a_visited_plmn_id, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "RAT-Type",
-                              &s6a_fd_cnf.dataobj_s6a_rat_type, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "ULR-Flags",
-                              &s6a_fd_cnf.dataobj_s6a_ulr_flags, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "ULA-Flags",
-                              &s6a_fd_cnf.dataobj_s6a_ula_flags, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "Subscription-Data",
-                              &s6a_fd_cnf.dataobj_s6a_subscription_data, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "Requested-EUTRAN-Authentication-Info",
-                              &s6a_fd_cnf.dataobj_s6a_req_eutran_auth_info, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "Number-Of-Requested-Vectors",
-                              &s6a_fd_cnf.dataobj_s6a_number_of_requested_vectors, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "Immediate-Response-Preferred",
-                              &s6a_fd_cnf.dataobj_s6a_immediate_response_pref, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "Authentication-Info",
-                              &s6a_fd_cnf.dataobj_s6a_authentication_info, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "Re-Synchronization-Info",
-                              &s6a_fd_cnf.dataobj_s6a_re_synchronization_info, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "Service-Selection",
-                              &s6a_fd_cnf.dataobj_s6a_service_selection, ENOENT));
-  CHECK_FD_FCT(fd_dict_search(fd_g_config->cnf_dict, DICT_AVP,
-                              AVP_BY_NAME_ALL_VENDORS, "UE-SRVCC-Capability",
-                              &s6a_fd_cnf.dataobj_s6a_ue_srvcc_cap, ENOENT));
-
-  /* Register callbacks */
-  memset(&when, 0, sizeof(when));
-
-  when.command = s6a_fd_cnf.dataobj_s6a_ula;
-  when.app     = s6a_fd_cnf.dataobj_s6a_app;
-
-  /* Register the callback for Update Location Answer S6A Application */
-  CHECK_FD_FCT(fd_disp_register(s6a_ula_cb, DISP_HOW_CC, &when, NULL,
-                                &s6a_fd_cnf.ula_hdl));
-  DevAssert(s6a_fd_cnf.ula_hdl != NULL);
-
-  when.command = s6a_fd_cnf.dataobj_s6a_aia;
-  when.app     = s6a_fd_cnf.dataobj_s6a_app;
-
-  /* Register the callback for Authentication Information Answer S6A Application */
-  CHECK_FD_FCT(fd_disp_register(s6a_aia_cb, DISP_HOW_CC, &when, NULL,
-                                &s6a_fd_cnf.aia_hdl));
-  DevAssert(s6a_fd_cnf.aia_hdl != NULL);
-
-  /* Advertise the support for the test application in the peer */
-  CHECK_FD_FCT(fd_disp_app_support(s6a_fd_cnf.dataobj_s6a_app,
-                                   s6a_fd_cnf.dataobj_s6a_vendor, 1, 0));
-
-  return 0;
-}
diff --git a/openair-cn/S6A/s6a_error.c b/openair-cn/S6A/s6a_error.c
deleted file mode 100644
index 28bf5dd4e2bb167c162e3e321dfdf695c7d7c1cd..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_error.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdint.h>
-
-#include "common_types.h"
-#include "s6a_defs.h"
-
-#include "assertions.h"
-
-int s6a_parse_experimental_result(struct avp *avp, s6a_experimental_result_t *ptr)
-{
-  struct avp_hdr *hdr;
-  struct avp *child_avp = NULL;
-
-  if (!avp) {
-    return EINVAL;
-  }
-
-  CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-  DevAssert(hdr->avp_code == AVP_CODE_EXPERIMENTAL_RESULT);
-  CHECK_FCT(fd_msg_browse(avp, MSG_BRW_FIRST_CHILD, &child_avp, NULL));
-
-  while(child_avp) {
-    CHECK_FCT(fd_msg_avp_hdr(child_avp, &hdr));
-
-    switch(hdr->avp_code) {
-    case AVP_CODE_EXPERIMENTAL_RESULT_CODE:
-      S6A_ERROR("Got experimental error %u:%s\n", hdr->avp_value->u32,
-                experimental_retcode_2_string(hdr->avp_value->u32));
-
-      if (ptr) {
-        *ptr = (s6a_experimental_result_t)hdr->avp_value->u32;
-      }
-
-      break;
-
-    case AVP_CODE_VENDOR_ID:
-      DevCheck(hdr->avp_value->u32 == 10415, hdr->avp_value->u32,
-               AVP_CODE_VENDOR_ID, 10415);
-      break;
-
-    default:
-      return -1;
-    }
-
-    /* Go to next AVP in the grouped AVP */
-    CHECK_FCT(fd_msg_browse(child_avp, MSG_BRW_NEXT, &child_avp, NULL));
-  }
-
-  return 0;
-}
-
-char *experimental_retcode_2_string(uint32_t ret_code)
-{
-  switch(ret_code) {
-    /* Experimental-Result-Codes */
-  case DIAMETER_ERROR_USER_UNKNOWN:
-    return "DIAMETER_ERROR_USER_UNKNOWN";
-
-  case DIAMETER_ERROR_ROAMING_NOT_ALLOWED:
-    return "DIAMETER_ERROR_ROAMING_NOT_ALLOWED";
-
-  case DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION:
-    return "DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION";
-
-  case DIAMETER_ERROR_RAT_NOT_ALLOWED:
-    return "DIAMETER_ERROR_RAT_NOT_ALLOWED";
-
-  case DIAMETER_ERROR_EQUIPMENT_UNKNOWN:
-    return "DIAMETER_ERROR_EQUIPMENT_UNKNOWN";
-
-  case DIAMETER_ERROR_UNKOWN_SERVING_NODE:
-    return "DIAMETER_ERROR_UNKOWN_SERVING_NODE";
-
-  case DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE:
-    return "DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE";
-
-  default:
-    break;
-  }
-
-  return "DIAMETER_AVP_UNSUPPORTED";
-}
-
-char *retcode_2_string(uint32_t ret_code)
-{
-  switch(ret_code) {
-  case ER_DIAMETER_SUCCESS:
-    return "DIAMETER_SUCCESS";
-
-  case ER_DIAMETER_MISSING_AVP:
-    return "DIAMETER_MISSING_AVP";
-
-  case ER_DIAMETER_INVALID_AVP_VALUE:
-    return "DIAMETER_INVALID_AVP_VALUE";
-
-  default:
-    break;
-  }
-
-  return "DIAMETER_AVP_UNSUPPORTED";
-}
diff --git a/openair-cn/S6A/s6a_messages.h b/openair-cn/S6A/s6a_messages.h
deleted file mode 100644
index f98b4f827a1f78a272287e2d06c86399b15a077f..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_messages.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#ifndef S6A_MESSAGES_H_
-#define S6A_MESSAGES_H_
-
-int s6a_generate_update_location(s6a_update_location_req_t *ulr_p);
-int s6a_generate_authentication_info_req(s6a_auth_info_req_t *uar_p);
-
-int s6a_ula_cb(struct msg **msg, struct avp *paramavp,
-               struct session *sess, void *opaque,
-               enum disp_action *act);
-int s6a_aia_cb(struct msg **msg, struct avp *paramavp,
-               struct session *sess, void *opaque,
-               enum disp_action *act);
-
-int s6a_parse_subscription_data(struct avp *avp_subscription_data,
-                                subscription_data_t *subscription_data);
-
-#endif /* S6A_MESSAGES_H_ */
diff --git a/openair-cn/S6A/s6a_peer.c b/openair-cn/S6A/s6a_peer.c
deleted file mode 100644
index c611cb6981f1a9e90a8c2b8bc715aede478a393a..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_peer.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file s6a_peers.c
- * \brief Add a new entity to the list of peers to connect
- * \author Sebastien ROUX <sebastien.roux@eurecom.fr>
- * \date 2013
- * \version 0.1
- */
-
-#include <stdint.h>
-#include <unistd.h>
-
-#include "common_types.h"
-#include "intertask_interface.h"
-#include "s6a_defs.h"
-#include "s6a_messages.h"
-
-#include "assertions.h"
-
-void s6a_peer_connected_cb(struct peer_info *info, void *arg)
-{
-  if (info == NULL) {
-    S6A_ERROR("Failed to connect to HSS entity\n");
-  } else {
-    MessageDef     *message_p;
-
-    S6A_DEBUG("Peer %*s is now connected...\n",
-              (int)info->pi_diamidlen, info->pi_diamid);
-
-    /* Inform S1AP that connection to HSS is established */
-    message_p = itti_alloc_new_message(TASK_S6A, ACTIVATE_MESSAGE);
-
-    itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
-
-  }
-
-  /* For test */
-#if 0
-  s6a_auth_info_req_t s6a_air;
-
-  memset(&s6a_air, 0, sizeof(s6a_auth_info_req_t));
-  sprintf(s6a_air.imsi, "%14llu", 20834123456789ULL);
-
-  s6a_air.nb_of_vectors = 1;
-  s6a_air.visited_plmn.MCCdigit2 = 0,
-                       s6a_air.visited_plmn.MCCdigit1 = 8,
-                                            s6a_air.visited_plmn.MCCdigit3 = 2,
-                                                                 s6a_air.visited_plmn.MNCdigit1 = 0,
-                                                                                      s6a_air.visited_plmn.MNCdigit2 = 3,
-                                                                                                           s6a_air.visited_plmn.MNCdigit3 = 4,
-
-                                                                                                                                s6a_generate_authentication_info_req(&s6a_air);
-  // #else
-  //     s6a_update_location_req_t s6a_ulr;
-  //
-  //     memset(&s6a_ulr, 0, sizeof(s6a_update_location_req_t));
-  //
-  //     sprintf(s6a_ulr.imsi, "%14llu", 20834123456789ULL);
-  //     s6a_ulr.initial_attach = INITIAL_ATTACH;
-  //     s6a_ulr.rat_type = RAT_EUTRAN;
-  //     s6a_generate_update_location(&s6a_ulr);
-#endif
-}
-
-int s6a_fd_new_peer(void)
-{
-  char host_name[100];
-  size_t host_name_len;
-  char *hss_name;
-
-  int ret = 0;
-  struct peer_info info;
-
-  memset(&info, 0, sizeof(struct peer_info));
-
-  if (config_read_lock(&mme_config) != 0) {
-    S6A_ERROR("Failed to lock configuration for reading\n");
-    return -1;
-  }
-
-  if(fd_g_config->cnf_diamid != NULL) {
-    free(fd_g_config->cnf_diamid);
-    fd_g_config->cnf_diamid_len = 0;
-  }
-
-  DevAssert(gethostname(host_name, 100) == 0);
-
-  host_name_len = strlen(host_name);
-  host_name[host_name_len]   = '.';
-  host_name[host_name_len+1] = '\0';
-
-  strcat(host_name, mme_config.realm);
-  fd_g_config->cnf_diamid = strdup(host_name);
-  fd_g_config->cnf_diamid_len = strlen(fd_g_config->cnf_diamid);
-
-  S6A_DEBUG("Diameter identity of MME: %s with length: %zd\n",
-            fd_g_config->cnf_diamid, fd_g_config->cnf_diamid_len);
-
-  hss_name = calloc(1,100);
-  strcat(hss_name, mme_config.s6a_config.hss_host_name);
-  strcat(hss_name, ".");
-  strcat(hss_name, mme_config.realm);
-  info.pi_diamid = hss_name;
-  info.pi_diamidlen = strlen(info.pi_diamid);
-
-  S6A_DEBUG("Diameter identity of HSS: %s with length: %zd\n",
-            info.pi_diamid, info.pi_diamidlen);
-
-  info.config.pic_flags.sec  = PI_SEC_NONE;
-  info.config.pic_flags.pro4 = PI_P4_SCTP;
-
-  info.config.pic_flags.persist = PI_PRST_NONE;
-
-  CHECK_FCT(fd_peer_add(&info, "", s6a_peer_connected_cb, NULL));
-
-  if (config_unlock(&mme_config) != 0) {
-    S6A_ERROR("Failed to unlock configuration\n");
-    return -1;
-  }
-
-  return ret;
-}
diff --git a/openair-cn/S6A/s6a_subscription_data.c b/openair-cn/S6A/s6a_subscription_data.c
deleted file mode 100644
index 75aed74b6975addc8800984bc9336dad1727604f..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_subscription_data.c
+++ /dev/null
@@ -1,446 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdint.h>
-
-#include "common_types.h"
-#include "s6a_defs.h"
-
-#include "assertions.h"
-
-static inline
-int s6a_parse_subscriber_status(struct avp_hdr *hdr_sub_status,
-                                subscriber_status_t *sub_status)
-{
-  DevCheck(hdr_sub_status->avp_value->u32 < SS_MAX,
-           hdr_sub_status->avp_value->u32, SS_MAX, 0);
-
-  *sub_status = hdr_sub_status->avp_value->u32;
-
-  return 0;
-}
-
-static inline
-int s6a_parse_msisdn(struct avp_hdr *hdr_msisdn, char *msisdn, uint8_t *length)
-{
-  int ret;
-
-  DevCheck(hdr_msisdn->avp_value->os.len <= MSISDN_LENGTH,
-           hdr_msisdn->avp_value->os.len, MSISDN_LENGTH, 0);
-
-  if (hdr_msisdn->avp_value->os.len == 0)
-    return 0;
-
-  ret = sprintf(msisdn, "%*s", (int)hdr_msisdn->avp_value->os.len,
-                hdr_msisdn->avp_value->os.data);
-
-  *length = ret;
-
-  return 0;
-}
-
-static inline
-int s6a_parse_network_access_mode(struct avp_hdr *hdr_network_am,
-                                  network_access_mode_t *access_mode)
-{
-  DevCheck(hdr_network_am->avp_value->u32 < NAM_MAX &&
-           hdr_network_am->avp_value->u32 != NAM_RESERVED,
-           hdr_network_am->avp_value->u32, NAM_MAX, NAM_RESERVED);
-
-  *access_mode = hdr_network_am->avp_value->u32;
-
-  return 0;
-}
-
-static inline
-int s6a_parse_access_restriction_data(struct avp_hdr *hdr_access_restriction,
-                                      access_restriction_t *access_restriction)
-{
-  DevCheck(hdr_access_restriction->avp_value->u32 < ARD_MAX,
-           hdr_access_restriction->avp_value->u32, ARD_MAX, 0);
-  *access_restriction = hdr_access_restriction->avp_value->u32;
-  return 0;
-}
-
-static inline
-int s6a_parse_bitrate(struct avp_hdr *hdr_bitrate, bitrate_t *bitrate)
-{
-  *bitrate = hdr_bitrate->avp_value->u32;
-  return 0;
-}
-
-static inline
-int s6a_parse_ambr(struct avp *avp_ambr, ambr_t *ambr)
-{
-  struct avp *avp = NULL;
-  struct avp_hdr *hdr;
-
-  CHECK_FCT(fd_msg_browse(avp_ambr, MSG_BRW_FIRST_CHILD, &avp, NULL));
-
-  if (!avp) {
-    /* Child avps for ambr are mandatory */
-    return -1;
-  }
-
-  while(avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    switch(hdr->avp_code) {
-    case AVP_CODE_BANDWIDTH_UL:
-      CHECK_FCT(s6a_parse_bitrate(hdr, &ambr->br_ul));
-      break;
-
-    case AVP_CODE_BANDWIDTH_DL:
-      CHECK_FCT(s6a_parse_bitrate(hdr, &ambr->br_dl));
-      break;
-
-    default:
-      return -1;
-    }
-
-    /* Go to next AVP in the grouped AVP */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_NEXT, &avp, NULL));
-  }
-
-  return 0;
-}
-
-static inline
-int s6a_parse_all_apn_conf_inc_ind(struct avp_hdr *hdr, all_apn_conf_ind_t *ptr)
-{
-  DevCheck(hdr->avp_value->u32 < ALL_APN_MAX,
-           hdr->avp_value->u32, ALL_APN_MAX, 0);
-  *ptr = hdr->avp_value->u32;
-  return 0;
-}
-
-static inline
-int s6a_parse_pdn_type(struct avp_hdr *hdr, pdn_type_t *pdn_type)
-{
-  DevCheck(hdr->avp_value->u32 < IP_MAX,
-           hdr->avp_value->u32, IP_MAX, 0);
-  *pdn_type = hdr->avp_value->u32;
-  return 0;
-}
-
-static inline
-int s6a_parse_service_selection(struct avp_hdr *hdr_service_selection,
-                                char *service_selection, int *length)
-{
-  DevCheck(hdr_service_selection->avp_value->os.len <= APN_MAX_LENGTH,
-           hdr_service_selection->avp_value->os.len, APN_MAX_LENGTH, 0);
-  *length = sprintf(service_selection, "%*s",
-                    (int)hdr_service_selection->avp_value->os.len,
-                    hdr_service_selection->avp_value->os.data);
-  return 0;
-}
-
-static inline
-int s6a_parse_qci(struct avp_hdr *hdr, qci_t *qci)
-{
-  DevCheck(hdr->avp_value->u32 < QCI_MAX,
-           hdr->avp_value->u32, QCI_MAX, 0);
-  *qci = hdr->avp_value->u32;
-  return 0;
-}
-
-static inline
-int s6a_parse_priority_level(struct avp_hdr *hdr, priority_level_t *priority_level)
-{
-  DevCheck(hdr->avp_value->u32 <= PRIORITY_LEVEL_MAX &&
-           hdr->avp_value->u32 >= PRIORITY_LEVEL_MIN, hdr->avp_value->u32,
-           PRIORITY_LEVEL_MAX, PRIORITY_LEVEL_MIN);
-  *priority_level = (priority_level_t)hdr->avp_value->u32;
-  return 0;
-}
-
-static inline
-int s6a_parse_pre_emp_capability(struct avp_hdr *hdr, pre_emp_capability_t *pre_emp_capability)
-{
-  DevCheck(hdr->avp_value->u32 < PRE_EMPTION_CAPABILITY_MAX, hdr->avp_value->u32,
-           PRE_EMPTION_CAPABILITY_MAX, 0);
-  *pre_emp_capability = hdr->avp_value->u32;
-  return 0;
-}
-
-static inline
-int s6a_parse_pre_emp_vulnerability(struct avp_hdr *hdr, pre_emp_vulnerability_t *pre_emp_vulnerability)
-{
-  DevCheck(hdr->avp_value->u32 < PRE_EMPTION_VULNERABILITY_MAX, hdr->avp_value->u32,
-           PRE_EMPTION_VULNERABILITY_MAX, 0);
-  *pre_emp_vulnerability = hdr->avp_value->u32;
-  return 0;
-}
-
-static inline
-int s6a_parse_allocation_retention_priority(struct avp *avp_arp,
-    allocation_retention_priority_t *ptr)
-{
-  struct avp *avp = NULL;
-  struct avp_hdr *hdr;
-
-  /* If the Pre-emption-Capability AVP is not present in the
-   * Allocation-Retention-Priority AVP, the default value shall be
-   * PRE-EMPTION_CAPABILITY_DISABLED (1).
-   */
-  ptr->pre_emp_capability = PRE_EMPTION_CAPABILITY_DISABLED;
-
-  /* If the Pre-emption-Vulnerability AVP is not present in the
-   * Allocation-Retention-Priority AVP, the default value shall be
-   * PRE-EMPTION_VULNERABILITY_ENABLED (0).
-   */
-  ptr->pre_emp_vulnerability = PRE_EMPTION_VULNERABILITY_ENABLED;
-
-  CHECK_FCT(fd_msg_browse(avp_arp, MSG_BRW_FIRST_CHILD, &avp, NULL));
-
-  while(avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    switch(hdr->avp_code) {
-    case AVP_CODE_PRIORITY_LEVEL:
-      CHECK_FCT(s6a_parse_priority_level(hdr, &ptr->priority_level));
-      break;
-
-    case AVP_CODE_PRE_EMPTION_CAPABILITY:
-      CHECK_FCT(s6a_parse_pre_emp_capability(hdr, &ptr->pre_emp_capability));
-      break;
-
-    case AVP_CODE_PRE_EMPTION_VULNERABILITY:
-      CHECK_FCT(s6a_parse_pre_emp_vulnerability(hdr, &ptr->pre_emp_vulnerability));
-      break;
-
-    default:
-      return -1;
-    }
-
-    /* Go to next AVP in the grouped AVP */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_NEXT, &avp, NULL));
-  }
-
-  return 0;
-}
-
-static inline
-int s6a_parse_eps_subscribed_qos_profile(struct avp *avp_qos,
-    eps_subscribed_qos_profile_t *ptr)
-{
-  struct avp *avp = NULL;
-  struct avp_hdr *hdr;
-
-  CHECK_FCT(fd_msg_browse(avp_qos, MSG_BRW_FIRST_CHILD, &avp, NULL));
-
-  while(avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    switch(hdr->avp_code) {
-    case AVP_CODE_QCI:
-      CHECK_FCT(s6a_parse_qci(hdr, &ptr->qci));
-      break;
-
-    case AVP_CODE_ALLOCATION_RETENTION_PRIORITY:
-      CHECK_FCT(s6a_parse_allocation_retention_priority(avp, &ptr->allocation_retention_priority));
-      break;
-
-    default:
-      return -1;
-    }
-
-    /* Go to next AVP in the grouped AVP */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_NEXT, &avp, NULL));
-  }
-
-  return 0;
-}
-
-static inline
-int s6a_parse_ip_address(struct avp_hdr *hdr, ip_address_t *ip_address)
-{
-  uint16_t ip_type;
-
-  DevCheck(hdr->avp_value->os.len >= 2, hdr->avp_value->os.len, 2, 0);
-
-  ip_type = (hdr->avp_value->os.data[0] << 8) | (hdr->avp_value->os.data[1]);
-
-  if (ip_type == IANA_IPV4) {
-    /* This is an IPv4 address */
-    ip_address->pdn_type = IPv4;
-    DevCheck(hdr->avp_value->os.len == 6, hdr->avp_value->os.len, 6, ip_type);
-    memcpy(ip_address->address.ipv4_address, &hdr->avp_value->os.data[2], 4);
-  } else if (ip_type == IANA_IPV6) {
-    /* This is an IPv6 address */
-    ip_address->pdn_type = IPv6;
-    DevCheck(hdr->avp_value->os.len == 18, hdr->avp_value->os.len, 18, ip_type);
-    memcpy(ip_address->address.ipv6_address, &hdr->avp_value->os.data[2], 16);
-  } else {
-    /* unhandled case... */
-    return -1;
-  }
-
-  return 0;
-}
-
-static inline
-int s6a_parse_apn_configuration(struct avp *avp_apn_conf_prof, apn_configuration_t *apn_config)
-{
-  struct avp *avp = NULL;
-  struct avp_hdr *hdr;
-
-  CHECK_FCT(fd_msg_browse(avp_apn_conf_prof, MSG_BRW_FIRST_CHILD, &avp, NULL));
-
-  while(avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    switch(hdr->avp_code) {
-    case AVP_CODE_CONTEXT_IDENTIFIER:
-      apn_config->context_identifier = hdr->avp_value->u32;
-      break;
-
-    case AVP_CODE_SERVED_PARTY_IP_ADDRESS:
-      if (apn_config->nb_ip_address == 2) {
-        DevMessage("Only two IP addresses can be provided");
-      }
-
-      CHECK_FCT(s6a_parse_ip_address(hdr, &apn_config->ip_address[apn_config->nb_ip_address]));
-      apn_config->nb_ip_address++;
-      break;
-
-    case AVP_CODE_PDN_TYPE:
-      CHECK_FCT(s6a_parse_pdn_type(hdr, &apn_config->pdn_type));
-      break;
-
-    case AVP_CODE_SERVICE_SELECTION:
-      CHECK_FCT(s6a_parse_service_selection(hdr, apn_config->service_selection,
-                                            &apn_config->service_selection_length));
-      break;
-
-    case AVP_CODE_EPS_SUBSCRIBED_QOS_PROFILE:
-      CHECK_FCT(s6a_parse_eps_subscribed_qos_profile(avp, &apn_config->subscribed_qos));
-      break;
-
-    case AVP_CODE_AMBR:
-      CHECK_FCT(s6a_parse_ambr(avp, &apn_config->ambr));
-      break;
-    }
-
-    /* Go to next AVP in the grouped AVP */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_NEXT, &avp, NULL));
-  }
-
-  return 0;
-}
-
-static inline
-int s6a_parse_apn_configuration_profile(struct avp *avp_apn_conf_prof,
-                                        apn_config_profile_t *apn_config_profile)
-{
-  struct avp *avp = NULL;
-  struct avp_hdr *hdr;
-
-  CHECK_FCT(fd_msg_browse(avp_apn_conf_prof, MSG_BRW_FIRST_CHILD, &avp, NULL));
-
-  while(avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    switch(hdr->avp_code) {
-    case AVP_CODE_CONTEXT_IDENTIFIER:
-      apn_config_profile->context_identifier = hdr->avp_value->u32;
-      break;
-
-    case AVP_CODE_ALL_APN_CONFIG_INC_IND:
-      CHECK_FCT(s6a_parse_all_apn_conf_inc_ind(hdr, &apn_config_profile->all_apn_conf_ind));
-      break;
-
-    case AVP_CODE_APN_CONFIGURATION: {
-      DevCheck(apn_config_profile->nb_apns < MAX_APN_PER_UE,
-               apn_config_profile->nb_apns, MAX_APN_PER_UE, 0);
-      CHECK_FCT(s6a_parse_apn_configuration(
-                  avp, &apn_config_profile->apn_configuration[apn_config_profile->nb_apns]));
-      apn_config_profile->nb_apns++;
-    }
-    break;
-    }
-
-    /* Go to next AVP in the grouped AVP */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_NEXT, &avp, NULL));
-  }
-
-  return 0;
-}
-
-int s6a_parse_subscription_data(struct avp *avp_subscription_data,
-                                subscription_data_t *subscription_data)
-{
-  struct avp *avp = NULL;
-  struct avp_hdr *hdr;
-
-  CHECK_FCT(fd_msg_browse(avp_subscription_data, MSG_BRW_FIRST_CHILD, &avp, NULL));
-
-  while(avp) {
-    CHECK_FCT(fd_msg_avp_hdr(avp, &hdr));
-
-    switch(hdr->avp_code) {
-    case AVP_CODE_SUBSCRIBER_STATUS:
-      CHECK_FCT(s6a_parse_subscriber_status(hdr, &subscription_data->subscriber_status));
-      break;
-
-    case AVP_CODE_MSISDN:
-      CHECK_FCT(s6a_parse_msisdn(hdr, subscription_data->msisdn,
-                                 &subscription_data->msisdn_length));
-      break;
-
-    case AVP_CODE_NETWORK_ACCESS_MODE:
-      CHECK_FCT(s6a_parse_network_access_mode(hdr, &subscription_data->access_mode));
-      break;
-
-    case AVP_CODE_ACCESS_RESTRICTION_DATA:
-      CHECK_FCT(s6a_parse_access_restriction_data(hdr, &subscription_data->access_restriction));
-      break;
-
-    case AVP_CODE_AMBR:
-      CHECK_FCT(s6a_parse_ambr(avp, &subscription_data->subscribed_ambr));
-      break;
-
-    case AVP_CODE_APN_CONFIGURATION_PROFILE:
-      CHECK_FCT(s6a_parse_apn_configuration_profile(avp, &subscription_data->apn_config_profile));
-      break;
-
-    case AVP_CODE_SUBSCRIBED_PERIODIC_RAU_TAU_TIMER:
-      subscription_data->rau_tau_timer = hdr->avp_value->u32;
-      break;
-
-    default:
-      return -1;
-    }
-
-    /* Go to next AVP in the grouped AVP */
-    CHECK_FCT(fd_msg_browse(avp, MSG_BRW_NEXT, &avp, NULL));
-  }
-
-  return 0;
-}
diff --git a/openair-cn/S6A/s6a_task.c b/openair-cn/S6A/s6a_task.c
deleted file mode 100644
index 2ee79ac3ab052298fc33e32f3f65445d91927ca7..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_task.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <freeDiameter/freeDiameter-host.h>
-#include <freeDiameter/libfdcore.h>
-
-#include "intertask_interface.h"
-#include "s6a_defs.h"
-#include "s6a_messages.h"
-
-#include "assertions.h"
-#include "msc.h"
-
-#if defined(DISABLE_USE_HSS)
-# error "Disabling HSS support is currently not supported   \
-Reconfigure with --enable-hss option to disable this error"
-#endif
-
-static int gnutls_debug = 0;
-struct session_handler *ts_sess_hdl;
-
-s6a_fd_cnf_t s6a_fd_cnf;
-
-void *s6a_thread(void *args);
-static void fd_gnutls_debug(int level, const char *str);
-
-static void fd_gnutls_debug(int level, const char *str)
-{
-  S6A_DEBUG("[GTLS] %s", str);
-}
-
-void *s6a_thread(void *args)
-{
-  itti_mark_task_ready(TASK_S6A);
-  MSC_START_USE();
-
-  while(1) {
-    MessageDef *received_message_p = NULL;
-    /* Trying to fetch a message from the message queue.
-    * If the queue is empty, this function will block till a
-    * message is sent to the task.
-    */
-    itti_receive_msg(TASK_S6A, &received_message_p);
-    DevAssert(received_message_p != NULL);
-
-    switch (ITTI_MSG_ID(received_message_p))
-    {
-    case S6A_UPDATE_LOCATION_REQ: {
-      s6a_generate_update_location(&received_message_p->ittiMsg.s6a_update_location_req);
-    } break;
-    case S6A_AUTH_INFO_REQ: {
-      s6a_generate_authentication_info_req(&received_message_p->ittiMsg.s6a_auth_info_req);
-    } break;
-    case TERMINATE_MESSAGE: {
-      itti_exit_task();
-    } break;
-    default: {
-      S6A_DEBUG("Unkwnon message ID %d: %s\n",
-                ITTI_MSG_ID(received_message_p), ITTI_MSG_NAME(received_message_p));
-    } break;
-    }
-    itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), received_message_p);
-    received_message_p = NULL;
-  }
-  return NULL;
-}
-
-int s6a_init(const mme_config_t *mme_config_p)
-{
-  int ret;
-
-  S6A_DEBUG("Initializing S6a interface\n");
-
-  memset(&s6a_fd_cnf, 0, sizeof(s6a_fd_cnf_t));
-
-  /*if (strcmp(fd_core_version(), FREE_DIAMETER_MINIMUM_VERSION) != 0) {
-  S6A_ERROR("Freediameter version %s found, expecting %s\n", fd_core_version(),
-  FREE_DIAMETER_MINIMUM_VERSION);
-  return -1;
-  } else {
-  S6A_DEBUG("Freediameter version %s\n", fd_core_version());
-  }*/
-
-
-  /* Initializing freeDiameter core */
-  S6A_DEBUG("Initializing freeDiameter core...\n");
-  ret = fd_core_initialize();
-  if (ret != 0) {
-    S6A_ERROR("An error occurred during freeDiameter core library initialization: %d\n",ret);
-    return ret;
-  } else {
-    S6A_DEBUG("Initializing freeDiameter core done\n");
-  }
-
-
-
-  S6A_DEBUG("Default ext path: %s\n", DEFAULT_EXTENSIONS_PATH);
-
-  ret = fd_core_parseconf(mme_config_p->s6a_config.conf_file);
-  if (ret != 0) {
-    S6A_ERROR("An error occurred during fd_core_parseconf file : %s.\n", mme_config_p->s6a_config.conf_file);
-    return ret;
-  } else {
-    S6A_DEBUG("fd_core_parseconf done\n");
-  }
-
-  /* Set gnutls debug level ? */
-  if (gnutls_debug) {
-    gnutls_global_set_log_function((gnutls_log_func)fd_gnutls_debug);
-    gnutls_global_set_log_level (gnutls_debug);
-    S6A_DEBUG("Enabled GNUTLS debug at level %d", gnutls_debug);
-  }
-
-  /* Starting freeDiameter core */
-  ret = fd_core_start();
-  if (ret != 0) {
-    S6A_ERROR("An error occurred during freeDiameter core library start\n");
-    return ret;
-  } else {
-    S6A_DEBUG("fd_core_start done\n");
-  }
-
-
-
-  ret = fd_core_waitstartcomplete();
-  if (ret != 0) {
-    S6A_ERROR("An error occurred during fd_core_waitstartcomplete.\n");
-    return ret;
-  } else {
-    S6A_DEBUG("fd_core_waitstartcomplete done\n");
-  }
-
-  ret = s6a_fd_init_dict_objs();
-  if (ret != 0) {
-    S6A_ERROR("An error occurred during s6a_fd_init_dict_objs.\n");
-    return ret;
-  } else {
-    S6A_DEBUG("s6a_fd_init_dict_objs done\n");
-  }
-
-  /* Trying to connect to peers */
-  CHECK_FCT(s6a_fd_new_peer());
-
-  if (itti_create_task(TASK_S6A, &s6a_thread, NULL) < 0) {
-    S6A_ERROR("s6a create task\n");
-    return -1;
-  }
-  S6A_DEBUG("Initializing S6a interface: DONE\n");
-
-  return 0;
-}
diff --git a/openair-cn/S6A/s6a_up_loc.c b/openair-cn/S6A/s6a_up_loc.c
deleted file mode 100644
index d1d2931d70d0cb6db80844735e740d0d5fcf652c..0000000000000000000000000000000000000000
--- a/openair-cn/S6A/s6a_up_loc.c
+++ /dev/null
@@ -1,317 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-#include <stdio.h>
-#include <stdint.h>
-
-#include "mme_config.h"
-
-#include "assertions.h"
-#include "conversions.h"
-
-#include "intertask_interface.h"
-#include "s6a_defs.h"
-#include "s6a_messages.h"
-#include "msc.h"
-
-
-int s6a_ula_cb(
-  struct msg      **msg_pP,
-  struct avp       *paramavp_pP,
-  struct session   *sess_pP,
-  void             *opaque_pP,
-  enum disp_action *act_pP)
-{
-  struct msg                *ans_p                     = NULL;
-  struct msg                *qry_p                     = NULL;
-  struct avp                *avp_p                     = NULL;
-  struct avp_hdr            *hdr_p                     = NULL;
-  MessageDef                *message_p                 = NULL;
-  s6a_update_location_ans_t *s6a_update_location_ans_p = NULL;
-
-  DevAssert(msg_pP != NULL);
-
-  ans_p = *msg_pP;
-  /* Retrieve the original query associated with the asnwer */
-  CHECK_FCT(fd_msg_answ_getq(ans_p, &qry_p));
-
-  DevAssert(qry_p != NULL);
-
-  message_p = itti_alloc_new_message(TASK_S6A, S6A_UPDATE_LOCATION_ANS);
-
-  s6a_update_location_ans_p = &message_p->ittiMsg.s6a_update_location_ans;
-
-  CHECK_FCT(fd_msg_search_avp(qry_p, s6a_fd_cnf.dataobj_s6a_user_name, &avp_p));
-
-  if (avp_p) {
-    CHECK_FCT(fd_msg_avp_hdr(avp_p, &hdr_p));
-    memcpy(s6a_update_location_ans_p->imsi, hdr_p->avp_value->os.data, hdr_p->avp_value->os.len);
-    s6a_update_location_ans_p->imsi[hdr_p->avp_value->os.len] = '\0';
-    s6a_update_location_ans_p->imsi_length = hdr_p->avp_value->os.len;
-    S6A_DEBUG("Received s6a ula for imsi=%*s\n",
-              (int)hdr_p->avp_value->os.len,
-              hdr_p->avp_value->os.data);
-  } else {
-    DevMessage("Query has been freed before we received the answer\n");
-  }
-
-  /* Retrieve the result-code */
-  CHECK_FCT(fd_msg_search_avp(ans_p, s6a_fd_cnf.dataobj_s6a_result_code, &avp_p));
-
-  if (avp_p) {
-    CHECK_FCT(fd_msg_avp_hdr(avp_p, &hdr_p));
-
-    s6a_update_location_ans_p->result.present = S6A_RESULT_BASE;
-    s6a_update_location_ans_p->result.choice.base = hdr_p->avp_value->u32;
-
-    MSC_LOG_TX_MESSAGE(
-    		MSC_S6A_MME,
-    		MSC_MMEAPP_MME,
-    		NULL,0,
-    		"0 S6A_UPDATE_LOCATION_ANS imsi %SCNu64 %s",
-    		s6a_update_location_ans_p->imsi,
-    		retcode_2_string(hdr_p->avp_value->u32));
-
-    if (hdr_p->avp_value->u32 != ER_DIAMETER_SUCCESS) {
-      S6A_ERROR("Got error %u:%s\n", hdr_p->avp_value->u32,
-                retcode_2_string(hdr_p->avp_value->u32));
-      goto err;
-    }
-  } else {
-    /* The result-code is not present, may be it is an experimental result
-     * avp_p indicating a 3GPP specific failure.
-     */
-    CHECK_FCT(fd_msg_search_avp(ans_p, s6a_fd_cnf.dataobj_s6a_experimental_result, &avp_p));
-
-    if (avp_p) {
-      /* The procedure has failed within the HSS.
-       * NOTE: contrary to result-code, the experimental-result is a grouped
-       * AVP and requires parsing its childs to get the code back.
-       */
-      s6a_update_location_ans_p->result.present = S6A_RESULT_EXPERIMENTAL;
-      s6a_parse_experimental_result(avp_p, &s6a_update_location_ans_p->result.choice.experimental);
-
-      goto err;
-    } else {
-      /* Neither result-code nor experimental-result is present ->
-       * totally incorrect behaviour here.
-       */
-      S6A_ERROR("Experimental-Result and Result-Code are absent: "
-                "This is not a correct behaviour\n");
-      goto err;
-    }
-  }
-
-  /* Retrieving the ULA flags */
-  CHECK_FCT(fd_msg_search_avp(ans_p, s6a_fd_cnf.dataobj_s6a_ula_flags, &avp_p));
-
-  if (avp_p) {
-    CHECK_FCT(fd_msg_avp_hdr(avp_p, &hdr_p));
-
-    /* This bit, when set, indicates that the HSS stores SGSN number
-     * and MME number in separate memory. A Rel-8 HSS shall set
-     * the bit.
-     */
-    if (!FLAG_IS_SET(hdr_p->avp_value->u32, ULA_SEPARATION_IND)) {
-      S6A_ERROR("ULA-Flags does not indicate the HSS is post Rel.8: "
-                "This behaviour is not compliant\n");
-      goto err;
-    }
-  } else {
-    /* ULA-Flags is absent while the error code indicates DIAMETER_SUCCESS:
-     * this is not a compliant behaviour...
-     * TODO: handle this case.
-     */
-    S6A_ERROR("ULA-Flags AVP is absent while result code indicates "
-              "DIAMETER_SUCCESS\n");
-    goto err;
-  }
-
-  CHECK_FCT(fd_msg_search_avp(ans_p, s6a_fd_cnf.dataobj_s6a_subscription_data, &avp_p));
-
-  if (avp_p) {
-    CHECK_FCT(s6a_parse_subscription_data(avp_p, &s6a_update_location_ans_p->subscription_data));
-
-#if defined(DISABLE_USE_NAS)
-
-#else
-    // LG COMMENTED THIS (2014/04/01)-> DevParam(0, 0, 0);
-#endif
-  }
-
-err:
-
-  ans_p = NULL;
-
-  itti_send_msg_to_task(TASK_MME_APP, INSTANCE_DEFAULT, message_p);
-
-  S6A_DEBUG("Sending S6A_UPDATE_LOCATION_ANS to task MME_APP\n");
-
-  return 0;
-}
-
-
-
-int s6a_generate_update_location(s6a_update_location_req_t *ulr_pP)
-{
-  struct avp     *avp_p  = NULL;
-  struct msg     *msg_p  = NULL;
-  struct session *sess_p = NULL;
-
-  union avp_value value;
-
-  DevAssert(ulr_pP != NULL);
-
-  /* Create the new update location request message */
-  CHECK_FCT(fd_msg_new(s6a_fd_cnf.dataobj_s6a_ulr, 0, &msg_p));
-
-  /* Create a new session */
-  CHECK_FCT(fd_sess_new(&sess_p, fd_g_config->cnf_diamid,
-                        fd_g_config->cnf_diamid_len, (os0_t)"apps6a", 6));
-  {
-    os0_t sid;
-    size_t sidlen;
-    CHECK_FCT(fd_sess_getsid(sess_p, &sid, &sidlen));
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_session_id, 0, &avp_p));
-    value.os.data = sid;
-    value.os.len  = sidlen;
-    CHECK_FCT(fd_msg_avp_setvalue(avp_p, &value));
-    CHECK_FCT(fd_msg_avp_add(msg_p, MSG_BRW_FIRST_CHILD, avp_p));
-  }
-
-  CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_auth_session_state, 0, &avp_p));
-  /* No State maintained */
-  value.i32 = 1;
-  CHECK_FCT(fd_msg_avp_setvalue(avp_p, &value));
-  CHECK_FCT(fd_msg_avp_add(msg_p, MSG_BRW_LAST_CHILD, avp_p));
-
-  /* Add Origin_Host & Origin_Realm */
-  CHECK_FCT(fd_msg_add_origin(msg_p, 0));
-
-  config_read_lock(&mme_config);
-
-  /* Destination Host */
-  {
-    char host[100];
-    size_t hostlen;
-
-    memset(host, 0, 100);
-    strcat(host, mme_config.s6a_config.hss_host_name);
-    strcat(host, ".");
-    strcat(host, mme_config.realm);
-
-    hostlen = strlen(host);
-
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_destination_host, 0, &avp_p));
-    value.os.data = (unsigned char *)host;
-    value.os.len  = hostlen;
-    CHECK_FCT(fd_msg_avp_setvalue(avp_p, &value));
-
-    CHECK_FCT(fd_msg_avp_add(msg_p, MSG_BRW_LAST_CHILD, avp_p));
-  }
-  /* Destination_Realm */
-  {
-    char *realm     = mme_config.realm;
-    size_t realmlen = strlen(realm);
-
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_destination_realm, 0, &avp_p));
-    value.os.data = (unsigned char *)realm;
-    value.os.len  = realmlen;
-    CHECK_FCT(fd_msg_avp_setvalue(avp_p, &value));
-
-    CHECK_FCT(fd_msg_avp_add(msg_p, MSG_BRW_LAST_CHILD, avp_p));
-  }
-
-  config_unlock(&mme_config);
-
-  /* Adding the User-Name (IMSI) */
-  CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_user_name, 0, &avp_p));
-  value.os.data = (unsigned char *)ulr_pP->imsi;
-  value.os.len  = strlen(ulr_pP->imsi);
-  CHECK_FCT(fd_msg_avp_setvalue(avp_p, &value));
-  CHECK_FCT(fd_msg_avp_add(msg_p, MSG_BRW_LAST_CHILD, avp_p));
-
-  /* Adding the visited plmn id */
-  {
-    uint8_t plmn[3];
-
-    CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_visited_plmn_id, 0, &avp_p));
-
-    PLMN_T_TO_TBCD(ulr_pP->visited_plmn,
-                   plmn,
-                   mme_config_find_mnc_length(ulr_pP->visited_plmn.MCCdigit1,
-                       ulr_pP->visited_plmn.MCCdigit2,
-                       ulr_pP->visited_plmn.MCCdigit3,
-                       ulr_pP->visited_plmn.MNCdigit1,
-                       ulr_pP->visited_plmn.MNCdigit2,
-                       ulr_pP->visited_plmn.MNCdigit3
-                                             )
-                  );
-
-    printf("PLMN: %3s\n", plmn);
-
-    value.os.data = plmn;
-    value.os.len  = 3;
-    CHECK_FCT(fd_msg_avp_setvalue(avp_p, &value));
-
-    CHECK_FCT(fd_msg_avp_add(msg_p, MSG_BRW_LAST_CHILD, avp_p));
-  }
-
-  /* Adding the RAT-Type */
-  CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_rat_type, 0, &avp_p));
-  DevCheck(ulr_pP->rat_type == RAT_EUTRAN, ulr_pP->rat_type, 0, 0);
-  value.u32 = ulr_pP->rat_type;
-  CHECK_FCT(fd_msg_avp_setvalue(avp_p, &value));
-  CHECK_FCT(fd_msg_avp_add(msg_p, MSG_BRW_LAST_CHILD, avp_p));
-
-  /* Adding ULR-Flags */
-  CHECK_FCT(fd_msg_avp_new(s6a_fd_cnf.dataobj_s6a_ulr_flags, 0, &avp_p));
-  value.u32 = 0;
-
-  /* Identify the ULR as coming from S6A interface (i.e. from MME) */
-  FLAGS_SET(value.u32, ULR_S6A_S6D_INDICATOR);
-
-  /* Set the ulr-flags as indicated by upper layer */
-  if (ulr_pP->skip_subscriber_data) {
-    FLAGS_SET(value.u32, ULR_SKIP_SUBSCRIBER_DATA);
-  }
-
-  if (ulr_pP->initial_attach) {
-    FLAGS_SET(value.u32, ULR_INITIAL_ATTACH_IND);
-  }
-
-  CHECK_FCT(fd_msg_avp_setvalue(avp_p, &value));
-  CHECK_FCT(fd_msg_avp_add(msg_p, MSG_BRW_LAST_CHILD, avp_p));
-
-  CHECK_FCT(fd_msg_send(&msg_p, NULL, NULL));
-
-  S6A_DEBUG("Sending s6a ulr for imsi=%s\n", ulr_pP->imsi);
-
-  return 0;
-}
diff --git a/openair-cn/SCTP/Makefile.am b/openair-cn/SCTP/Makefile.am
deleted file mode 100644
index 6cdc16d86998ff6475a0cf5f9e9a9eafdbbdd627..0000000000000000000000000000000000000000
--- a/openair-cn/SCTP/Makefile.am
+++ /dev/null
@@ -1,52 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-noinst_LTLIBRARIES = libsctpserver.la libsctpclient.la
-libsctpclient_la_LDFLAGS = -all-static
-libsctpserver_la_LDFLAGS = -all-static
-
-AM_CFLAGS =	\
-	@ADD_CFLAGS@	\
-	-I$(top_srcdir)/COMMON	\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE	\
-	-I$(top_srcdir)/UTILS
-
-libsctpserver_la_SOURCES=	\
-	sctp_common.c sctp_common.h	\
-	sctp_itti_messaging.h sctp_itti_messaging.c	\
-	sctp_primitives_server.h sctp_primitives_server.c
-
-libsctpclient_la_SOURCES=	\
-	sctp_common.c sctp_common.h	\
-	sctp_primitives_client.h sctp_primitives_client.c
\ No newline at end of file
diff --git a/openair-cn/SCTP/Makefile.eNB b/openair-cn/SCTP/Makefile.eNB
deleted file mode 100644
index c41d2911e29a34ca56d857b2444c7e881c39b1a0..0000000000000000000000000000000000000000
--- a/openair-cn/SCTP/Makefile.eNB
+++ /dev/null
@@ -1,71 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-# include $(OPENAIR_TARGETS)/SIMU/USER/Makerules
-
-OUTDIR = .
-
-libsctp_OBJECTS =			\
-	sctp_common.o			\
-	sctp_eNB_task.o			\
-	sctp_eNB_itti_messaging.o
-
-# pull in dependency info for *existing* .o files
--include $(OUTDIR)/*.d
-
-CFLAGS = \
-	-Wall			\
-	$(S1AP_CFLAGS)		\
-	-DENB_MODE		\
-	-Werror=uninitialized	\
-	-Werror=implicit-function-declaration
-
-$(OUTDIR)/%.o : %.c
-	@echo "Compiling $<"
-	@if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi;
-	@$(CC) -c $(CFLAGS) -o $@ $<
-	@$(CC) -MM $(CFLAGS) $< > $(basename $@).d
-	@mv -f $(basename $@).d $(basename $@).d.tmp
-	@sed -e 's|.*:|$@:|' < $(basename $@).d.tmp > $(basename $@).d
-	@sed -e 's/.*://' -e 's/\\$$//' < $(basename $@).d.tmp | fmt -1 | \
-	sed -e 's/^ *//' -e 's/$$/:/' >> $(basename $@).d
-	@rm -f $(basename $@).d.tmp
-
-objsdir:
-	@if [ ! -d $(OUTDIR) ]; then mkdir -p $(OUTDIR); fi;
-
-$(OUTDIR)/libsctp.a: $(addprefix $(OUTDIR)/,$(libsctp_OBJECTS))
-	@echo Creating SCTP archive
-	@$(AR) rcs $@ $(addprefix $(OUTDIR)/,$(libsctp_OBJECTS))
-
-clean:
-	@$(RM_F_V) $(OUTDIR)/*.o
-	@$(RM_F_V) $(OUTDIR)/*.d
-	@$(RM_F_V) $(OUTDIR)/libsctp.a
-
-cleanall: clean
diff --git a/openair-cn/SCTP/sctp_common.c b/openair-cn/SCTP/sctp_common.c
index 5f29ef5c3778f1cc8c295f47cee14762ea5461fc..8e26679e6a6b317719ff872ec324fce23852668e 100644
--- a/openair-cn/SCTP/sctp_common.c
+++ b/openair-cn/SCTP/sctp_common.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /*! \file sctp_common.c
  *  \brief eNB/MME SCTP related common procedures
diff --git a/openair-cn/SCTP/sctp_common.h b/openair-cn/SCTP/sctp_common.h
index 337f1fa90c90282101ae3be1871f759dcecb0ba9..bffc61a9199899812b194b89fcc9fd0b8e829f0a 100644
--- a/openair-cn/SCTP/sctp_common.h
+++ b/openair-cn/SCTP/sctp_common.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /*! \file sctp_common.h
  *  \brief eNB/MME SCTP related common procedures
diff --git a/openair-cn/SCTP/sctp_default_values.h b/openair-cn/SCTP/sctp_default_values.h
index 28b6cc1fbffaa1d1688c07d2c72e883ba9b21ba6..4eaa4e88c2ba69266cd43ef51296128c215084d2 100644
--- a/openair-cn/SCTP/sctp_default_values.h
+++ b/openair-cn/SCTP/sctp_default_values.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #ifndef SCTP_DEFAULT_VALUES_H_
 #define SCTP_DEFAULT_VALUES_H_
 
diff --git a/openair-cn/SCTP/sctp_eNB_defs.h b/openair-cn/SCTP/sctp_eNB_defs.h
index 8f79d7f15f42f941216eabf4870ab48a040cf1c2..6844b1be3169dae600a230100e7a937c7915d4f6 100644
--- a/openair-cn/SCTP/sctp_eNB_defs.h
+++ b/openair-cn/SCTP/sctp_eNB_defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SCTP/sctp_eNB_itti_messaging.c b/openair-cn/SCTP/sctp_eNB_itti_messaging.c
index 5f27f887595f741b6f806a1f75f71480311b610e..6e26b2c56ddb30cfb5f1dddad2d489f6ab1ee644 100644
--- a/openair-cn/SCTP/sctp_eNB_itti_messaging.c
+++ b/openair-cn/SCTP/sctp_eNB_itti_messaging.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SCTP/sctp_eNB_itti_messaging.h b/openair-cn/SCTP/sctp_eNB_itti_messaging.h
index 184c1b009531b4231c30fea0851a048293830910..37af2a9b197ae5d6726dda2942769e888ac0d0ff 100644
--- a/openair-cn/SCTP/sctp_eNB_itti_messaging.h
+++ b/openair-cn/SCTP/sctp_eNB_itti_messaging.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SCTP/sctp_eNB_task.c b/openair-cn/SCTP/sctp_eNB_task.c
index c9039f714d90c825c2a1c3ce456dbb6a549111cd..c1e7d989e996e2eeec3b181fd0aaa795b39f98f6 100644
--- a/openair-cn/SCTP/sctp_eNB_task.c
+++ b/openair-cn/SCTP/sctp_eNB_task.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SCTP/sctp_eNB_task.h b/openair-cn/SCTP/sctp_eNB_task.h
index 4397f7e42b1fa9f96bdd8df06d049fe080673c83..0953b63826c881691f21634bd87468147600499c 100644
--- a/openair-cn/SCTP/sctp_eNB_task.h
+++ b/openair-cn/SCTP/sctp_eNB_task.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SCTP/sctp_itti_messaging.c b/openair-cn/SCTP/sctp_itti_messaging.c
deleted file mode 100644
index 9782c43d7d35e5e92f04e4a0f4eb7efed2211f06..0000000000000000000000000000000000000000
--- a/openair-cn/SCTP/sctp_itti_messaging.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#include <string.h>
-
-#include "intertask_interface.h"
-
-#include "sctp_itti_messaging.h"
-
-int sctp_itti_send_new_association(uint32_t assoc_id, uint16_t instreams,
-                                   uint16_t outstreams)
-{
-  MessageDef      *message_p;
-  sctp_new_peer_t *sctp_new_peer_p;
-
-  message_p = itti_alloc_new_message(TASK_SCTP, SCTP_NEW_ASSOCIATION);
-
-  sctp_new_peer_p = &message_p->ittiMsg.sctp_new_peer;
-
-  sctp_new_peer_p->assoc_id   = assoc_id;
-  sctp_new_peer_p->instreams  = instreams;
-  sctp_new_peer_p->outstreams = outstreams;
-
-  return itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
-}
-
-int sctp_itti_send_new_message_ind(int n, uint8_t *buffer, uint32_t assoc_id,
-                                   uint16_t stream,
-                                   uint16_t instreams, uint16_t outstreams)
-{
-  MessageDef *message_p;
-
-  message_p = itti_alloc_new_message(TASK_SCTP, SCTP_DATA_IND);
-
-  SCTP_DATA_IND(message_p).buffer = malloc(sizeof(uint8_t) * n);
-
-  memcpy((void *)SCTP_DATA_IND(message_p).buffer, (void *)buffer, n);
-
-  SCTP_DATA_IND(message_p).stream     = stream;
-  SCTP_DATA_IND(message_p).buf_length = n;
-  SCTP_DATA_IND(message_p).assoc_id   = assoc_id;
-  SCTP_DATA_IND(message_p).instreams  = instreams;
-  SCTP_DATA_IND(message_p).outstreams = outstreams;
-
-  return itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
-}
-
-int sctp_itti_send_com_down_ind(uint32_t assoc_id)
-{
-  MessageDef *message_p;
-  sctp_close_association_t *sctp_close_association_p;
-
-  message_p = itti_alloc_new_message(TASK_SCTP, SCTP_CLOSE_ASSOCIATION);
-
-  sctp_close_association_p = &message_p->ittiMsg.sctp_close_association;
-
-  sctp_close_association_p->assoc_id = assoc_id;
-
-  return itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
-}
diff --git a/openair-cn/SCTP/sctp_itti_messaging.h b/openair-cn/SCTP/sctp_itti_messaging.h
deleted file mode 100644
index 69f06cb5effd42d3837ad05ee39a2428ed4f838a..0000000000000000000000000000000000000000
--- a/openair-cn/SCTP/sctp_itti_messaging.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef SCTP_ITTI_MESSAGING_H_
-#define SCTP_ITTI_MESSAGING_H_
-
-int sctp_itti_send_new_association(uint32_t assoc_id, uint16_t instreams,
-                                   uint16_t outstreams);
-
-int sctp_itti_send_new_message_ind(int n, uint8_t *buffer, uint32_t assoc_id,
-                                   uint16_t stream,
-                                   uint16_t instreams, uint16_t outstreams);
-
-int sctp_itti_send_com_down_ind(uint32_t assoc_id);
-
-#endif /* SCTP_ITTI_MESSAGING_H_ */
diff --git a/openair-cn/SCTP/sctp_primitives_client.c b/openair-cn/SCTP/sctp_primitives_client.c
index b10848898d26d68105c36000bd7ba30ccb364639..762629d405303c3193099326fc885bf740078604 100644
--- a/openair-cn/SCTP/sctp_primitives_client.c
+++ b/openair-cn/SCTP/sctp_primitives_client.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SCTP/sctp_primitives_client.h b/openair-cn/SCTP/sctp_primitives_client.h
index 37d55ecb9f6a9e5e696e92bdff5e3fe7e9549615..89cf9f1db21b823f6b31c0b6e2cb1a319c4ab9e9 100644
--- a/openair-cn/SCTP/sctp_primitives_client.h
+++ b/openair-cn/SCTP/sctp_primitives_client.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SCTP/sctp_primitives_server.c b/openair-cn/SCTP/sctp_primitives_server.c
deleted file mode 100644
index 654d0b6f4d25616689b062dbe2b2c1cf06921bb0..0000000000000000000000000000000000000000
--- a/openair-cn/SCTP/sctp_primitives_server.c
+++ /dev/null
@@ -1,697 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file sctp_primitives_server.c
- *  \brief Main server primitives
- *  \author Sebastien ROUX
- *  \date 2013
- *  \version 1.0
- *  @ingroup _sctp
- */
-
-#include <pthread.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-
-#include <sys/types.h>
-#include <sys/socket.h>
-
-#include <netinet/in.h>
-#include <netinet/sctp.h>
-
-#include <arpa/inet.h>
-
-#include "assertions.h"
-
-#include "intertask_interface.h"
-#include "sctp_primitives_server.h"
-#include "mme_config.h"
-#include "conversions.h"
-
-#include "sctp_common.h"
-#include "sctp_itti_messaging.h"
-#include "msc.h"
-
-#define SCTP_DUMP_LIST
-
-#define SCTP_RC_ERROR       -1
-#define SCTP_RC_NORMAL_READ  0
-#define SCTP_RC_DISCONNECT   1
-
-struct sctp_association_s {
-  struct sctp_association_s *next_assoc;       ///< Next association in the list
-  struct sctp_association_s *previous_assoc;   ///< Previous association in the list
-  int      sd;            ///< Socket descriptor
-  uint32_t ppid;          ///< Payload protocol Identifier
-  uint16_t instreams;     ///< Number of input streams negociated for this connection
-  uint16_t outstreams;    ///< Number of output strams negotiated for this connection
-  int32_t  assoc_id;      ///< SCTP association id for the connection
-  uint32_t messages_recv; ///< Number of messages received on this connection
-  uint32_t messages_sent; ///< Number of messages sent on this connection
-
-  struct   sockaddr *peer_addresses;   ///< A list of peer addresses
-  int      nb_peer_addresses;
-};
-
-struct sctp_descriptor_s {
-  // List of connected peers
-  struct sctp_association_s *available_connections_head;
-  struct sctp_association_s *available_connections_tail;
-
-  uint32_t number_of_connections;
-  uint16_t nb_instreams;
-  uint16_t nb_outstreams;
-};
-
-struct sctp_arg_s {
-  int      sd;
-  uint32_t ppid;
-};
-
-static struct sctp_descriptor_s sctp_desc;
-
-// Thread used to handle sctp messages
-static pthread_t assoc_thread;
-
-// LOCAL FUNCTIONS prototypes
-void *sctp_receiver_thread(void *args_p);
-static int sctp_send_msg(int32_t sctp_assoc_id, uint16_t stream,
-                         const uint8_t *buffer, const uint32_t length);
-
-// Association list related local functions prototypes
-static struct sctp_association_s *sctp_is_assoc_in_list(int32_t assoc_id);
-static struct sctp_association_s *sctp_add_new_peer(void);
-static int sctp_handle_com_down(uint32_t assoc_id);
-static void sctp_dump_list(void);
-
-static struct sctp_association_s *sctp_add_new_peer(void)
-{
-  struct sctp_association_s *new_sctp_descriptor = NULL;
-
-  new_sctp_descriptor = calloc(1, sizeof(struct sctp_association_s));
-
-  if (new_sctp_descriptor == NULL) {
-    SCTP_ERROR("Failed to allocate memory for new peer (%s:%d)\n",
-               __FILE__, __LINE__);
-    return NULL;
-  }
-
-  new_sctp_descriptor->next_assoc = NULL;
-  new_sctp_descriptor->previous_assoc = NULL;
-
-  if (sctp_desc.available_connections_tail == NULL) {
-    sctp_desc.available_connections_head = new_sctp_descriptor;
-    sctp_desc.available_connections_tail = sctp_desc.available_connections_head;
-  } else {
-    new_sctp_descriptor->previous_assoc = sctp_desc.available_connections_tail;
-    sctp_desc.available_connections_tail->next_assoc = new_sctp_descriptor;
-    sctp_desc.available_connections_tail = new_sctp_descriptor;
-  }
-
-  sctp_desc.number_of_connections++;
-
-  sctp_dump_list();
-
-  return new_sctp_descriptor;
-}
-
-static struct sctp_association_s *sctp_is_assoc_in_list(int32_t assoc_id)
-{
-  struct sctp_association_s *assoc_desc;
-
-  if (assoc_id < 0) {
-    return NULL;
-  }
-
-  for (assoc_desc = sctp_desc.available_connections_head;
-       assoc_desc;
-       assoc_desc = assoc_desc->next_assoc) {
-    if (assoc_desc->assoc_id == assoc_id) {
-      break;
-    }
-  }
-
-  return assoc_desc;
-}
-
-static int sctp_remove_assoc_from_list(int32_t assoc_id)
-{
-  struct sctp_association_s *assoc_desc;
-
-  /* Association not in the list */
-  if ((assoc_desc = sctp_is_assoc_in_list(assoc_id)) == NULL) {
-    return -1;
-  }
-
-  if (assoc_desc->next_assoc == NULL) {
-    if (assoc_desc->previous_assoc == NULL) {
-      /* Head and tail */
-      sctp_desc.available_connections_head = sctp_desc.available_connections_tail = NULL;
-    } else {
-      /* Not head but tail */
-      sctp_desc.available_connections_tail = assoc_desc->previous_assoc;
-      assoc_desc->previous_assoc->next_assoc = NULL;
-    }
-  } else {
-    if (assoc_desc->previous_assoc == NULL) {
-      /* Head but not tail */
-      sctp_desc.available_connections_head = assoc_desc->next_assoc;
-      assoc_desc->next_assoc->previous_assoc = NULL;
-    } else {
-      /* Not head and not tail */
-      assoc_desc->previous_assoc->next_assoc = assoc_desc->next_assoc;
-      assoc_desc->next_assoc->previous_assoc = assoc_desc->previous_assoc;
-    }
-  }
-
-  free(assoc_desc);
-  assoc_desc = NULL;
-  sctp_desc.number_of_connections --;
-  return 0;
-}
-
-static void sctp_dump_assoc(struct sctp_association_s *sctp_assoc_p)
-{
-#if defined(SCTP_DUMP_LIST)
-  int i;
-
-  if (sctp_assoc_p == NULL) {
-    return;
-  }
-
-  SCTP_DEBUG("sd           : %d\n", sctp_assoc_p->sd);
-  SCTP_DEBUG("input streams: %d\n", sctp_assoc_p->instreams);
-  SCTP_DEBUG("out streams  : %d\n", sctp_assoc_p->outstreams);
-  SCTP_DEBUG("assoc_id     : %d\n", sctp_assoc_p->assoc_id);
-  SCTP_DEBUG("peer address :\n");
-
-  for (i = 0; i < sctp_assoc_p->nb_peer_addresses; i++) {
-    char address[40];
-
-    memset(address, 0, sizeof(address));
-
-    if (inet_ntop(sctp_assoc_p->peer_addresses[i].sa_family,
-                  sctp_assoc_p->peer_addresses[i].sa_data, address, sizeof(address)) != NULL) {
-      SCTP_DEBUG("    - [%s]\n", address);
-    }
-  }
-
-#else
-  sctp_assoc_p = sctp_assoc_p;
-#endif
-}
-
-static void sctp_dump_list(void)
-{
-#if defined(SCTP_DUMP_LIST)
-  struct sctp_association_s *sctp_assoc_p;
-
-  sctp_assoc_p = sctp_desc.available_connections_head;
-
-  SCTP_DEBUG("SCTP list contains %d associations\n", sctp_desc.number_of_connections);
-
-  while (sctp_assoc_p != NULL) {
-    sctp_dump_assoc(sctp_assoc_p);
-    sctp_assoc_p = sctp_assoc_p->next_assoc;
-  }
-
-#else
-  sctp_dump_assoc(NULL);
-#endif
-}
-
-static int sctp_send_msg(int32_t sctp_assoc_id, uint16_t stream,
-                         const uint8_t *buffer, const uint32_t length)
-{
-  struct sctp_association_s *assoc_desc = NULL;
-
-  DevAssert(buffer != NULL);
-
-  if ((assoc_desc = sctp_is_assoc_in_list(sctp_assoc_id)) == NULL) {
-    SCTP_DEBUG("This assoc id has not been fount in list (%d)\n",
-               sctp_assoc_id);
-    return -1;
-  }
-
-  if (assoc_desc->sd == -1) {
-    /* The socket is invalid may be closed.
-     */
-    return -1;
-  }
-
-  SCTP_DEBUG("[%d][%d] Sending buffer %p of %d bytes on stream %d with ppid %d\n",
-             assoc_desc->sd, sctp_assoc_id, buffer,
-             length, stream, assoc_desc->ppid);
-
-  /* Send message_p on specified stream of the sd association */
-  if (sctp_sendmsg(assoc_desc->sd,
-                   (const void *)buffer,
-                   length,
-                   NULL,
-                   0,
-                   assoc_desc->ppid, 0, stream, 0, 0) < 0) {
-    SCTP_ERROR("send: %s:%d", strerror(errno), errno);
-    return -1;
-  }
-
-  assoc_desc->messages_sent++;
-
-  SCTP_DEBUG("Successfully sent %d bytes on stream %d\n", length, stream);
-
-  return 0;
-}
-
-static int sctp_create_new_listener(SctpInit *init_p)
-{
-  struct sctp_event_subscribe event;
-  struct sockaddr *addr;
-
-  struct sctp_arg_s *sctp_arg_p;
-
-  uint16_t i = 0, j;
-  int sd;
-  int used_addresses = 0;
-
-  DevAssert(init_p != NULL);
-
-  if (init_p->ipv4 == 0 && init_p->ipv6 == 0) {
-    SCTP_ERROR("Illegal IP configuration upper layer should request at"
-               "least ipv4 and/or ipv6 config\n");
-    return -1;
-  }
-
-  if ((used_addresses = init_p->nb_ipv4_addr + init_p->nb_ipv6_addr) == 0) {
-    SCTP_WARN("No address provided...\n");
-    return -1;
-  }
-
-  addr = calloc(used_addresses, sizeof(struct sockaddr));
-
-  SCTP_DEBUG("Creating new listen socket on port %u with\n", init_p->port);
-
-  if (init_p->ipv4 == 1) {
-    struct sockaddr_in *ip4_addr;
-
-    SCTP_DEBUG("ipv4 addresses:\n");
-
-    for (i = 0; i < init_p->nb_ipv4_addr; i++) {
-      SCTP_DEBUG("\t- "IPV4_ADDR"\n",
-                 IPV4_ADDR_FORMAT(init_p->ipv4_address[i]));
-      ip4_addr = (struct sockaddr_in *)&addr[i];
-      ip4_addr->sin_family = AF_INET;
-      ip4_addr->sin_port   = htons(init_p->port);
-      ip4_addr->sin_addr.s_addr = init_p->ipv4_address[i];
-    }
-  }
-
-  if (init_p->ipv6 == 1) {
-    struct sockaddr_in6 *ip6_addr;
-
-    SCTP_DEBUG("ipv6 addresses:\n");
-
-    for (j = 0; j < init_p->nb_ipv6_addr; j++) {
-      SCTP_DEBUG("\t- %s\n", init_p->ipv6_address[j]);
-      ip6_addr = (struct sockaddr_in6 *)&addr[i + j];
-      ip6_addr->sin6_family = AF_INET6;
-      ip6_addr->sin6_port  = htons(init_p->port);
-
-      if (inet_pton(AF_INET6, init_p->ipv6_address[j],
-                    ip6_addr->sin6_addr.s6_addr) <= 0) {
-        SCTP_WARN("Provided ipv6 address %s is not valid\n",
-                  init_p->ipv6_address[j]);
-      }
-    }
-  }
-
-  if ((sd = socket(AF_INET6, SOCK_STREAM, IPPROTO_SCTP)) < 0) {
-    SCTP_ERROR("socket: %s:%d\n", strerror(errno), errno);
-    return -1;
-  }
-
-  memset((void *)&event, 1, sizeof(struct sctp_event_subscribe));
-
-  if (setsockopt(sd, IPPROTO_SCTP, SCTP_EVENTS, &event,
-                 sizeof(struct sctp_event_subscribe)) < 0) {
-    SCTP_ERROR("setsockopt: %s:%d\n", strerror(errno), errno);
-    return -1;
-  }
-
-  /* Some pre-bind socket configuration */
-  if (sctp_set_init_opt(sd, sctp_desc.nb_instreams, sctp_desc.nb_outstreams,
-                        0, 0) < 0) {
-    goto err;
-  }
-
-  if (sctp_bindx(sd, addr, used_addresses, SCTP_BINDX_ADD_ADDR) != 0) {
-    SCTP_ERROR("sctp_bindx: %s:%d\n", strerror(errno), errno);
-    return -1;
-  }
-
-  if (listen(sd, 5) < 0) {
-    SCTP_ERROR("listen: %s:%d\n", strerror(errno), errno);
-    return -1;
-  }
-
-  if ((sctp_arg_p = malloc(sizeof(struct sctp_arg_s))) == NULL) {
-    return -1;
-  }
-
-  sctp_arg_p->sd = sd;
-  sctp_arg_p->ppid = init_p->ppid;
-
-  if (pthread_create(&assoc_thread, NULL, &sctp_receiver_thread,
-                     (void *)sctp_arg_p) < 0) {
-    SCTP_ERROR("pthread_create: %s:%d\n", strerror(errno), errno);
-    return -1;
-  }
-
-  return sd;
-err:
-
-  if (sd != -1) {
-    close(sd);
-    sd = -1;
-  }
-
-  return -1;
-}
-
-static
-inline int sctp_read_from_socket(int sd, int ppid)
-{
-  int flags = 0, n;
-  socklen_t from_len;
-  struct sctp_sndrcvinfo sinfo;
-
-  struct sockaddr_in addr;
-  uint8_t buffer[SCTP_RECV_BUFFER_SIZE];
-
-  if (sd < 0) {
-    return -1;
-  }
-
-  memset((void *)&addr, 0, sizeof(struct sockaddr_in));
-  from_len = (socklen_t)sizeof(struct sockaddr_in);
-  memset((void *)&sinfo, 0, sizeof(struct sctp_sndrcvinfo));
-  n = sctp_recvmsg(sd, (void *)buffer, SCTP_RECV_BUFFER_SIZE,
-                   (struct sockaddr *)&addr, &from_len,
-                   &sinfo, &flags);
-
-  if (n < 0) {
-    SCTP_DEBUG("An error occured during read\n");
-    SCTP_ERROR("sctp_recvmsg: %s:%d\n", strerror(errno), errno);
-    return SCTP_RC_ERROR;
-  }
-
-  if (flags & MSG_NOTIFICATION) {
-    union sctp_notification *snp;
-    snp = (union sctp_notification *)buffer;
-
-    /* Client deconnection */
-    if (SCTP_SHUTDOWN_EVENT == snp->sn_header.sn_type) {
-      SCTP_DEBUG("SCTP_SHUTDOWN_EVENT received\n");
-      return sctp_handle_com_down(snp->sn_shutdown_event.sse_assoc_id);
-    }
-    /* Association has changed. */
-    else if (SCTP_ASSOC_CHANGE == snp->sn_header.sn_type) {
-      struct sctp_assoc_change *sctp_assoc_changed;
-      sctp_assoc_changed = &snp->sn_assoc_change;
-
-      SCTP_DEBUG("Client association changed: %d\n", sctp_assoc_changed->sac_state);
-
-      /* New physical association requested by a peer */
-      switch (sctp_assoc_changed->sac_state) {
-      case SCTP_COMM_UP: {
-        struct sctp_association_s *new_association;
-
-        sctp_get_sockinfo(sd, NULL, NULL, NULL);
-
-        SCTP_DEBUG("New connection\n");
-
-        if ((new_association = sctp_add_new_peer()) == NULL) {
-          // TODO: handle this case
-          DevMessage("Unexpected error...\n");
-          return SCTP_RC_ERROR;
-        } else {
-          new_association->sd         = sd;
-          new_association->ppid       = ppid;
-          new_association->instreams  = sctp_assoc_changed->sac_inbound_streams;
-          new_association->outstreams = sctp_assoc_changed->sac_outbound_streams;
-          new_association->assoc_id   = sctp_assoc_changed->sac_assoc_id;
-
-          sctp_get_localaddresses(sd, NULL, NULL);
-          sctp_get_peeraddresses(sd, &new_association->peer_addresses,
-                                 &new_association->nb_peer_addresses);
-
-          if (sctp_itti_send_new_association(
-                new_association->assoc_id, new_association->instreams,
-                new_association->outstreams) < 0) {
-            SCTP_ERROR("Failed to send message to S1AP\n");
-            return SCTP_RC_ERROR;
-          }
-        }
-      }
-      break;
-
-      default:
-        break;
-      }
-    }
-  } else {
-    /* Data payload received */
-    struct sctp_association_s *association;
-
-    if ((association = sctp_is_assoc_in_list(sinfo.sinfo_assoc_id)) == NULL) {
-      // TODO: handle this case
-      return SCTP_RC_ERROR;
-    }
-
-    association->messages_recv++;
-
-    if (ntohl(sinfo.sinfo_ppid) != association->ppid) {
-      /* Mismatch in Payload Protocol Identifier,
-       * may be we received unsollicited traffic from stack other than S1AP.
-       */
-      SCTP_ERROR("Received data from peer with unsollicited PPID %d, expecting %d\n",
-                 ntohl(sinfo.sinfo_ppid), association->ppid);
-      return SCTP_RC_ERROR;
-    }
-
-    SCTP_DEBUG("[%d][%d] Msg of length %d received from port %u, on stream %d, PPID %d\n",
-               sinfo.sinfo_assoc_id, sd, n, ntohs(addr.sin_port),
-               sinfo.sinfo_stream, ntohl(sinfo.sinfo_ppid));
-
-    sctp_itti_send_new_message_ind(n, buffer, sinfo.sinfo_assoc_id, sinfo.sinfo_stream,
-                                   association->instreams, association->outstreams);
-  }
-
-  return SCTP_RC_NORMAL_READ;
-}
-
-static int sctp_handle_com_down(uint32_t assoc_id)
-{
-  SCTP_DEBUG("Sending close connection for assoc_id %u\n", assoc_id);
-
-  if (sctp_itti_send_com_down_ind(assoc_id) < 0) {
-    SCTP_ERROR("Failed to send message to TASK_S1AP\n");
-  }
-
-  if (sctp_remove_assoc_from_list(assoc_id) < 0) {
-    SCTP_ERROR("Failed to find client in list\n");
-  }
-
-  return SCTP_RC_DISCONNECT;
-}
-
-void *sctp_receiver_thread(void *args_p)
-{
-  struct sctp_arg_s *sctp_arg_p;
-
-  /* maximum file descriptor number */
-  int fdmax, clientsock, i;
-  /* master file descriptor list */
-  fd_set master;
-  /* temp file descriptor list for select() */
-  fd_set read_fds;
-
-  if ((sctp_arg_p = (struct sctp_arg_s *)args_p) == NULL) {
-    pthread_exit(NULL);
-  }
-
-  /* clear the master and temp sets */
-  FD_ZERO(&master);
-  FD_ZERO(&read_fds);
-
-  FD_SET(sctp_arg_p->sd, &master);
-  fdmax = sctp_arg_p->sd; /* so far, it's this one*/
-  MSC_START_USE();
-
-  while(1) {
-
-    memcpy(&read_fds, &master, sizeof(master));
-
-    if (select(fdmax+1, &read_fds, NULL, NULL, NULL) == -1) {
-      SCTP_ERROR("[%d] Select() error: %s",
-                 sctp_arg_p->sd, strerror(errno));
-      free(args_p);
-      args_p = NULL;
-      pthread_exit(NULL);
-    }
-
-    for (i = 0; i <= fdmax; i++) {
-      if (FD_ISSET(i, &read_fds)) {
-        if (i == sctp_arg_p->sd) {
-          /* There is data to read on listener socket. This means we have to accept
-           * the connection.
-           */
-          if ((clientsock = accept(sctp_arg_p->sd, NULL, NULL)) < 0) {
-            SCTP_ERROR("[%d] accept: %s:%d\n", sctp_arg_p->sd, strerror(errno), errno);
-            free(args_p);
-            args_p = NULL;
-            pthread_exit(NULL);
-          } else {
-            FD_SET(clientsock, &master); /* add to master set */
-
-            if(clientsock > fdmax) {
-              /* keep track of the maximum */
-              fdmax = clientsock;
-            }
-          }
-        } else {
-          int ret;
-
-          /* Read from socket */
-          ret = sctp_read_from_socket(i, sctp_arg_p->ppid);
-
-          /* When the socket is disconnected we have to update
-           * the fd_set.
-           */
-          if (ret == SCTP_RC_DISCONNECT) {
-            /* Remove the socket from the FD set and update the max sd */
-            FD_CLR(i, &master);
-
-            if (i == fdmax) {
-              while (FD_ISSET(fdmax, &master) == FALSE)
-                fdmax -= 1;
-            }
-          }
-        }
-      }
-    }
-  }
-
-  free(args_p);
-  args_p = NULL;
-  return NULL;
-}
-
-static void *sctp_intertask_interface(void *args_p)
-{
-  itti_mark_task_ready(TASK_SCTP);
-  MSC_START_USE();
-
-  while(1) {
-    MessageDef *received_message_p;
-    itti_receive_msg(TASK_SCTP, &received_message_p);
-
-    switch (ITTI_MSG_ID(received_message_p)) {
-    case SCTP_INIT_MSG: {
-      SCTP_DEBUG("Received SCTP_INIT_MSG\n");
-
-      /* We received a new connection request */
-      if (sctp_create_new_listener(&received_message_p->ittiMsg.sctpInit) < 0) {
-        /* SCTP socket creation or bind failed... */
-        SCTP_ERROR("Failed to create new SCTP listener\n");
-      }
-    }
-    break;
-
-    case SCTP_CLOSE_ASSOCIATION: {
-
-    } break;
-
-    case SCTP_DATA_REQ: {
-      if (sctp_send_msg(SCTP_DATA_REQ(received_message_p).assocId,
-                        SCTP_DATA_REQ(received_message_p).stream,
-                        SCTP_DATA_REQ(received_message_p).buffer,
-                        SCTP_DATA_REQ(received_message_p).bufLen) < 0) {
-        SCTP_ERROR("Failed to send message over SCTP\n");
-      }
-    }
-    break;
-
-    case MESSAGE_TEST: {
-      //                 int i = 10000;
-      //                 while(i--);
-    } break;
-
-    case TERMINATE_MESSAGE: {
-      itti_exit_task();
-    }
-    break;
-
-    default: {
-      SCTP_DEBUG("Unkwnon message ID %d:%s\n",
-                 ITTI_MSG_ID(received_message_p),
-                 ITTI_MSG_NAME(received_message_p));
-    }
-    break;
-    }
-
-    itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), received_message_p);
-    received_message_p = NULL;
-  }
-
-  return NULL;
-}
-
-int sctp_init(const mme_config_t *mme_config_p)
-{
-  SCTP_DEBUG("Initializing SCTP task interface\n");
-
-  memset(&sctp_desc, 0, sizeof(struct sctp_descriptor_s));
-
-  /* Number of streams from configuration */
-  sctp_desc.nb_instreams  = mme_config_p->sctp_config.in_streams;
-  sctp_desc.nb_outstreams = mme_config_p->sctp_config.out_streams;
-
-  if (itti_create_task(TASK_SCTP, &sctp_intertask_interface,
-                       NULL) < 0) {
-    SCTP_ERROR("create task failed");
-    SCTP_DEBUG("Initializing SCTP task interface: FAILED\n");
-    return -1;
-  }
-
-  SCTP_DEBUG("Initializing SCTP task interface: DONE\n");
-  return 0;
-}
diff --git a/openair-cn/SCTP/sctp_primitives_server.h b/openair-cn/SCTP/sctp_primitives_server.h
deleted file mode 100644
index 60d3178dc904e02544776a16403c9ec7553043c3..0000000000000000000000000000000000000000
--- a/openair-cn/SCTP/sctp_primitives_server.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-/*! \file sctp_primitives_server.c
- *  \brief Main server primitives
- *  \author Sebastien ROUX
- *  \date 2013
- *  \version 1.0
- *  @ingroup _sctp
- *  @{
- */
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "mme_config.h"
-
-#if !defined(HAVE_LIBSCTP)
-# error "You must install libsctp-dev"
-#endif
-
-#include <netinet/in.h>
-#include <netinet/sctp.h>
-
-#ifndef SCTP_PRIMITIVES_SERVER_H_
-#define SCTP_PRIMITIVES_SERVER_H_
-
-/** \brief SCTP data received callback
- \param buffer pointer to buffer received
- \param length pointer to the length of buffer
- **/
-typedef void (*sctp_recv_callback)(uint8_t *buffer, uint32_t length);
-
-/** \brief SCTP Init function. Initialize SCTP layer
- \param mme_config The global MME configuration structure
- @returns -1 on error, 0 otherwise.
- **/
-int sctp_init(const mme_config_t *mme_config_p);
-
-#endif /* SCTP_PRIMITIVES_SERVER_H_ */
-
-/* @} */
diff --git a/openair-cn/SECU/Makefile.am b/openair-cn/SECU/Makefile.am
deleted file mode 100644
index 5fd67b18fed5156b4cd5948c4d1938ed6cf3c62b..0000000000000000000000000000000000000000
--- a/openair-cn/SECU/Makefile.am
+++ /dev/null
@@ -1,48 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AM_CFLAGS = @ADD_CFLAGS@ 	\
-	-I$(top_srcdir)/UTILS	\
-	-I$(top_srcdir)/INTERTASK_INTERFACE	\
-	-I$(top_srcdir)/COMMON
-
-noinst_LTLIBRARIES = libsecu.la
-
-libsecu_la_LDFLAGS = -all-static -lm
-libsecu_la_SOURCES = \
-	kdf.c	\
-	key_nas_deriver.c	\
-    nas_stream_eea1.c   \
-    nas_stream_eia1.c   \
-    nas_stream_eea2.c   \
-    nas_stream_eia2.c   \
-    rijndael.c   \
-    rijndael.h   \
-    snow3g.c   \
-    snow3g.h   \
-	secu_defs.h
\ No newline at end of file
diff --git a/openair-cn/SECU/Makefile.eNB b/openair-cn/SECU/Makefile.eNB
deleted file mode 100644
index cd8ba01189c3747dd90f3cd168f43e1b24d39369..0000000000000000000000000000000000000000
--- a/openair-cn/SECU/Makefile.eNB
+++ /dev/null
@@ -1,77 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-# include $(OPENAIR_TARGETS)/SIMU/USER/Makerules
-
-OUTDIR = .
-
-
-libsecu_OBJECTS = \
-	kdf.o				\
-    rijndael.o   \
-    snow3g.o   \
-    key_nas_deriver.o   \
-    nas_stream_eea1.o   \
-    nas_stream_eia1.o   \
-    nas_stream_eea2.o   \
-	nas_stream_eia2.o
-
-# pull in dependency info for *existing* .o files
--include $(OUTDIR)/*.d
-
-CFLAGS = \
-	-Wall           \
-	$(SECU_CFLAGS)  \
-	-DENB_MODE      \
-	-Werror=uninitialized   \
-	-Werror=implicit-function-declaration
-
-$(OUTDIR)/%.o : %.c
-	@echo "Compiling $<"
-	@if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi;
-	@$(CC) -c $(CFLAGS) -o $@ $<
-	@$(CC) -MM $(CFLAGS) $< > $(basename $@).d
-	@mv -f $(basename $@).d $(basename $@).d.tmp
-	@sed -e 's|.*:|$@:|' < $(basename $@).d.tmp > $(basename $@).d
-	@sed -e 's/.*://' -e 's/\\$$//' < $(basename $@).d.tmp | fmt -1 | \
-	sed -e 's/^ *//' -e 's/$$/:/' >> $(basename $@).d
-	@rm -f $(basename $@).d.tmp
-
-objsdir:
-	@if [ ! -d $(OUTDIR) ]; then mkdir -p $(OUTDIR); fi;
-
-$(OUTDIR)/libsecu.a: $(addprefix $(OUTDIR)/,$(libsecu_OBJECTS))
-	@echo Creating SECU archive
-	@$(AR) rcs $@ $(addprefix $(OUTDIR)/,$(libsecu_OBJECTS))
-
-clean:
-	@$(RM_F_V) $(OUTDIR)/*.o
-	@$(RM_F_V) $(OUTDIR)/*.d
-	@$(RM_F_V) $(OUTDIR)/libsecu.a
-
-cleanall: clean
diff --git a/openair-cn/SECU/kdf.c b/openair-cn/SECU/kdf.c
index 35066d0b6042798bf2b4b9333798b153c3b90d84..13bd680ccbce95cb57915f3f29a6a708bf705418 100644
--- a/openair-cn/SECU/kdf.c
+++ b/openair-cn/SECU/kdf.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/key_nas_deriver.c b/openair-cn/SECU/key_nas_deriver.c
index c5c9d2826640a5c72d8f893beedf354c46d1003f..6653d05ee7b9cd7539d5170b629e657cbfc0d4d2 100644
--- a/openair-cn/SECU/key_nas_deriver.c
+++ b/openair-cn/SECU/key_nas_deriver.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/key_nas_encryption.c b/openair-cn/SECU/key_nas_encryption.c
index 4aeba21dec10f161d7dec4dd1298901d8231a9a3..70e6ed6895fe07941feb8fcd5cad3a096ccb685e 100644
--- a/openair-cn/SECU/key_nas_encryption.c
+++ b/openair-cn/SECU/key_nas_encryption.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/nas_stream_eea1.c b/openair-cn/SECU/nas_stream_eea1.c
index d658f6ecc794a90c8e1a595808680f508ac5e63d..4b69ae823161bedb24f477f519fc3316b36c3907 100755
--- a/openair-cn/SECU/nas_stream_eea1.c
+++ b/openair-cn/SECU/nas_stream_eea1.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/nas_stream_eea2.c b/openair-cn/SECU/nas_stream_eea2.c
index 6a98beb011edf2e42a1e580d7277623d8c3a6243..25ef340f4e43b0f4c253e17b93949263a46b4fd1 100644
--- a/openair-cn/SECU/nas_stream_eea2.c
+++ b/openair-cn/SECU/nas_stream_eea2.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/nas_stream_eia1.c b/openair-cn/SECU/nas_stream_eia1.c
index 4442670e4851fe7767cf9165da000df8c0ee266e..a0712754f65b3ec2cdcbb56ea0723c5e60d861a3 100755
--- a/openair-cn/SECU/nas_stream_eia1.c
+++ b/openair-cn/SECU/nas_stream_eia1.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/nas_stream_eia2.c b/openair-cn/SECU/nas_stream_eia2.c
index 8300bb3a68cad7227083564e572f8aa2b109bb90..f1f64dd90aeef7131f06e723e21c118eaa866393 100644
--- a/openair-cn/SECU/nas_stream_eia2.c
+++ b/openair-cn/SECU/nas_stream_eia2.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/rijndael.h b/openair-cn/SECU/rijndael.h
index 23c06b2b50f3b4c44813c74d9ecef78bdb93b93e..8014e828eff9616dd1a524bb51fa3c79ec36dcd9 100644
--- a/openair-cn/SECU/rijndael.h
+++ b/openair-cn/SECU/rijndael.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/secu_defs.h b/openair-cn/SECU/secu_defs.h
index 50fcfc7a0ec8857b2ee09c2099037afd06ed9be6..0f27d8d30971519a25f9b8ec088b6ad00a196449 100644
--- a/openair-cn/SECU/secu_defs.h
+++ b/openair-cn/SECU/secu_defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/snow3g.c b/openair-cn/SECU/snow3g.c
index 6983f98ee02d9481c5417d79d9ce829b511e38ba..78184af9c1a74f82f6912e7e92eb5b5314f0fed3 100644
--- a/openair-cn/SECU/snow3g.c
+++ b/openair-cn/SECU/snow3g.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SECU/snow3g.h b/openair-cn/SECU/snow3g.h
index 71a86e17849190ff6584f015832770c942bf66db..d278db2dcf491e25d972aec9e93cc9e513a5adfb 100644
--- a/openair-cn/SECU/snow3g.h
+++ b/openair-cn/SECU/snow3g.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/SGW-LITE/COPYING b/openair-cn/SGW-LITE/COPYING
deleted file mode 100644
index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/SGW-LITE/Makefile.am b/openair-cn/SGW-LITE/Makefile.am
deleted file mode 100644
index 54a36c14c73d61ddfcd0b28499bb4df1ec0b0275..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/Makefile.am
+++ /dev/null
@@ -1,53 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AM_CFLAGS = @ADD_CFLAGS@ \
-	-I$(top_srcdir)/COMMON	\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-    -I$(top_srcdir)/INTERTASK_INTERFACE \
-    -I$(top_srcdir)/GTPV1-U \
-    -I$(top_srcdir)/MME_APP \
-    -I$(top_srcdir)/UTILS \
-    -I$(top_srcdir)/UTILS/HASHTABLE
-
-noinst_LTLIBRARIES = libsgw_lite.la
-libsgw_lite_la_LDFLAGS = -all-static -lconfig
-
-libsgw_lite_la_SOURCES=							\
-	spgw_config.c				spgw_config.h	\
-	s11_causes.c				s11_causes.h	\
-	sgw_lite_task.c								\
-	sgw_lite_handlers.c			sgw_lite_handlers.h	\
-	sgw_lite_context_manager.c	sgw_lite_context_manager.h \
-	sgw_lite.h	sgw_lite_defs.h	sgw_lite_ie_defs.h	\
-	pgw_lite_paa.c              pgw_lite_paa.h
diff --git a/openair-cn/SGW-LITE/pgw_lite_paa.c b/openair-cn/SGW-LITE/pgw_lite_paa.c
deleted file mode 100755
index 9a681162af28385e3fd19b20dc17526d7a07911c..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/pgw_lite_paa.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file pgw_lite_paa.c
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#include <stdint.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "intertask_interface.h"
-#include "assertions.h"
-#include "queue.h"
-
-#include "pgw_lite_paa.h"
-#include "sgw_lite_defs.h"
-#include "spgw_config.h"
-#include "sgw_lite.h"
-
-
-//#define PGW_LITE_FREE_ADDR_POOL_CONFIG 1
-
-extern pgw_app_t     pgw_app;
-
-
-// Load in PGW pool, configured PAA address pool
-void pgw_lite_load_pool_ip_addresses(void)
-{
-  struct pgw_lite_conf_ipv4_list_elm_s *conf_ipv4_p = NULL;
-  struct pgw_lite_ipv4_list_elm_s      *ipv4_p      = NULL;
-
-  struct pgw_lite_conf_ipv6_list_elm_s *conf_ipv6_p = NULL;
-  struct pgw_lite_ipv6_list_elm_s      *ipv6_p      = NULL;
-  char                                  print_buffer[INET6_ADDRSTRLEN];
-
-  STAILQ_INIT(&pgw_app.pgw_lite_ipv4_list_free);
-  STAILQ_INIT(&pgw_app.pgw_lite_ipv4_list_allocated);
-  STAILQ_INIT(&pgw_app.pgw_lite_ipv6_list_free);
-  STAILQ_INIT(&pgw_app.pgw_lite_ipv6_list_allocated);
-
-  STAILQ_FOREACH(conf_ipv4_p, &spgw_config.pgw_config.pgw_lite_ipv4_pool_list, ipv4_entries) {
-    ipv4_p = calloc(1, sizeof(struct pgw_lite_ipv4_list_elm_s));
-    ipv4_p->addr.s_addr = ntohl(conf_ipv4_p->addr.s_addr);
-    STAILQ_INSERT_TAIL(&pgw_app.pgw_lite_ipv4_list_free, ipv4_p, ipv4_entries);
-    //SPGW_APP_DEBUG("Loaded IPv4 PAA address in pool: %s\n",
-    //        inet_ntoa(conf_ipv4_p->addr));
-  }
-  STAILQ_FOREACH(conf_ipv6_p, &spgw_config.pgw_config.pgw_lite_ipv6_pool_list, ipv6_entries) {
-    ipv6_p = calloc(1, sizeof(struct pgw_lite_ipv6_list_elm_s));
-    ipv6_p->addr          = conf_ipv6_p->addr;
-    ipv6_p->prefix_len    = conf_ipv6_p->prefix_len;
-    ipv6_p->num_allocated = 0;
-    STAILQ_INSERT_TAIL(&pgw_app.pgw_lite_ipv6_list_free, ipv6_p, ipv6_entries);
-
-    if (inet_ntop(AF_INET6, &ipv6_p->addr, print_buffer, INET6_ADDRSTRLEN) == NULL) {
-      SPGW_APP_ERROR("Could not Load IPv6 PAA address in pool: %s\n", strerror(errno));
-    } /*else {
-
-            SPGW_APP_DEBUG("Loaded IPv6 PAA prefix in pool: %s\n",print_buffer);
-        }*/
-  }
-#if defined(PGW_LITE_FREE_ADDR_POOL_CONFIG)
-
-  while ((conf_ipv4_p = STAILQ_FIRST(&spgw_config.pgw_config.pgw_lite_ipv4_pool_list))) {
-    STAILQ_REMOVE_HEAD(&spgw_config.pgw_config.pgw_lite_ipv4_pool_list, ipv4_entries);
-    free(conf_ipv4_p);
-  }
-
-  while ((conf_ipv6_p = STAILQ_FIRST(&spgw_config.pgw_config.pgw_lite_ipv6_pool_list))) {
-    STAILQ_REMOVE_HEAD(&spgw_config.pgw_config.pgw_lite_ipv6_pool_list, ipv6_entries);
-    free(conf_ipv6_p);
-  }
-
-#endif
-
-}
-
-
-
-int pgw_lite_get_free_ipv4_paa_address(struct in_addr * const addr_pP)
-{
-  struct pgw_lite_ipv4_list_elm_s  *ipv4_p = NULL;
-
-  if (STAILQ_EMPTY(&pgw_app.pgw_lite_ipv4_list_free)) {
-    addr_pP->s_addr = INADDR_ANY;
-    return -1;
-  }
-
-  ipv4_p = STAILQ_FIRST(&pgw_app.pgw_lite_ipv4_list_free);
-  STAILQ_REMOVE(&pgw_app.pgw_lite_ipv4_list_free, ipv4_p, pgw_lite_ipv4_list_elm_s, ipv4_entries);
-  STAILQ_INSERT_TAIL(&pgw_app.pgw_lite_ipv4_list_allocated, ipv4_p, ipv4_entries);
-  addr_pP->s_addr = ipv4_p->addr.s_addr;
-  return 0;
-}
-
-int pgw_lite_release_free_ipv4_paa_address(const struct in_addr * const addr_pP)
-{
-  struct pgw_lite_ipv4_list_elm_s *ipv4_p = NULL;
-
-  STAILQ_FOREACH(ipv4_p, &pgw_app.pgw_lite_ipv4_list_allocated, ipv4_entries) {
-    if (ipv4_p->addr.s_addr ==  addr_pP->s_addr) {
-      STAILQ_REMOVE(&pgw_app.pgw_lite_ipv4_list_allocated, ipv4_p, pgw_lite_ipv4_list_elm_s, ipv4_entries);
-      STAILQ_INSERT_TAIL(&pgw_app.pgw_lite_ipv4_list_free, ipv4_p, ipv4_entries);
-      return 0;
-    }
-  }
-  return -1;
-}
-
-int pgw_lite_get_free_ipv6_paa_prefix(struct in6_addr * const addr_pP)
-{
-  struct pgw_lite_ipv6_list_elm_s  *ipv6_p = NULL;
-
-  if (STAILQ_EMPTY(&pgw_app.pgw_lite_ipv6_list_free)) {
-    *addr_pP = in6addr_any;
-    return -1;
-  }
-
-  ipv6_p = STAILQ_FIRST(&pgw_app.pgw_lite_ipv6_list_free);
-  ipv6_p->num_allocated += 1;
-  ipv6_p->num_free      -= 1;
-
-  if (ipv6_p->num_free == 0) {
-    STAILQ_REMOVE(&pgw_app.pgw_lite_ipv6_list_free, ipv6_p, pgw_lite_ipv6_list_elm_s, ipv6_entries);
-    STAILQ_INSERT_TAIL(&pgw_app.pgw_lite_ipv6_list_allocated, ipv6_p, ipv6_entries);
-  }
-
-  *addr_pP = ipv6_p->addr;
-  return 0;
-}
-
-int pgw_lite_release_free_ipv6_paa_prefix(const struct in6_addr * const addr_pP)
-{
-  struct pgw_lite_ipv6_list_elm_s *ipv6_p = NULL;
-
-  ipv6_p = STAILQ_FIRST(&pgw_app.pgw_lite_ipv6_list_free);
-
-  if (IN6_ARE_ADDR_EQUAL(&ipv6_p->addr, addr_pP)) {
-    ipv6_p->num_allocated -= 1;
-    ipv6_p->num_free      += 1;
-  }
-
-  STAILQ_FOREACH(ipv6_p, &pgw_app.pgw_lite_ipv6_list_allocated, ipv6_entries) {
-    if (IN6_ARE_ADDR_EQUAL(&ipv6_p->addr, addr_pP)) {
-      STAILQ_REMOVE(&pgw_app.pgw_lite_ipv6_list_allocated, ipv6_p, pgw_lite_ipv6_list_elm_s, ipv6_entries);
-      ipv6_p->num_allocated -= 1;
-      ipv6_p->num_free      += 1;
-      STAILQ_INSERT_TAIL(&pgw_app.pgw_lite_ipv6_list_free, ipv6_p, ipv6_entries);
-      return 0;
-    }
-  }
-  return -1;
-}
-
-
-
-
diff --git a/openair-cn/SGW-LITE/pgw_lite_paa.h b/openair-cn/SGW-LITE/pgw_lite_paa.h
deleted file mode 100755
index 0bab08514bc9bde761df314f6c1e580ca2095bed..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/pgw_lite_paa.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file pgw_lite_paa.h
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#ifndef PGW_LITE_PAA_H_
-#define PGW_LITE_PAA_H_
-
-void pgw_lite_load_pool_ip_addresses       (void);
-int pgw_lite_get_free_ipv4_paa_address     (struct in_addr * const addr_P);
-int pgw_lite_release_free_ipv4_paa_address (const struct in_addr * const addr_P);
-int pgw_lite_get_free_ipv6_paa_prefix      (struct in6_addr * const addr_pP);
-int pgw_lite_release_free_ipv6_paa_prefix  (const struct in6_addr * const addr_pP);
-
-#endif
diff --git a/openair-cn/SGW-LITE/s11_causes.c b/openair-cn/SGW-LITE/s11_causes.c
deleted file mode 100644
index b74d9bf9873a499fea985c92b4f9e1f81481154a..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/s11_causes.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file s11_causes.c
-* \brief
-* \author Sebastien ROUX, Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#define SGW_LITE
-#define S11_CAUSES_C
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-
-#include "s11_causes.h"
-#include "common_types.h"
-#include "sgw_lite_ie_defs.h"
-
-static const SGWCauseMapping_t causes[] = {
-  { LOCAL_DETACH,                "Local detach",                              0, 0, 0, 0 },
-  { COMPLETE_DETACH,             "Complete detach",                           0, 0, 0, 0 },
-  { RAT_CHANGE_3GPP_TO_NON_3GPP, "From 3GPP to non 3GPP RAT change",          0, 0, 0, 0 },
-  { ISR_DEACTIVATION,            "ISR deactivation",                          0, 0, 0, 0 },
-  { ERROR_IND_FROM_RNC_ENB_SGSN, "Error ind received from RNC/eNB/SGSN",      0, 0, 0, 0 },
-  { IMSI_DETACH_ONLY,            "IMSI detach only",                          0, 0, 0, 0 },
-  { REQUEST_ACCEPTED,            "Request accepted",                          1, 1, 1, 1 },
-  { REQUEST_ACCEPTED_PARTIALLY,  "Request accepted partially",                1, 1, 1, 0 },
-  { NEW_PDN_TYPE_NW_PREF,        "New PDN type network preference",           1, 0, 0, 0 },
-  { NEW_PDN_TYPE_SAB_ONLY,       "New PDN type single address bearer only",   1, 0, 0, 0 },
-  { CONTEXT_NOT_FOUND,           "Context not found",                         0, 1, 1, 1 },
-  { INVALID_MESSAGE_FORMAT,      "Invalid message format",                    1, 1, 1, 1 },
-  { INVALID_LENGTH,              "Invalid length",                            1, 1, 1, 0 },
-  { SERVICE_NOT_SUPPORTED,       "Service not supported",                     0, 0, 1, 0 },
-  { SYSTEM_FAILURE,              "System failure",                            1, 1, 1, 0 },
-  { NO_RESOURCES_AVAILABLE,      "No resources available",                    1, 0, 0, 0 },
-  { MISSING_OR_UNKNOWN_APN,      "Missing or unknown APN",                    1, 0, 0, 0 },
-  { GRE_KEY_NOT_FOUND,           "GRE KEY not found",                         1, 0, 0, 0 },
-  { DENIED_IN_RAT,               "Denied in RAT",                             1, 1, 0, 0 },
-  { UE_NOT_RESPONDING,           "UE not responding",                         0, 1, 0, 0 },
-  { SERVICE_DENIED,              "Service Denied",                            0, 0, 0, 0 },
-  { UNABLE_TO_PAGE_UE,           "Unable to page UE",                         0, 1, 0, 0 },
-  { NO_MEMORY_AVAILABLE,         "No memory available",                       1, 1, 1, 0 },
-  { REQUEST_REJECTED,            "Request rejected",                          1, 1, 1, 0 },
-  { INVALID_PEER,                "Invalid peer",                              0, 0, 0, 1 },
-  { TEMP_REJECT_HO_IN_PROGRESS,  "Temporarily rejected due to HO in progress",0, 0, 0, 0 },
-  { M_PDN_APN_NOT_ALLOWED,       "Multiple PDN for a given APN not allowed",  1, 0, 0, 0 },
-  { 0,                           NULL,                                        0, 0, 0, 0 },
-};
-
-static int compare_cause_id(const void *m1, const void *m2)
-{
-  struct SGWCauseMapping_e *scm1 = (struct SGWCauseMapping_e*)m1;
-  struct SGWCauseMapping_e *scm2 = (struct SGWCauseMapping_e*)m2;
-
-  return (scm1->value - scm2->value);
-}
-
-char *sgw_cause_2_string(uint8_t cause_value)
-{
-  SGWCauseMapping_t *res, key;
-  key.value = cause_value;
-  res = bsearch(&key, causes, sizeof(causes), sizeof(SGWCauseMapping_t), compare_cause_id);
-
-  if (res == NULL) {
-    return "Unknown cause";
-  } else {
-    return res->name;
-  }
-}
diff --git a/openair-cn/SGW-LITE/s11_causes.h b/openair-cn/SGW-LITE/s11_causes.h
deleted file mode 100644
index 2ae49d0cd7cffd7d20ce340ef7f7a5053a08de6c..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/s11_causes.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file s11_causes.h
-* \brief
-* \author Sebastien ROUX, Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#ifndef S11_CAUSES_H_
-#define S11_CAUSES_H_
-
-typedef struct SGWCauseMapping_e {
-  uint8_t value;
-  /* Displayable cause name */
-  char    *name;
-  /* Possible cause in message? */
-  unsigned create_session_response:1;
-  unsigned create_bearer_response:1;
-  unsigned modify_bearer_response:1;
-  unsigned delete_session_response:1;
-} SGWCauseMapping_t;
-
-char *sgw_cause_2_string(uint8_t cause_value);
-
-#endif /* S11_CAUSES_H_ */
diff --git a/openair-cn/SGW-LITE/sgw_lite.h b/openair-cn/SGW-LITE/sgw_lite.h
deleted file mode 100755
index d71db772573a53e68eaa3526c11912334eeae8a8..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/sgw_lite.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file sgw_lite.h
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-
-#ifndef SGW_LITE_H_
-#define SGW_LITE_H_
-#include <netinet/in.h>
-#include "hashtable.h"
-#include "tree.h"
-#include "commonDef.h"
-#include "common_types.h"
-#include "sgw_lite_context_manager.h"
-
-typedef struct sgw_app_s {
-
-  char     *sgw_interface_name_for_S1u_S12_S4_up;
-  uint32_t  sgw_ip_address_for_S1u_S12_S4_up;
-
-  char     *sgw_interface_name_for_S11_S4; // unused now
-  uint32_t  sgw_ip_address_for_S11_S4;    // unused now
-
-  uint32_t  sgw_ip_address_for_S5_S8_up; // unused now
-
-  // key is S11 S-GW local teid
-  hash_table_t *s11teid2mme_hashtable;
-
-  // key is S1-U S-GW local teid
-  hash_table_t *s1uteid2enb_hashtable;
-
-  // the key of this hashtable is the S11 s-gw local teid.
-  hash_table_t *s11_bearer_context_information_hashtable;
-
-
-} sgw_app_t;
-
-
-struct pgw_lite_ipv4_list_elm_s {
-  STAILQ_ENTRY(pgw_lite_ipv4_list_elm_s) ipv4_entries;
-  struct in_addr  addr;
-};
-
-
-struct pgw_lite_ipv6_list_elm_s {
-  STAILQ_ENTRY(pgw_lite_ipv6_list_elm_s) ipv6_entries;
-  struct in6_addr addr;
-  int             prefix_len;
-  int             num_allocated;
-  int             num_free;
-} ;
-
-
-typedef struct pgw_app_s {
-
-  STAILQ_HEAD(pgw_lite_ipv4_list_free_head_s,      pgw_lite_ipv4_list_elm_s) pgw_lite_ipv4_list_free;
-  STAILQ_HEAD(pgw_lite_ipv4_list_allocated_head_s, pgw_lite_ipv4_list_elm_s) pgw_lite_ipv4_list_allocated;
-
-  STAILQ_HEAD(pgw_lite_ipv6_list_free_head_s,      pgw_lite_ipv6_list_elm_s) pgw_lite_ipv6_list_free;
-  STAILQ_HEAD(pgw_lite_ipv6_list_allocated_head_s, pgw_lite_ipv6_list_elm_s) pgw_lite_ipv6_list_allocated;
-} pgw_app_t;
-
-#endif
-
diff --git a/openair-cn/SGW-LITE/sgw_lite_context_manager.c b/openair-cn/SGW-LITE/sgw_lite_context_manager.c
deleted file mode 100644
index 8f8fddea8c3f7eebb749de41fbc05f37bca5140a..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/sgw_lite_context_manager.c
+++ /dev/null
@@ -1,386 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file sgw_lite_context_manager.c
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#define SGW_LITE
-#define SGW_LITE_CONTEXT_MANAGER_C
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-
-#include "tree.h"
-#include "hashtable.h"
-
-#include "intertask_interface.h"
-#include "mme_config.h"
-#include "sgw_lite_defs.h"
-#include "sgw_lite_context_manager.h"
-#include "sgw_lite.h"
-
-extern sgw_app_t sgw_app;
-
-
-//-----------------------------------------------------------------------------
-static void sgw_lite_display_s11teid2mme_mapping(uint64_t keyP, void *dataP, void* unusedParameterP)
-//-----------------------------------------------------------------------------
-{
-  mme_sgw_tunnel_t * mme_sgw_tunnel= NULL;
-
-  if (dataP != NULL) {
-    mme_sgw_tunnel = (mme_sgw_tunnel_t *)dataP;
-    SPGW_APP_DEBUG("| %u\t<------------->\t%u\n", mme_sgw_tunnel->remote_teid, mme_sgw_tunnel->local_teid);
-  } else {
-    SPGW_APP_DEBUG("INVALID S11 TEID MAPPING FOUND\n");
-  }
-}
-//-----------------------------------------------------------------------------
-void sgw_lite_display_s11teid2mme_mappings(void)
-//-----------------------------------------------------------------------------
-{
-  SPGW_APP_DEBUG("+--------------------------------------+\n");
-  SPGW_APP_DEBUG("| MME <--- S11 TE ID MAPPINGS ---> SGW |\n");
-  SPGW_APP_DEBUG("+--------------------------------------+\n");
-  hashtable_apply_funct_on_elements(sgw_app.s11teid2mme_hashtable, sgw_lite_display_s11teid2mme_mapping, NULL);
-  SPGW_APP_DEBUG("+--------------------------------------+\n");
-}
-//-----------------------------------------------------------------------------
-static void sgw_lite_display_pdn_connection_sgw_eps_bearers(uint64_t keyP, void *dataP, void* unusedParameterP)
-//-----------------------------------------------------------------------------
-{
-  sgw_eps_bearer_entry_t *eps_bearer_entry = NULL;
-
-  if (dataP != NULL) {
-    eps_bearer_entry = (sgw_eps_bearer_entry_t *)dataP;
-    SPGW_APP_DEBUG("|\t\t\t\t%"PRId64"\t<-> ebi: %u, enb_teid_for_S1u: %u, s_gw_teid_for_S1u_S12_S4_up: %u (tbc)\n",
-                   keyP,
-                   eps_bearer_entry->eps_bearer_id,
-                   eps_bearer_entry->enb_teid_for_S1u,
-                   eps_bearer_entry->s_gw_teid_for_S1u_S12_S4_up);
-  } else {
-    SPGW_APP_DEBUG("\t\t\t\tINVALID eps_bearer_entry FOUND\n");
-  }
-}
-
-//-----------------------------------------------------------------------------
-static void sgw_lite_display_s11_bearer_context_information(uint64_t keyP, void *dataP, void* unusedParameterP)
-//-----------------------------------------------------------------------------
-{
-  s_plus_p_gw_eps_bearer_context_information_t * sp_context_information= NULL;
-  hashtable_rc_t                                   hash_rc;
-
-  if (dataP != NULL) {
-    sp_context_information = (s_plus_p_gw_eps_bearer_context_information_t *)dataP;
-    SPGW_APP_DEBUG("| KEY %"PRId64":      \n", keyP);
-    SPGW_APP_DEBUG("|\tsgw_eps_bearer_context_information:     |\n");
-    //Imsi_t               imsi;                           ///< IMSI (International Mobile Subscriber Identity) is the subscriber permanent identity.
-    SPGW_APP_DEBUG("|\t\timsi_unauthenticated_indicator:\t%u\n", sp_context_information->sgw_eps_bearer_context_information.imsi_unauthenticated_indicator);
-    //char                 msisdn[MSISDN_LENGTH];          ///< The basic MSISDN of the UE. The presence is dictated by its storage in the HSS.
-    SPGW_APP_DEBUG("|\t\tmme_teid_for_S11:              \t%u\n", sp_context_information->sgw_eps_bearer_context_information.mme_teid_for_S11);
-    //ip_address_t         mme_ip_address_for_S11;         ///< MME IP address the S11 interface.
-    SPGW_APP_DEBUG("|\t\ts_gw_teid_for_S11_S4:          \t%u\n", sp_context_information->sgw_eps_bearer_context_information.s_gw_teid_for_S11_S4);
-    //ip_address_t         s_gw_ip_address_for_S11_S4;     ///< S-GW IP address for the S11 interface and the S4 Interface (control plane).
-    //cgi_t                last_known_cell_Id;             ///< This is the last location of the UE known by the network
-
-    SPGW_APP_DEBUG("|\t\tpdn_connection:\n");
-    SPGW_APP_DEBUG("|\t\t\tapn_in_use:        %s\n", sp_context_information->sgw_eps_bearer_context_information.pdn_connection.apn_in_use);
-    SPGW_APP_DEBUG("|\t\t\tdefault_bearer:    %u\n", sp_context_information->sgw_eps_bearer_context_information.pdn_connection.default_bearer);
-    SPGW_APP_DEBUG("|\t\t\teps_bearers:\n");
-
-    hash_rc = hashtable_apply_funct_on_elements(sp_context_information->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers,
-              sgw_lite_display_pdn_connection_sgw_eps_bearers,
-              NULL);
-
-    if (hash_rc != HASH_TABLE_OK) {
-      SPGW_APP_DEBUG("Invalid sgw_eps_bearers hashtable for display\n");
-    }
-
-    //void                  *trxn;
-    //uint32_t               peer_ip;
-  } else {
-    SPGW_APP_DEBUG("INVALID s_plus_p_gw_eps_bearer_context_information FOUND\n");
-  }
-}
-//-----------------------------------------------------------------------------
-void sgw_lite_display_s11_bearer_context_information_mapping(void)
-//-----------------------------------------------------------------------------
-{
-  SPGW_APP_DEBUG("+-----------------------------------------+\n");
-  SPGW_APP_DEBUG("| S11 BEARER CONTEXT INFORMATION MAPPINGS |\n");
-  SPGW_APP_DEBUG("+-----------------------------------------+\n");
-  hashtable_apply_funct_on_elements(sgw_app.s11_bearer_context_information_hashtable, sgw_lite_display_s11_bearer_context_information, NULL);
-  SPGW_APP_DEBUG("+--------------------------------------+\n");
-}
-//-----------------------------------------------------------------------------
-void pgw_lite_cm_free_apn(pgw_apn_t *apnP)
-//-----------------------------------------------------------------------------
-{
-  if (apnP != NULL) {
-    if (apnP->pdn_connections != NULL) {
-      obj_hashtable_destroy(apnP->pdn_connections);
-    }
-  }
-}
-//-----------------------------------------------------------------------------
-Teid_t sgw_lite_get_new_S11_tunnel_id(void)
-//-----------------------------------------------------------------------------
-{
-  // TO DO: RANDOM
-  static Teid_t tunnel_id = 0;
-  tunnel_id += 1;
-  return tunnel_id;
-}
-
-//-----------------------------------------------------------------------------
-mme_sgw_tunnel_t *sgw_lite_cm_create_s11_tunnel(Teid_t remote_teid, Teid_t local_teid)
-//-----------------------------------------------------------------------------
-{
-
-  mme_sgw_tunnel_t *new_tunnel;
-
-  new_tunnel = malloc(sizeof(mme_sgw_tunnel_t));
-
-  if (new_tunnel == NULL) {
-    /* Malloc failed, may be ENOMEM error */
-    SPGW_APP_ERROR("Failed to create tunnel for remote_teid %u\n", remote_teid);
-    return NULL;
-  }
-
-  new_tunnel->remote_teid = remote_teid;
-  new_tunnel->local_teid  = local_teid;
-
-  /* Trying to insert the new tunnel into the tree.
-   * If collision_p is not NULL (0), it means tunnel is already present.
-   */
-  hashtable_insert(sgw_app.s11teid2mme_hashtable, local_teid, new_tunnel);
-
-  return new_tunnel;
-}
-
-//-----------------------------------------------------------------------------
-int sgw_lite_cm_remove_s11_tunnel(Teid_t local_teid)
-//-----------------------------------------------------------------------------
-{
-  int  temp;
-
-  temp = hashtable_remove(sgw_app.s11teid2mme_hashtable, local_teid);
-
-  return temp;
-}
-
-//-----------------------------------------------------------------------------
-sgw_eps_bearer_entry_t * sgw_lite_cm_create_eps_bearer_entry(void)
-//-----------------------------------------------------------------------------
-{
-  sgw_eps_bearer_entry_t *eps_bearer_entry;
-
-  eps_bearer_entry = malloc(sizeof(sgw_eps_bearer_entry_t));
-
-  if (eps_bearer_entry == NULL) {
-    /* Malloc failed, may be ENOMEM error */
-    SPGW_APP_ERROR("Failed to create new EPS bearer object\n");
-    return NULL;
-  }
-
-  return eps_bearer_entry;
-}
-
-
-//-----------------------------------------------------------------------------
-sgw_pdn_connection_t * sgw_lite_cm_create_pdn_connection(void)
-//-----------------------------------------------------------------------------
-{
-  sgw_pdn_connection_t *pdn_connection;
-
-  pdn_connection = malloc(sizeof(sgw_pdn_connection_t));
-
-  if (pdn_connection == NULL) {
-    /* Malloc failed, may be ENOMEM error */
-    SPGW_APP_ERROR("Failed to create new PDN connection object\n");
-    return NULL;
-  }
-
-  memset(pdn_connection, 0, sizeof(sgw_pdn_connection_t));
-
-  pdn_connection->sgw_eps_bearers = hashtable_create(12, NULL, NULL);
-
-  if ( pdn_connection->sgw_eps_bearers == NULL) {
-    SPGW_APP_ERROR("Failed to create eps bearers collection object\n");
-    free(pdn_connection);
-    pdn_connection = NULL;
-    return NULL;
-  }
-
-  return pdn_connection;
-}
-//-----------------------------------------------------------------------------
-void sgw_lite_cm_free_pdn_connection(sgw_pdn_connection_t *pdn_connectionP)
-//-----------------------------------------------------------------------------
-{
-  if (pdn_connectionP != NULL) {
-    if (pdn_connectionP->sgw_eps_bearers != NULL) {
-      hashtable_destroy(pdn_connectionP->sgw_eps_bearers);
-    }
-  }
-}
-//-----------------------------------------------------------------------------
-void sgw_lite_cm_free_s_plus_p_gw_eps_bearer_context_information(s_plus_p_gw_eps_bearer_context_information_t *contextP)
-//-----------------------------------------------------------------------------
-{
-  if (contextP == NULL) {
-    return;
-  }
-
-  /*if (contextP->sgw_eps_bearer_context_information.pdn_connections != NULL) {
-    obj_hashtable_destroy(contextP->sgw_eps_bearer_context_information.pdn_connections);
-  }*/
-  if (contextP->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers != NULL) {
-    hashtable_destroy(contextP->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers);
-  }
-
-  if (contextP->pgw_eps_bearer_context_information.apns != NULL) {
-    obj_hashtable_destroy(contextP->pgw_eps_bearer_context_information.apns);
-  }
-
-  free(contextP);
-}
-
-//-----------------------------------------------------------------------------
-s_plus_p_gw_eps_bearer_context_information_t * sgw_lite_cm_create_bearer_context_information_in_collection(Teid_t teid)
-//-----------------------------------------------------------------------------
-{
-  s_plus_p_gw_eps_bearer_context_information_t *new_bearer_context_information;
-
-  new_bearer_context_information = malloc(sizeof(s_plus_p_gw_eps_bearer_context_information_t));
-
-  if (new_bearer_context_information == NULL) {
-    /* Malloc failed, may be ENOMEM error */
-    SPGW_APP_ERROR("Failed to create new bearer context information object for S11 remote_teid %u\n", teid);
-    return NULL;
-  }
-
-  memset(new_bearer_context_information, 0, sizeof(s_plus_p_gw_eps_bearer_context_information_t));
-  SPGW_APP_DEBUG("sgw_lite_cm_create_bearer_context_information_in_collection %d\n", teid);
-
-  /*new_bearer_context_information->sgw_eps_bearer_context_information.pdn_connections = obj_hashtable_create(32, NULL, NULL, sgw_lite_cm_free_pdn_connection);
-
-  if ( new_bearer_context_information->sgw_eps_bearer_context_information.pdn_connections == NULL) {
-      SPGW_APP_ERROR("Failed to create PDN connections collection object entry for EPS bearer teid %u \n", teid);
-      sgw_lite_cm_free_s_plus_p_gw_eps_bearer_context_information(new_bearer_context_information);
-      return NULL;
-  }*/
-
-  new_bearer_context_information->pgw_eps_bearer_context_information.apns = obj_hashtable_create(32, NULL, NULL, pgw_lite_cm_free_apn);
-
-  if ( new_bearer_context_information->pgw_eps_bearer_context_information.apns == NULL) {
-    SPGW_APP_ERROR("Failed to create APN collection object entry for EPS bearer S11 teid %u \n", teid);
-    sgw_lite_cm_free_s_plus_p_gw_eps_bearer_context_information(new_bearer_context_information);
-    return NULL;
-  }
-
-  /* Trying to insert the new tunnel into the tree.
-   * If collision_p is not NULL (0), it means tunnel is already present.
-   */
-  hashtable_insert(sgw_app.s11_bearer_context_information_hashtable, teid, new_bearer_context_information);
-  SPGW_APP_DEBUG("Added new s_plus_p_gw_eps_bearer_context_information_t in s11_bearer_context_information_hashtable key teid %u\n", teid);
-
-  return new_bearer_context_information;
-}
-
-int sgw_lite_cm_remove_bearer_context_information(Teid_t teid)
-{
-  int temp;
-  temp = hashtable_remove(sgw_app.s11_bearer_context_information_hashtable, teid);
-  return temp;
-}
-
-//--- EPS Bearer Entry
-
-//-----------------------------------------------------------------------------
-sgw_eps_bearer_entry_t * sgw_lite_cm_create_eps_bearer_entry_in_collection(hash_table_t *eps_bearersP, ebi_t eps_bearer_idP)
-//-----------------------------------------------------------------------------
-{
-  sgw_eps_bearer_entry_t *new_eps_bearer_entry;
-  hashtable_rc_t            hash_rc = HASH_TABLE_OK;
-
-  if (eps_bearersP == NULL) {
-    SPGW_APP_ERROR("Failed to create EPS bearer entry for EPS bearer id %u. reason eps bearer hashtable is NULL \n", eps_bearer_idP);
-    return NULL;
-  }
-
-  new_eps_bearer_entry = malloc(sizeof(sgw_eps_bearer_entry_t));
-
-  if (new_eps_bearer_entry == NULL) {
-    /* Malloc failed, may be ENOMEM error */
-    SPGW_APP_ERROR("Failed to create EPS bearer entry for EPS bearer id %u \n", eps_bearer_idP);
-    return NULL;
-  }
-
-  memset(new_eps_bearer_entry, 0, sizeof(sgw_eps_bearer_entry_t));
-
-  new_eps_bearer_entry->eps_bearer_id = eps_bearer_idP;
-
-  hash_rc = hashtable_insert(eps_bearersP, eps_bearer_idP, new_eps_bearer_entry);
-  SPGW_APP_DEBUG("Inserted new EPS bearer entry for EPS bearer id %u status %s\n", eps_bearer_idP, hashtable_rc_code2string(hash_rc));
-
-  hash_rc = hashtable_apply_funct_on_elements(eps_bearersP,
-            sgw_lite_display_pdn_connection_sgw_eps_bearers,
-            NULL);
-
-  if (hash_rc != HASH_TABLE_OK) {
-    SPGW_APP_DEBUG("Invalid sgw_eps_bearers hashtable for display\n");
-  }
-
-  /* CHECK DUPLICATES IN HASH TABLES ? if (temp == 1) {
-      SPGW_APP_WARN("This EPS bearer entry already exists: %u\n", eps_bearer_idP);
-      free(new_eps_bearer_entry);
-      new_eps_bearer_entry = collision_p;
-  }*/
-  return new_eps_bearer_entry;
-}
-//-----------------------------------------------------------------------------
-int sgw_lite_cm_remove_eps_bearer_entry(hash_table_t *eps_bearersP, ebi_t eps_bearer_idP)
-//-----------------------------------------------------------------------------
-{
-  int temp;
-
-  if (eps_bearersP == NULL) {
-    return -1;
-  }
-
-  temp = hashtable_remove(eps_bearersP, eps_bearer_idP);
-
-  return temp;
-}
-
diff --git a/openair-cn/SGW-LITE/sgw_lite_context_manager.h b/openair-cn/SGW-LITE/sgw_lite_context_manager.h
deleted file mode 100644
index 7cdd2676f483c59938c3ac82c2ec7dfa2b82bf51..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/sgw_lite_context_manager.h
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file sgw_lite_context_manager.h
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#ifndef SGW_LITE_CONTEXT_MANAGER_H_
-#define SGW_LITE_CONTEXT_MANAGER_H_
-
-#include "commonDef.h"
-#include "common_types.h"
-#include "mme_app_ue_context.h" // for cgi_t
-#include "hashtable.h"
-#include "obj_hashtable.h"
-
-/********************************
-*     P-GW contexts             *
-*********************************/
-typedef struct pgw_eps_bearer_entry_gtp_based_S5_S8_only_s {
-  ebi_t                eps_bearer_id;                         ///< An EPS bearer identity uniquely identifies an EPS bearer for one UE accessing via E-UTRAN
-  // TO DO traffic_flow_template_t tft;                   ///< Traffic Flow Template
-
-  ip_address_t         s_gw_address_in_use_up;            ///< The IP address of the S-GW currently used for sending user plane traffic.
-  Teid_t               s_gw_teid_for_S5_S8_up;            ///< S-GW Tunnel Endpoint Identifier for the S5/S8 interface for the user plane.
-
-  ip_address_t         p_gw_ip_address_for_S5_S8_up;      ///< P-GW IP address for user plane data received from PDN GW.
-  Teid_t               p_gw_teid_for_S5_S8_up;            ///< P-GW Tunnel Endpoint Identifier for the GTP Based S5/S8 interface for user plane.
-
-  // TO BE CHECKED
-  BearerQOS_t          eps_bearer_qos;                    ///< ARP, GBR, MBR, QCI.
-  // NOT NEEDED        charging_id                        ///< Charging identifier, identifies charging records generated by S-GW and PDN GW.
-
-} pgw_eps_bearer_entry_t;
-
-typedef struct pgw_pdn_connection_s {
-  //ip_addresses;                                       ///< IPv4 address and/or IPv6 prefix
-  pdn_type_t           pdn_type;                       ///< IPv4, IPv6, or IPv4v6
-  ip_address_t         s_gw_address_in_use_cp;         ///< The IP address of the S-GW currently used for sending control plane signalling.
-  Teid_t               s_gw_teid_for_S5_S8_cp;         ///< S-GW Tunnel Endpoint Identifier for the S5/S8 interface for the control plane. (For GTP-based S5/S8 only).
-  ip_address_t         s_gw_address_in_use_up;         ///< The IP address of the S-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only).
-  // NOT NEEDED s_gw_gre_key_for_dl_traffic_up         ///< Serving GW assigned GRE Key for the S5/S8 interface for the user plane for downlink traffic. (For PMIP-based S5/S8 only).
-  ip_address_t         p_gw_ip_address_for_S5_S8_cp;   ///< P-GW IP address for the S5/S8 for the control plane signalling.
-  Teid_t               p_gw_teid_for_S5_S8_cp;         ///< P-GW Tunnel Endpoint Identifier for the S5/S8 control plane interface. (For GTP-based S5/S8 only).
-  ip_address_t         p_gw_address_in_use_up;         ///< The IP address of the P-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only).
-  // NOT NEEDED p_gw_gre_key_for_uplink_traffic_up     ///< PDN GW assigned GRE Key for the S5/S8 interface for the user plane for uplink traffic. (For PMIP-based S5/S8 only).
-  // NOT NEEDED MS Info Change Reporting Action        ///< Denotes whether the MME and/or the SGSN is/are requested to send changes in User Location Information change for this bearer.
-  // NOT NEEDED CSG Information Reporting Action       ///< Denotes whether the MME and/or the SGSN is/are requested to send changes in User CSG Information change for this bearer.
-  ///  This field denotes separately whether the MME/SGSN are requested to send changes in User CSG Information for (a) CSG cells,
-  ///  (b) hybrid cells in which the subscriber is a CSG member, and (c) hybrid cells in which the subscriber is not a CSG member, or any combination of the above.
-  ebi_t
-  default_bearer;                 ///< Identifies the default bearer within the PDN connection by its EPS Bearer Id. The default bearer is the one which is established first within the PDN connection. (For GTP based
-  ///  S5/S8 or for PMIP based S5/S8 if multiple PDN connections to the same APN are supported).
-
-  hash_table_t         *pgw_eps_bearers;
-} pgw_pdn_connection_t;
-
-
-typedef struct pgw_apn_s {
-  APN_t                apn_in_use;                     ///< The APN currently used, as received from the S-GW.
-  ambr_t               apn_ambr;                       ///<  The maximum aggregated uplink and downlink MBR values to be shared across all Non-GBR bearers,
-  ///   which are established for this APN.
-  obj_hash_table_t    *pdn_connections;                ///<  For each PDN Connection within the APN
-
-} pgw_apn_t;
-
-
-// The PDN GW maintains the following EPS bearer context information for UEs.
-// For emergency attached UEs which are not authenticated, IMEI is stored in context.
-typedef struct pgw_eps_bearer_context_information_s {
-  Imsi_t               imsi;                           ///< IMSI (International Mobile Subscriber Identity) is the subscriber permanent identity.
-  int8_t               imsi_unauthenticated_indicator; ///< This is an IMSI indicator to show the IMSI is unauthenticated.
-  // TO BE CHECKED me_identity_t    me_identity;       ///< Mobile Equipment Identity (e.g. IMEI/IMEISV).
-  char                 msisdn[MSISDN_LENGTH];          ///< The basic MSISDN of the UE. The presence is dictated by its storage in the HSS.
-  // NOT NEEDED selected_cn_operator_id                ///< Selected core network operator identity (to support networksharing as defined in TS 23.251
-  rat_type_t           rat_type;                       ///< Current RAT
-  // NOT NEEDED Trace reference                        ///< Identifies a record or a collection of records for a particular trace.
-  // NOT NEEDED Trace type                             ///< Indicates the type of trace
-  // NOT NEEDED Trigger id                             ///< Identifies the entity that initiated the trace
-  // NOT NEEDED OMC identity                           ///< Identifies the OMC that shall receive the trace record(s).
-
-  // TO BE CONTINUED...
-  obj_hash_table_t    *apns;
-} pgw_eps_bearer_context_information_t;
-
-/********************************
-*     S-GW contexts             *
-*********************************/
-//--------------------------------
-// EPS Bearer entry
-//--------------------------------
-
-// A primary key for a EPS Bearer entry  can be a tuple (eps bearer id, imsi)
-typedef struct sgw_eps_bearer_entry_s {
-  PAA_t                paa;
-  ebi_t                eps_bearer_id;                         ///< An EPS bearer identity uniquely identifies an EPS bearer for one UE accessing via E-UTRAN
-  // TO DO traffic_flow_template_t tft;                   ///< Traffic Flow Template
-
-  ip_address_t         p_gw_address_in_use_up;            ///< The IP address of the P-GW currently used for sending user plane traffic. (For GTP-based S5/S8 only).
-  Teid_t               p_gw_teid_for_S5_S8_up;            ///< P-GW Tunnel Endpoint Identifier for the S5/S8 interface for the user plane. (For GTP-based S5/S8 only).
-
-  ip_address_t         s_gw_ip_address_for_S5_S8_up;      ///< S-GW IP address for user plane data received from PDN GW. (For GTP-based S5/S8 only).
-  Teid_t               s_gw_teid_for_S5_S8_up;            ///< S-GW Tunnel Endpoint Identifier for the S5/S8 interface for the user plane. (For GTP-based S5/S8 only).
-
-  ip_address_t
-  s_gw_ip_address_for_S1u_S12_S4_up; ///< S-GW IP address for the S1-u interface (Used by the eNodeB), for the S12 interface (used by the RNC) and for the S4 interface (used by the SGSN).
-  Teid_t
-  s_gw_teid_for_S1u_S12_S4_up;       ///< S-GW Tunnel Endpoint Identifier for the S1-u interface, for the S12 interface (used by the RNC) and for the S4 interface (used by the SGSN).
-
-  ip_address_t         enb_ip_address_for_S1u;            ///< eNodeB IP address for the S1-u interface (Used by the S-GW).
-  Teid_t               enb_teid_for_S1u;                  ///< eNodeB Tunnel Endpoint Identifier for the S1-u interface.
-
-  // TO BE CHECKED
-  BearerQOS_t          eps_bearer_qos;                    ///< ARP, GBR, MBR, QCI.
-  // NOT NEEDED        charging_id                        ///< Charging identifier, identifies charging records generated by S-GW and PDN GW.
-
-} sgw_eps_bearer_entry_t;
-
-
-typedef struct sgw_pdn_connection_s {
-  APN_t                apn_in_use;                     ///< The APN currently used, as received from the MME or S4 SGSN.
-  // NOT NEEDED NOW eps_pdn_charging                   ///< The charging characteristics of this PDN connection, e.g.normal, prepaid, flat-rate and/or hot billing.
-  // NOT IMPLEMENTED NOW
-  ip_address_t         p_gw_address_in_use_cp;         ///< The IP address of the P-GW currently used for sending control plane signalling.
-  // NOT IMPLEMENTED NOW
-  Teid_t               p_gw_teid_for_S5_S8_cp;         ///< P-GW Tunnel Endpoint Identifier for the S5/S8 interface for the control plane. (For GTP-based S5/S8 only).
-  // NOT IMPLEMENTED NOW
-  ip_address_t         p_gw_address_in_use_up;         ///< The IP address of the P-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only)
-  // NOT NEEDED p_gw_gre_key_for_uplink_traffic_up     ///< PDN GW assigned GRE Key for the S5/S8 interface for the user plane for uplink traffic. (For PMIP-based S5/S8 only)
-  ip_address_t         s_gw_ip_address_for_S5_S8_cp;   ///< S-GW IP address for the S5/S8 for the control plane signalling.
-  Teid_t               s_gw_teid_for_S5_S8_cp;         ///< S-GW Tunnel Endpoint Identifier for the S5/S8 control plane interface. (For GTP-based S5/S8 only).
-  ip_address_t         s_gw_address_in_use_up;         ///< The IP address of the S-GW currently used for sending user plane traffic. (For PMIP-based S5/S8 only)
-  // NOT NEEDED s_gw_gre_key_for_dl_traffic_up         ///< user plane for downlink traffic. (For PMIP-based S5/S8 only)
-  ebi_t                default_bearer;                 ///< Identifies the default bearer within the PDN connection by its EPS Bearer Id. (For PMIP based S5/S8.)
-
-  // eps bearers
-  hash_table_t         *sgw_eps_bearers;
-
-} sgw_pdn_connection_t;
-
-// The Serving GW maintains the following EPS bearer context information for UEs.
-// Struct sgw_eps_bearer_context_information_t contain the context fields for one UE.
-typedef struct sgw_eps_bearer_context_information_s {
-  Imsi_t               imsi;                           ///< IMSI (International Mobile Subscriber Identity) is the subscriber permanent identity.
-  int8_t               imsi_unauthenticated_indicator; /// This is an IMSI indicator to show the IMSI is unauthenticated.
-  // TO BE CHECKED me_identity_t    me_identity;       ///< Mobile Equipment Identity (e.g. IMEI/IMEISV).
-  char                 msisdn[MSISDN_LENGTH];          ///< The basic MSISDN of the UE. The presence is dictated by its storage in the HSS.
-  // NOT NEEDED selected_cn_operator_id                ///< Selected core network operator identity (to support networksharing as defined in TS 23.251
-  Teid_t               mme_teid_for_S11;               ///< MME Tunnel Endpoint Identifier for the S11 interface
-  ip_address_t         mme_ip_address_for_S11;         ///< MME IP address the S11 interface.
-  Teid_t               s_gw_teid_for_S11_S4;           ///< S-GW Tunnel Endpoint Identifier for the S11 Interface and the S4 Interface (control plane)
-  ip_address_t         s_gw_ip_address_for_S11_S4;     ///< S-GW IP address for the S11 interface and the S4 Interface (control plane).
-  // NOT NEEDED Trace reference                        ///< Identifies a record or a collection of records for a particular trace.
-  // NOT NEEDED Trace type                             ///< Indicates the type of trace
-  // NOT NEEDED Trigger id                             ///< Identifies the entity that initiated the trace
-  // NOT NEEDED OMC identity                           ///< Identifies the OMC that shall receive the trace record(s).
-  cgi_t                last_known_cell_Id;             ///< This is the last location of the UE known by the network
-  // NOT NEEDED NOW Last known Cell Id age             ///< This is the age of the above UE location information
-
-  // ONLY ONE PDN CONNECTION
-  // Do not know now what is the key for this hashtable
-  //obj_hash_table_t      *pdn_connections;
-  sgw_pdn_connection_t   pdn_connection;
-
-  /* S11 specific parameter. Not used in standalone mode */
-  void                  *trxn;
-  uint32_t               peer_ip;
-
-  SgwCreateSessionRequest saved_message;
-} sgw_eps_bearer_context_information_t;
-
-/********************************
-*     Paired contexts           *
-*********************************/
-// data entry for s11_bearer_context_information_hashtable
-// like this if needed in future, the split of S and P GW should be easier.
-typedef struct s_plus_p_gw_eps_bearer_context_information_s {
-  sgw_eps_bearer_context_information_t sgw_eps_bearer_context_information;
-  pgw_eps_bearer_context_information_t pgw_eps_bearer_context_information;
-} s_plus_p_gw_eps_bearer_context_information_t;
-
-
-// data entry for s11teid2mme_hashtable
-typedef struct mme_sgw_tunnel_s {
-  uint32_t local_teid;   ///< Tunnel endpoint Identifier
-  uint32_t remote_teid;  ///< Tunnel endpoint Identifier
-} mme_sgw_tunnel_t;
-
-// data entry for s1uteid2enb_hashtable
-typedef struct enb_sgw_s1u_tunnel_s {
-  uint32_t      local_teid;             ///< S-GW Tunnel endpoint Identifier
-  uint32_t      remote_teid;            ///< eNB Tunnel endpoint Identifier
-  ip_address_t  enb_ip_address_for_S11; ///< eNB IP address the S1U interface.
-} enb_sgw_s1u_tunnel_t;
-
-
-void                                   sgw_lite_display_s11teid2mme_mappings(void);
-void                                   sgw_lite_display_s11_bearer_context_information_mapping(void);
-void                                   pgw_lite_cm_free_apn(pgw_apn_t *apnP);
-
-
-Teid_t                                 sgw_lite_get_new_S11_tunnel_id(void);
-mme_sgw_tunnel_t *                     sgw_lite_cm_create_s11_tunnel(Teid_t remote_teid, Teid_t local_teid);
-int                                    sgw_lite_cm_remove_s11_tunnel(Teid_t local_teid);
-sgw_eps_bearer_entry_t *               sgw_lite_cm_create_eps_bearer_entry(void);
-sgw_pdn_connection_t *                 sgw_lite_cm_create_pdn_connection(void);
-void                                   sgw_lite_cm_free_pdn_connection(sgw_pdn_connection_t *pdn_connectionP);
-s_plus_p_gw_eps_bearer_context_information_t * sgw_lite_cm_create_bearer_context_information_in_collection(Teid_t teid);
-void                                   sgw_lite_cm_free_s_plus_p_gw_eps_bearer_context_information(s_plus_p_gw_eps_bearer_context_information_t *contextP);
-int                                    sgw_lite_cm_remove_bearer_context_information(Teid_t teid);
-sgw_eps_bearer_entry_t *               sgw_lite_cm_create_eps_bearer_entry_in_collection(hash_table_t *eps_bearersP, ebi_t eps_bearer_idP);
-int                                    sgw_lite_cm_remove_eps_bearer_entry(hash_table_t *eps_bearersP, ebi_t eps_bearer_idP);
-
-#endif /* SGW_LITE_CONTEXT_MANAGER_H_ */
diff --git a/openair-cn/SGW-LITE/sgw_lite_defs.h b/openair-cn/SGW-LITE/sgw_lite_defs.h
deleted file mode 100644
index 5233fa927bbe4de18347b30ea334b7f4617e715f..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/sgw_lite_defs.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file sgw_lite_defs.h
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-
-#ifndef SGW_LITE_DEFS_H_
-#define SGW_LITE_DEFS_H_
-
-
-
-#if defined(ENB_MODE)
-# include "UTIL/LOG/log.h"
-# define SPGW_APP_ERROR(x, args...) LOG_E(SPGW, x, ##args)
-# define SPGW_APP_WARN(x, args...)  LOG_W(SPGW, x, ##args)
-# define SPGW_APP_TRACE(x, args...)  LOG_T(SPGW, x, ##args)
-# define SPGW_APP_INFO(x, args...) LOG_I(SPGW, x, ##args)
-# define SPGW_APP_DEBUG(x, args...) LOG_I(SPGW, x, ##args)
-#else
-# define SPGW_APP_ERROR(x, args...) do { fprintf(stdout, "[SPGW-APP][E]"x, ##args); } while(0)
-# define SPGW_APP_WARN(x, args...)  do { fprintf(stdout, "[SPGW-APP][W]"x, ##args); } while(0)
-# define SPGW_APP_TRACE(x, args...)  do { fprintf(stdout, "[SPGW-APP][T]"x, ##args); } while(0)
-# define SPGW_APP_INFO(x, args...) do { fprintf(stdout, "[SPGW-APP][I]"x, ##args); } while(0)
-# define SPGW_APP_DEBUG(x, args...) do { fprintf(stdout, "[SPGW-APP][D]"x, ##args); } while(0)
-#endif
-
-
-int sgw_lite_init(char* config_file_name_pP);
-
-#endif /* SGW_LITE_DEFS_H_ */
diff --git a/openair-cn/SGW-LITE/sgw_lite_handlers.c b/openair-cn/SGW-LITE/sgw_lite_handlers.c
deleted file mode 100644
index 66db5a9675ad3133e5906ce5fbf64fb360170a8e..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/sgw_lite_handlers.c
+++ /dev/null
@@ -1,1237 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file sgw_lite_handlers.c
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#define SGW_LITE
-#define SGW_LITE_HANDLERS_C
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-#include <netinet/in.h>
-
-#include "assertions.h"
-#include "conversions.h"
-#include "common_types.h"
-#include "intertask_interface.h"
-#include "mme_config.h"
-#include "msc.h"
-
-#include "sgw_lite_defs.h"
-#include "sgw_lite_handlers.h"
-#include "sgw_lite_context_manager.h"
-#include "sgw_lite.h"
-#include "sgw_lite_ie_defs.h"
-#include "pgw_lite_paa.h"
-#include "spgw_config.h"
-
-extern sgw_app_t     sgw_app;
-extern spgw_config_t spgw_config;
-
-static uint32_t g_gtpv1u_teid = 0;
-
-uint32_t sgw_get_new_teid(void)
-{
-  g_gtpv1u_teid = g_gtpv1u_teid + 1;
-  return g_gtpv1u_teid;
-}
-
-int
-sgw_lite_handle_create_session_request(
-  const SgwCreateSessionRequest * const session_req_pP)
-{
-  mme_sgw_tunnel_t*                             new_endpoint_p                     = NULL;
-  s_plus_p_gw_eps_bearer_context_information_t* s_plus_p_gw_eps_bearer_ctxt_info_p = NULL;
-  sgw_eps_bearer_entry_t*                       eps_bearer_entry_p                 = NULL;
-  MessageDef*                                   message_p                          = NULL;
-
-  /* Upon reception of create session request from MME,
-   * S-GW should create UE, eNB and MME contexts and forward message to P-GW.
-   */
-  if (session_req_pP->rat_type != RAT_EUTRAN) {
-    SPGW_APP_WARN("Received session request with RAT != RAT_TYPE_EUTRAN: type %d\n",
-                  session_req_pP->rat_type);
-  }
-
-  /* As we are abstracting GTP-C transport, FTeid ip address is useless.
-   * We just use the teid to identify MME tunnel. Normally we received either:
-   * - ipv4 address if ipv4 flag is set
-   * - ipv6 address if ipv6 flag is set
-   * - ipv4 and ipv6 if both flags are set
-   * Communication between MME and S-GW involves S11 interface so we are expecting
-   * S11_MME_GTP_C (11) as interface_type.
-   */
-  if ((session_req_pP->sender_fteid_for_cp.teid == 0) &&
-      (session_req_pP->sender_fteid_for_cp.interface_type != S11_MME_GTP_C)) {
-    /* MME sent request with teid = 0. This is not valid... */
-    SPGW_APP_WARN("F-TEID parameter mismatch\n");
-    return -1;
-  }
-
-  new_endpoint_p = sgw_lite_cm_create_s11_tunnel(
-                     session_req_pP->sender_fteid_for_cp.teid,
-                     sgw_lite_get_new_S11_tunnel_id());
-
-  if (new_endpoint_p == NULL) {
-    SPGW_APP_WARN("Could not create new tunnel endpoint between S-GW and MME "
-                  "for S11 abstraction\n");
-    return -1;
-  }
-
-  SPGW_APP_DEBUG("Rx CREATE-SESSION-REQUEST MME S11 teid %u S-GW S11 teid %u APN %s EPS bearer Id %d\n",
-                 new_endpoint_p->remote_teid,
-                 new_endpoint_p->local_teid,
-                 session_req_pP->apn,
-                 session_req_pP->bearer_to_create.eps_bearer_id);
-  SPGW_APP_DEBUG("                          IMSI %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",
-                 IMSI(&session_req_pP->imsi));
-
-  s_plus_p_gw_eps_bearer_ctxt_info_p = sgw_lite_cm_create_bearer_context_information_in_collection(new_endpoint_p->local_teid);
-
-  if (s_plus_p_gw_eps_bearer_ctxt_info_p != NULL) {
-    /* We try to create endpoint for S11 interface. A NULL endpoint means that
-    * either the teid is already in list of known teid or ENOMEM error has been
-    * raised during malloc.
-    */
-
-    //--------------------------------------------------
-    // copy informations from create session request to bearer context information
-    //--------------------------------------------------
-    memcpy(s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.imsi.digit, session_req_pP->imsi.digit, IMSI_DIGITS_MAX);
-    memcpy(s_plus_p_gw_eps_bearer_ctxt_info_p->pgw_eps_bearer_context_information.imsi.digit, session_req_pP->imsi.digit, IMSI_DIGITS_MAX);
-    s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.imsi_unauthenticated_indicator = 1;
-    s_plus_p_gw_eps_bearer_ctxt_info_p->pgw_eps_bearer_context_information.imsi_unauthenticated_indicator = 1;
-
-    s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.mme_teid_for_S11               = session_req_pP->sender_fteid_for_cp.teid;
-    s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.s_gw_teid_for_S11_S4           = new_endpoint_p->local_teid;
-    s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.trxn                           = session_req_pP->trxn;
-    s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.peer_ip                        = session_req_pP->peer_ip;
-    // may use ntohl or reverse, will see
-
-    FTEID_T_2_IP_ADDRESS_T(
-      (&session_req_pP->sender_fteid_for_cp) ,
-      (&s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.mme_ip_address_for_S11));
-
-    //--------------------------------------
-    // PDN connection
-    //--------------------------------------
-    /*pdn_connection = sgw_lite_cm_create_pdn_connection();
-
-    if (pdn_connection == NULL) {
-        // Malloc failed, may be ENOMEM error
-        SPGW_APP_ERROR("Failed to create new PDN connection\n");
-        return -1;
-    }*/
-    memset(&s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection, 0, sizeof(sgw_pdn_connection_t));
-    s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers = hashtable_create(12, NULL, NULL);
-
-    if ( s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers == NULL) {
-      SPGW_APP_ERROR("Failed to create eps bearers collection object\n");
-      DevMessage("Failed to create eps bearers collection object\n");
-      return -1;
-    }
-
-    if (session_req_pP->apn) {
-      s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.apn_in_use     =  strdup(session_req_pP->apn);
-    } else {
-      s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.apn_in_use     = "NO APN";
-    }
-
-    s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.default_bearer =  session_req_pP->bearer_to_create.eps_bearer_id;
-
-    //obj_hashtable_insert(s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connections, pdn_connection->apn_in_use, strlen(pdn_connection->apn_in_use), pdn_connection);
-    //--------------------------------------
-    // EPS bearer entry
-    //--------------------------------------
-    eps_bearer_entry_p = sgw_lite_cm_create_eps_bearer_entry_in_collection(
-                           s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers,
-                           session_req_pP->bearer_to_create.eps_bearer_id);
-
-    sgw_lite_display_s11teid2mme_mappings();
-    sgw_lite_display_s11_bearer_context_information_mapping();
-
-    if (eps_bearer_entry_p == NULL) {
-      SPGW_APP_ERROR("Failed to create new EPS bearer entry\n");
-      // TO DO FREE new_bearer_ctxt_info_p and by cascade...
-      return -1;
-
-    }
-
-    eps_bearer_entry_p->eps_bearer_qos =  session_req_pP->bearer_to_create.bearer_level_qos;
-
-
-    //s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_informationteid = teid;
-
-    /* Trying to insert the new tunnel into the tree.
-     * If collision_p is not NULL (0), it means tunnel is already present.
-     */
-
-    //s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_informations_gw_ip_address_for_S11_S4 =
-
-    memcpy(&s_plus_p_gw_eps_bearer_ctxt_info_p->sgw_eps_bearer_context_information.saved_message,
-           session_req_pP,
-           sizeof(SgwCreateSessionRequest));
-
-    /* Establishing EPS bearer. Requesting S1-U (GTPV1-U) task to create a
-    * tunnel for S1 user plane interface. If status in response is successfull (0),
-    * the tunnel endpoint is locally ready.
-    */
-    message_p = itti_alloc_new_message(TASK_SPGW_APP, GTPV1U_CREATE_TUNNEL_REQ);
-
-    if (message_p == NULL) {
-      sgw_lite_cm_remove_s11_tunnel(new_endpoint_p->remote_teid);
-      return -1;
-    }
-
-    {
-      Gtpv1uCreateTunnelResp           createTunnelResp;
-
-      createTunnelResp.context_teid  = new_endpoint_p->local_teid;
-      createTunnelResp.eps_bearer_id = session_req_pP->bearer_to_create.eps_bearer_id;
-      createTunnelResp.status        = 0x00;
-      createTunnelResp.S1u_teid      = sgw_get_new_teid();
-      sgw_lite_handle_gtpv1uCreateTunnelResp(&createTunnelResp);
-    }
-  } else {
-    SPGW_APP_WARN("Could not create new transaction for SESSION_CREATE message\n");
-    free(new_endpoint_p);
-    new_endpoint_p = NULL;
-    return -1;
-  }
-}
-
-
-
-int
-sgw_lite_handle_sgi_endpoint_created(
-  const SGICreateEndpointResp * const resp_pP)
-{
-  task_id_t to_task;
-
-  SgwCreateSessionResponse                     *create_session_response_p = NULL;
-  s_plus_p_gw_eps_bearer_context_information_t *new_bearer_ctxt_info_p    = NULL;
-  MessageDef                                   *message_p                 = NULL;
-  hashtable_rc_t                                hash_rc;
-
-
-
-
-  SPGW_APP_DEBUG("Rx SGI_CREATE_ENDPOINT_RESPONSE,Context: S11 teid %u, SGW S1U teid %u EPS bearer id %u\n",
-                 resp_pP->context_teid, resp_pP->sgw_S1u_teid, resp_pP->eps_bearer_id);
-  hash_rc = hashtable_get(sgw_app.s11_bearer_context_information_hashtable, resp_pP->context_teid, (void**)&new_bearer_ctxt_info_p);
-
-#if defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_MME_APP;
-#else
-  to_task = TASK_S11;
-#endif
-
-  message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_CREATE_SESSION_RESPONSE);
-
-  if (message_p == NULL) {
-    return -1;
-  }
-
-  create_session_response_p = &message_p->ittiMsg.sgwCreateSessionResponse;
-  memset(create_session_response_p, 0, sizeof(SgwCreateSessionResponse));
-
-  if (hash_rc == HASH_TABLE_OK) {
-    create_session_response_p->teid = new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.mme_teid_for_S11;
-
-    /* Preparing to send create session response on S11 abstraction interface.
-     *  we set the cause value regarding the S1-U bearer establishment result status.
-     */
-    if (resp_pP->status == 0) {
-      uint32_t address = sgw_app.sgw_ip_address_for_S1u_S12_S4_up;
-      create_session_response_p->bearer_context_created.s1u_sgw_fteid.teid           = resp_pP->sgw_S1u_teid;
-      create_session_response_p->bearer_context_created.s1u_sgw_fteid.interface_type = S1_U_SGW_GTP_U;
-      create_session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4           = 1;
-      /* Should be filled in with S-GW S1-U local address. Running everything on localhost for now */
-      create_session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address   = address;
-
-
-      create_session_response_p->ambr.br_dl = 100000000;
-      create_session_response_p->ambr.br_ul = 40000000;
-
-      {
-        sgw_eps_bearer_entry_t*                       eps_bearer_entry_p                 = NULL;
-        hash_rc = hashtable_get (new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers,
-                                 resp_pP->eps_bearer_id,
-                                 (void**)&eps_bearer_entry_p);
-
-        if ((hash_rc == HASH_TABLE_KEY_NOT_EXISTS) || (hash_rc == HASH_TABLE_BAD_PARAMETER_HASHTABLE)) {
-          SPGW_APP_ERROR("ERROR UNABLE TO GET EPS BEARER ENTRY\n");
-        } else {
-          AssertFatal(sizeof(eps_bearer_entry_p->paa) == sizeof(resp_pP->paa), "Mismatch in lengths");  // sceptic mode
-          memcpy(&eps_bearer_entry_p->paa,
-                 &resp_pP->paa,
-                 sizeof(PAA_t));
-        }
-      }
-      memcpy(&create_session_response_p->paa,
-             &resp_pP->paa,
-             sizeof(PAA_t));
-
-      memcpy(&create_session_response_p->pco,
-    		  &resp_pP->pco,
-    		  sizeof(pco_flat_t));
-
-      /* Set the Cause information from bearer context created.
-       * "Request accepted" is returned when the GTPv2 entity has accepted a control plane request.
-       */
-      create_session_response_p->cause                        = REQUEST_ACCEPTED;
-      create_session_response_p->bearer_context_created.cause = REQUEST_ACCEPTED;
-    } else {
-      create_session_response_p->cause                        = M_PDN_APN_NOT_ALLOWED;
-      create_session_response_p->bearer_context_created.cause = M_PDN_APN_NOT_ALLOWED;
-    }
-
-    create_session_response_p->s11_sgw_teid.teid                    = resp_pP->context_teid;
-    create_session_response_p->bearer_context_created.eps_bearer_id = resp_pP->eps_bearer_id;
-    create_session_response_p->trxn                                 = new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.trxn;
-    create_session_response_p->peer_ip                              = new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.peer_ip;
-  } else {
-    create_session_response_p->cause                        = CONTEXT_NOT_FOUND;
-    create_session_response_p->bearer_context_created.cause = CONTEXT_NOT_FOUND;
-  }
-
-  SPGW_APP_DEBUG("Tx CREATE-SESSION-RESPONSE MME -> %s, S11 MME teid %u S11 S-GW teid %u S1U teid %u S1U addr 0x%x EPS bearer id %u status %d\n",
-                 to_task == TASK_MME_APP ? "TASK_MME_APP" : "TASK_S11",
-                 create_session_response_p->teid,
-                 create_session_response_p->s11_sgw_teid.teid,
-                 create_session_response_p->bearer_context_created.s1u_sgw_fteid.teid,
-                 create_session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address,
-                 create_session_response_p->bearer_context_created.eps_bearer_id,
-                 create_session_response_p->bearer_context_created.cause);
-
-  MSC_LOG_TX_MESSAGE(
-		MSC_SP_GWAPP_MME,
-		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-  		NULL,0,
-  		"0 SGW_CREATE_SESSION_RESPONSE S11 MME teid %u S11 S-GW teid %u S1U teid %u S1U@ 0x%x ebi %u status %d",
-        create_session_response_p->teid,
-        create_session_response_p->s11_sgw_teid.teid,
-        create_session_response_p->bearer_context_created.s1u_sgw_fteid.teid,
-        create_session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address,
-        create_session_response_p->bearer_context_created.eps_bearer_id,
-        create_session_response_p->bearer_context_created.cause);
-
-  return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-}
-
-
-
-int
-sgw_lite_handle_gtpv1uCreateTunnelResp(
-  const Gtpv1uCreateTunnelResp * const endpoint_created_pP)
-{
-  task_id_t to_task;
-
-  SgwCreateSessionResponse                          *create_session_response_p = NULL;
-  s_plus_p_gw_eps_bearer_context_information_t      *new_bearer_ctxt_info_p    = NULL;
-  SGICreateEndpointReq                              *sgi_create_endpoint_req_p = NULL;
-  MessageDef                                        *message_p                 = NULL;
-  sgw_eps_bearer_entry_t                            *eps_bearer_entry_p        = NULL;
-  hashtable_rc_t                                     hash_rc;
-  struct in_addr                                     inaddr ;
-  struct in6_addr                                    in6addr                   = IN6ADDR_ANY_INIT;
-  SGICreateEndpointResp                              sgi_create_endpoint_resp;
-
-  unsigned int pco_in_index                = 0;
-  unsigned int pco_out_index               = 0;
-  signed int   length_in_pco               = 0;
-  uint16_t     pi_or_ci                    = 0; // protocol identifier or container identifier;
-  uint8_t      length_pi_or_ci             = 0;
-  uint8_t      length_out_pi_or_ci         = 0;
-
-  uint16_t     ipcp_length                 = 0;
-  uint16_t     ipcp_out_length             = 0;
-  signed int   ipcp_remaining_length       = 0;
-  uint8_t      ipcp_option                 = 0;
-  uint8_t      ipcp_option_length          = 0;
-  uint8_t      ipcp_code                   = 0;
-  uint8_t      ipcp_out_code               = IPCP_CODE_CONFIGURE_ACK;
-  uint8_t      ipcp_identifier             = 0;
-  uint32_t     ipcp_dns_prim_ipv4_addr     = 0xFFFFFFFF;
-  uint32_t     ipcp_dns_sec_ipv4_addr      = 0xFFFFFFFF;
-  uint32_t     ipcp_out_dns_prim_ipv4_addr = 0xFFFFFFFF;
-  uint32_t     ipcp_out_dns_sec_ipv4_addr  = 0xFFFFFFFF;
-  pco_flat_t  *in_pco_p                 = NULL;
-  pco_flat_t   out_pco                   ;
-
-  uint8_t      address_allocation_via_nas_signalling = FALSE;
-  uint8_t      address_allocation_via_dhcpv4         = FALSE;
-
-
-#if defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_MME_APP;
-#else
-  to_task = TASK_S11;
-#endif
-
-  SPGW_APP_DEBUG("Rx GTPV1U_CREATE_TUNNEL_RESP, Context S-GW S11 teid %u, S-GW S1U teid %u EPS bearer id %u status %d\n",
-                 endpoint_created_pP->context_teid,
-                 endpoint_created_pP->S1u_teid,
-                 endpoint_created_pP->eps_bearer_id,
-                 endpoint_created_pP->status);
-  hash_rc = hashtable_get(
-              sgw_app.s11_bearer_context_information_hashtable,
-              endpoint_created_pP->context_teid,
-              (void**)&new_bearer_ctxt_info_p);
-
-  if (hash_rc == HASH_TABLE_OK) {
-
-    hash_rc = hashtable_get (
-                new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers,
-                endpoint_created_pP->eps_bearer_id,
-                (void**)&eps_bearer_entry_p);
-
-    DevAssert(hash_rc == HASH_TABLE_OK);
-
-    SPGW_APP_DEBUG("Updated eps_bearer_entry_p eps_b_id %u with SGW S1U teid %u\n",
-                   endpoint_created_pP->eps_bearer_id,
-                   endpoint_created_pP->S1u_teid);
-    eps_bearer_entry_p->s_gw_teid_for_S1u_S12_S4_up = endpoint_created_pP->S1u_teid;
-
-    sgw_lite_display_s11_bearer_context_information_mapping();
-
-    memset(&sgi_create_endpoint_resp, 0, sizeof(SGICreateEndpointResp));
-
-
-    //--------------------------------------------------------------------------
-    // PCO processing
-    //--------------------------------------------------------------------------
-    in_pco_p = &new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.saved_message.pco;
-
-    length_in_pco = in_pco_p->byte[1];
-    if ((length_in_pco+1+1) != in_pco_p->length) {
-      SPGW_APP_DEBUG("PCO: mismatch in lengths length_pco+1+1 %u != in_pco_p->length %u\n",
-    		  length_in_pco+1+1, in_pco_p->length);
-    }
-    sgi_create_endpoint_resp.pco.byte[0] = in_pco_p->byte[0];
-    pco_out_index       = 2;
-
-    if ((length_in_pco > 0) && (in_pco_p->byte[2] & 0x80)) {
-  	  sgi_create_endpoint_resp.pco.byte[pco_out_index++] = in_pco_p->byte[2];
-
-  	  pco_in_index = PCO_MIN_LENGTH;
-      while (length_in_pco >= 3) {
-        SPGW_APP_DEBUG("PCO: Protocol identifier in length_in_pco %d\n", length_in_pco);
-        pi_or_ci = (((uint16_t)in_pco_p->byte[pco_in_index]) << 8) | (uint16_t)in_pco_p->byte[pco_in_index+1];
-        pco_in_index += 2;
-        length_pi_or_ci = in_pco_p->byte[pco_in_index++];
-        switch (pi_or_ci) {
-          case  PCO_PI_LCP:
-          case  PCO_PI_PAP:
-          case  PCO_PI_CHAP:
-          	pco_in_index += length_pi_or_ci;
-            SPGW_APP_WARN("PCO: Protocol identifier 0x%X not supported now\n", pi_or_ci);
-          	break;
-
-          case  PCO_PI_IPCP:
-            ipcp_code = in_pco_p->byte[pco_in_index++];
-            ipcp_identifier = in_pco_p->byte[pco_in_index++];
-            ipcp_length = (((uint16_t)in_pco_p->byte[pco_in_index]) << 8) | ((uint16_t)in_pco_p->byte[pco_in_index+1]);
-            SPGW_APP_DEBUG("PCO: Protocol identifier IPCP (0x%x) code 0x%x identifier 0x%x length %u\n",
-            		pi_or_ci, ipcp_code, ipcp_identifier, ipcp_length);
-            pco_in_index += 2;
-            ipcp_remaining_length = ipcp_length - 1 - 1 - 2;
-            ipcp_out_length = 1 + 1 + 2;
-
-        	// Protocol Id: Internet Protocol Control Protocol ...
-            sgi_create_endpoint_resp.pco.byte[pco_out_index++]   = (uint8_t)(pi_or_ci >> 8);
-            sgi_create_endpoint_resp.pco.byte[pco_out_index++]   = (uint8_t)(pi_or_ci & 0x00FF);
-
-            while (ipcp_remaining_length >= 2) {
-          	  ipcp_option        = in_pco_p->byte[pco_in_index];
-              ipcp_option_length = in_pco_p->byte[pco_in_index+1];
-              ipcp_remaining_length = ipcp_remaining_length - ipcp_option_length;
-              SPGW_APP_DEBUG("PCO: Protocol identifier IPCP ipcp_option %u ipcp_option_length %u ipcp_remaining_length %u pco_in_index %u\n",
-            		  ipcp_option, ipcp_option_length, ipcp_remaining_length, pco_in_index);
-
-              switch (ipcp_option) {
-              case IPCP_OPTION_PRIMARY_DNS_SERVER_IP_ADDRESS:
-                SPGW_APP_DEBUG("PCO: Protocol identifier IPCP option PRIMARY_DNS_SERVER_IP_ADDRESS length %u\n", ipcp_option_length);
-                if (ipcp_option_length >= 6) {
-                  ipcp_dns_prim_ipv4_addr = (((uint32_t)in_pco_p->byte[pco_in_index+2]) << 24 ) |
-                                            (((uint32_t)in_pco_p->byte[pco_in_index+3]) << 16 ) |
-                                            (((uint32_t)in_pco_p->byte[pco_in_index+4]) << 8  ) |
-                                            (((uint32_t)in_pco_p->byte[pco_in_index+5]) );
-
-                  SPGW_APP_DEBUG("PCO: Protocol identifier IPCP option SECONDARY_DNS_SERVER_IP_ADDRESS ipcp_dns_prim_ipv4_addr 0x%x\n", ipcp_dns_prim_ipv4_addr);
-                  if ((ipcp_dns_prim_ipv4_addr == 0) ||
-                      (spgw_config.pgw_config.ipv4.default_dns_v4 != ipcp_dns_prim_ipv4_addr)){
-                    ipcp_out_code = IPCP_CODE_CONFIGURE_NACK;
-                    ipcp_out_dns_prim_ipv4_addr = spgw_config.pgw_config.ipv4.default_dns_v4;
-                  } else {
-                    ipcp_out_dns_prim_ipv4_addr = ipcp_dns_prim_ipv4_addr;
-                  }
-                  SPGW_APP_DEBUG("PCO: Protocol identifier IPCP option SECONDARY_DNS_SERVER_IP_ADDRESS ipcp_out_dns_prim_ipv4_addr 0x%x\n", ipcp_out_dns_prim_ipv4_addr);
-                } else {
-                  ipcp_out_code = IPCP_CODE_CONFIGURE_NACK;// not sure
-                }
-                ipcp_out_length += 6;
-                break;
-              case IPCP_OPTION_SECONDARY_DNS_SERVER_IP_ADDRESS:
-                  SPGW_APP_DEBUG("PCO: Protocol identifier IPCP option SECONDARY_DNS_SERVER_IP_ADDRESS length %u\n", ipcp_option_length);
-                  if (ipcp_option_length >= 6) {
-                    ipcp_dns_sec_ipv4_addr = (((uint32_t)in_pco_p->byte[pco_in_index+2]) << 24 ) |
-                                             (((uint32_t)in_pco_p->byte[pco_in_index+3]) << 16 ) |
-                                             (((uint32_t)in_pco_p->byte[pco_in_index+4]) << 8  ) |
-                                             (((uint32_t)in_pco_p->byte[pco_in_index+5]) );
-                    SPGW_APP_DEBUG("PCO: Protocol identifier IPCP option SECONDARY_DNS_SERVER_IP_ADDRESS ipcp_dns_sec_ipv4_addr 0x%x\n", ipcp_dns_sec_ipv4_addr);
-                    if ((ipcp_dns_prim_ipv4_addr == 0) ||
-                        (spgw_config.pgw_config.ipv4.default_dns_sec_v4 != ipcp_dns_sec_ipv4_addr)){
-                      ipcp_out_code = IPCP_CODE_CONFIGURE_NACK;
-                      ipcp_out_dns_sec_ipv4_addr = spgw_config.pgw_config.ipv4.default_dns_sec_v4;
-                    } else {
-                  	  ipcp_out_dns_sec_ipv4_addr = ipcp_dns_sec_ipv4_addr;
-                    }
-                    SPGW_APP_DEBUG("PCO: Protocol identifier IPCP option SECONDARY_DNS_SERVER_IP_ADDRESS ipcp_out_dns_sec_ipv4_addr 0x%x\n", ipcp_out_dns_sec_ipv4_addr);
-                  } else {
-                    ipcp_out_code = IPCP_CODE_CONFIGURE_NACK; // not sure
-                  }
-                  ipcp_out_length += 6;
-                break;
-              default:
-                SPGW_APP_WARN("PCO: Protocol identifier IPCP option 0x%04X unknown\n", ipcp_option);
-              }
-              pco_in_index += ipcp_option_length;
-            }
-        	// ... continuing Protocol Id: Internet Protocol Control Protocol
-            sgi_create_endpoint_resp.pco.byte[pco_out_index++]   = ipcp_out_length; // option length
-
-            break;
-
-          case PCO_CI_P_CSCF_IPV6_ADDRESS_REQUEST:
-          case PCO_CI_DNS_SERVER_IPV6_ADDRESS_REQUEST:
-          case PCO_CI_MS_SUPPORT_OF_NETWORK_REQUESTED_BEARER_CONTROL_INDICATOR:
-          case PCO_CI_DSMIPV6_HOME_AGENT_ADDRESS_REQUEST:
-          case PCO_CI_DSMIPV6_HOME_NETWORK_PREFIX_REQUEST:
-          case PCO_CI_DSMIPV6_IPV4_HOME_AGENT_ADDRESS_REQUEST:
-          case PCO_CI_P_CSCF_IPV4_ADDRESS_REQUEST:
-          case PCO_CI_MSISDN_REQUEST:
-          case PCO_CI_IFOM_SUPPORT_REQUEST:
-          	pco_in_index += length_pi_or_ci;
-            SPGW_APP_WARN("PCO: Container identifier 0x%X not supported now\n", pi_or_ci);
-          	break;
-
-          case PCO_CI_DNS_SERVER_IPV4_ADDRESS_REQUEST:
-            // PPP IP Control Protocol
-            sgi_create_endpoint_resp.pco.byte[pco_out_index++]   = ipcp_out_code;
-            sgi_create_endpoint_resp.pco.byte[pco_out_index++]   = ipcp_identifier;
-            sgi_create_endpoint_resp.pco.byte[pco_out_index++]   = (uint8_t)(ipcp_out_length >> 8);
-            sgi_create_endpoint_resp.pco.byte[pco_out_index++]   = (uint8_t)(ipcp_out_length & 0x00FF);
-
-            if (ipcp_out_dns_prim_ipv4_addr != 0xFFFFFFFF) {
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = IPCP_OPTION_PRIMARY_DNS_SERVER_IP_ADDRESS;
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = 6;
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = (uint8_t)(ipcp_out_dns_prim_ipv4_addr  & 0x000000FF);
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = (uint8_t)((ipcp_out_dns_prim_ipv4_addr >> 8 ) & 0x000000FF);
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = (uint8_t)((ipcp_out_dns_prim_ipv4_addr >> 16 ) & 0x000000FF);
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = (uint8_t)((ipcp_out_dns_prim_ipv4_addr >> 24 ) & 0x000000FF);
-            }
-            if (ipcp_out_dns_sec_ipv4_addr != 0xFFFFFFFF) {
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = IPCP_OPTION_SECONDARY_DNS_SERVER_IP_ADDRESS;
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = 6;
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = (uint8_t)(ipcp_out_dns_sec_ipv4_addr  & 0x000000FF);
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = (uint8_t)((ipcp_out_dns_sec_ipv4_addr >> 8 ) & 0x000000FF);
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = (uint8_t)((ipcp_out_dns_sec_ipv4_addr >> 16 ) & 0x000000FF);
-              sgi_create_endpoint_resp.pco.byte[pco_out_index++] = (uint8_t)((ipcp_out_dns_sec_ipv4_addr >> 24 ) & 0x000000FF);
-            }
-            break;
-
-          case PCO_CI_IP_ADDRESS_ALLOCATION_VIA_NAS_SIGNALLING:
-        	address_allocation_via_nas_signalling = TRUE;
-            break;
-
-          case PCO_CI_IPV4_ADDRESS_ALLOCATION_VIA_DHCPV4:
-            address_allocation_via_dhcpv4 = TRUE;
-            break;
-
-          case PCO_CI_IPV4_LINK_MTU_REQUEST:
-            SPGW_APP_WARN("PCO: Container identifier IPV4_LINK_MTU_REQUEST TODO\n");
-            break;
-        }
-        length_in_pco = length_in_pco - (length_pi_or_ci + 2 + 1);
-        SPGW_APP_DEBUG("PCO: Protocol identifier out length_in_pco %d\n", length_in_pco);
-      } // while (length_in_pco >= 3) {
-    } // if ((length_in_pco > 0) && (in_pco_p->byte[2] & 0x80)) {
-    sgi_create_endpoint_resp.pco.length  = pco_out_index;
-    sgi_create_endpoint_resp.pco.byte[1] = pco_out_index - 2;
-    //--------------------------------------------------------------------------
-
-
-    // IP forward will forward packets to this teid
-    sgi_create_endpoint_resp.context_teid  = endpoint_created_pP->context_teid;
-    sgi_create_endpoint_resp.sgw_S1u_teid  = endpoint_created_pP->S1u_teid;
-    sgi_create_endpoint_resp.eps_bearer_id = endpoint_created_pP->eps_bearer_id;
-
-    // TO DO NOW
-    sgi_create_endpoint_resp.paa.pdn_type = new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.saved_message.pdn_type;
-
-    switch (sgi_create_endpoint_resp.paa.pdn_type) {
-    case IPv4_OR_v6:
-      if (pgw_lite_get_free_ipv4_paa_address(&inaddr) == 0) {
-        IN_ADDR_TO_BUFFER(inaddr, sgi_create_endpoint_resp.paa.ipv4_address);
-      } else {
-        SPGW_APP_WARN("Failed to allocate IPv4 PAA for PDN type IPv4_OR_v6\n");
-
-        if (pgw_lite_get_free_ipv6_paa_prefix(&in6addr) == 0) {
-          IN6_ADDR_TO_BUFFER(in6addr, sgi_create_endpoint_resp.paa.ipv6_address);
-        } else {
-          SPGW_APP_ERROR("Failed to allocate IPv6 PAA for PDN type IPv4_OR_v6\n");
-        }
-      }
-
-      break;
-
-    case IPv4:
-      if (address_allocation_via_nas_signalling == TRUE) {
-        if (pgw_lite_get_free_ipv4_paa_address(&inaddr) == 0) {
-          IN_ADDR_TO_BUFFER(inaddr, sgi_create_endpoint_resp.paa.ipv4_address);
-        } else {
-          SPGW_APP_ERROR("Failed to allocate IPv4 PAA for PDN type IPv4\n");
-        }
-      } /*else {
-    	  // TODO
-      }*/
-
-      break;
-
-    case IPv6:
-      if (pgw_lite_get_free_ipv6_paa_prefix(&in6addr) == 0) {
-        IN6_ADDR_TO_BUFFER(in6addr, sgi_create_endpoint_resp.paa.ipv6_address);
-      } else {
-        SPGW_APP_ERROR("Failed to allocate IPv6 PAA for PDN type IPv6\n");
-      }
-
-      break;
-
-    case IPv4_AND_v6:
-      if (pgw_lite_get_free_ipv4_paa_address(&inaddr) == 0) {
-        IN_ADDR_TO_BUFFER(inaddr, sgi_create_endpoint_resp.paa.ipv4_address);
-      } else {
-        SPGW_APP_ERROR("Failed to allocate IPv4 PAA for PDN type IPv4_AND_v6\n");
-      }
-
-      if (pgw_lite_get_free_ipv6_paa_prefix(&in6addr) == 0) {
-        IN6_ADDR_TO_BUFFER(in6addr, sgi_create_endpoint_resp.paa.ipv6_address);
-      } else {
-        SPGW_APP_ERROR("Failed to allocate IPv6 PAA for PDN type IPv4_AND_v6\n");
-      }
-
-      break;
-
-    default:
-      AssertFatal(0,"BAD paa.pdn_type %d", sgi_create_endpoint_resp.paa.pdn_type);
-      break;
-    }
-
-    sgi_create_endpoint_resp.status         = SGI_STATUS_OK;
-    sgw_lite_handle_sgi_endpoint_created(&sgi_create_endpoint_resp);
-  } else { // if (hash_rc == HASH_TABLE_OK) {
-    SPGW_APP_DEBUG("Rx SGW_S1U_ENDPOINT_CREATED, Context: teid %u NOT FOUND\n", endpoint_created_pP->context_teid);
-    message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_CREATE_SESSION_RESPONSE);
-
-    if (message_p == NULL) {
-      return -1;
-    }
-
-    create_session_response_p = &message_p->ittiMsg.sgwCreateSessionResponse;
-    memset(create_session_response_p, 0, sizeof(SgwCreateSessionResponse));
-    create_session_response_p->cause                        = CONTEXT_NOT_FOUND;
-    create_session_response_p->bearer_context_created.cause = CONTEXT_NOT_FOUND;
-
-
-    MSC_LOG_TX_MESSAGE(
-    		MSC_SP_GWAPP_MME,
-    		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-    		NULL,0,
-    		"0 SGW_CREATE_SESSION_RESPONSE teid %u CONTEXT_NOT_FOUND", endpoint_created_pP->context_teid);
-    return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-  }
-}
-
-
-
-int
-sgw_lite_handle_gtpv1uUpdateTunnelResp(
-  const Gtpv1uUpdateTunnelResp * const endpoint_updated_pP)
-{
-  SgwModifyBearerResponse                           *modify_response_p      = NULL;
-  SGIUpdateEndpointReq                              *update_request_p       = NULL;
-  s_plus_p_gw_eps_bearer_context_information_t      *new_bearer_ctxt_info_p = NULL;
-  MessageDef                                        *message_p              = NULL;
-  sgw_eps_bearer_entry_t                            *eps_bearer_entry_p     = NULL;
-  hashtable_rc_t                                     hash_rc;
-  task_id_t                                          to_task;
-
-#if defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_MME_APP;
-#else
-  to_task = TASK_S11;
-#endif
-
-  SPGW_APP_DEBUG("Rx GTPV1U_UPDATE_TUNNEL_RESP, Context teid %u, SGW S1U teid %u, eNB S1U teid %u, EPS bearer id %u, status %d\n",
-                 endpoint_updated_pP->context_teid,
-                 endpoint_updated_pP->sgw_S1u_teid,
-                 endpoint_updated_pP->enb_S1u_teid,
-                 endpoint_updated_pP->eps_bearer_id,
-                 endpoint_updated_pP->status);
-
-
-  hash_rc = hashtable_get(sgw_app.s11_bearer_context_information_hashtable, endpoint_updated_pP->context_teid, (void**)&new_bearer_ctxt_info_p);
-
-  if (hash_rc == HASH_TABLE_OK) {
-    hash_rc = hashtable_get (new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers, endpoint_updated_pP->eps_bearer_id, (void**)&eps_bearer_entry_p);
-
-    if ((hash_rc == HASH_TABLE_KEY_NOT_EXISTS) || (hash_rc == HASH_TABLE_BAD_PARAMETER_HASHTABLE)) {
-      SPGW_APP_DEBUG("Sending SGW_MODIFY_BEARER_RESPONSE trxn %p bearer %u CONTEXT_NOT_FOUND (sgw_eps_bearers)\n",
-                     new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.trxn,
-                     endpoint_updated_pP->eps_bearer_id);
-
-      message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_MODIFY_BEARER_RESPONSE);
-
-      if (message_p == NULL) {
-        return -1;
-      }
-
-      modify_response_p = &message_p->ittiMsg.sgwModifyBearerResponse;
-      memset(modify_response_p, 0, sizeof(SgwModifyBearerResponse));
-      modify_response_p->bearer_present                                 = MODIFY_BEARER_RESPONSE_REM;
-      modify_response_p->bearer_choice.bearer_for_removal.eps_bearer_id = endpoint_updated_pP->eps_bearer_id;
-      modify_response_p->bearer_choice.bearer_for_removal.cause         = CONTEXT_NOT_FOUND;
-      modify_response_p->cause                                          = CONTEXT_NOT_FOUND;
-      modify_response_p->trxn                                           = new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.trxn;
-
-      return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-    } else if (hash_rc == HASH_TABLE_OK) {
-
-      message_p = itti_alloc_new_message(TASK_SPGW_APP, SGI_UPDATE_ENDPOINT_REQUEST);
-
-      if (message_p == NULL) {
-        return -1;
-      }
-
-      update_request_p = &message_p->ittiMsg.sgiUpdateEndpointReq;
-      memset(update_request_p, 0, sizeof(SGIUpdateEndpointReq));
-      update_request_p->context_teid  = endpoint_updated_pP->context_teid;
-      update_request_p->sgw_S1u_teid  = endpoint_updated_pP->sgw_S1u_teid;
-      update_request_p->enb_S1u_teid  = endpoint_updated_pP->enb_S1u_teid;
-      update_request_p->eps_bearer_id = endpoint_updated_pP->eps_bearer_id;
-
-      return itti_send_msg_to_task(TASK_FW_IP, INSTANCE_DEFAULT, message_p);
-    }
-  } else {
-    SPGW_APP_DEBUG("Sending SGW_MODIFY_BEARER_RESPONSE trxn %p bearer %u CONTEXT_NOT_FOUND (s11_bearer_context_information_hashtable)\n",
-                   new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.trxn,
-                   endpoint_updated_pP->eps_bearer_id);
-
-    message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_MODIFY_BEARER_RESPONSE);
-
-    if (message_p == NULL) {
-      return -1;
-    }
-
-    modify_response_p = &message_p->ittiMsg.sgwModifyBearerResponse;
-    memset(modify_response_p, 0, sizeof(SgwModifyBearerResponse));
-
-    modify_response_p->bearer_present                                 = MODIFY_BEARER_RESPONSE_REM;
-    modify_response_p->bearer_choice.bearer_for_removal.eps_bearer_id = endpoint_updated_pP->eps_bearer_id;
-    modify_response_p->bearer_choice.bearer_for_removal.cause         = CONTEXT_NOT_FOUND;
-    modify_response_p->cause                                          = CONTEXT_NOT_FOUND;
-    modify_response_p->trxn                                           = new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.trxn;
-
-    MSC_LOG_TX_MESSAGE(
-    		MSC_SP_GWAPP_MME,
-    		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-    		NULL,0,
-    		"0 SGW_MODIFY_BEARER_RESPONSE ebi %u CONTEXT_NOT_FOUND trxn %u",
-    		modify_response_p->bearer_choice.bearer_for_removal.eps_bearer_id,
-    		modify_response_p->trxn);
-
-    return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-  }
-
-  return -1;
-}
-
-
-
-int
-sgw_lite_handle_sgi_endpoint_updated(
-  const SGIUpdateEndpointResp * const resp_pP)
-{
-  SgwModifyBearerResponse                           *modify_response_p      = NULL;
-  s_plus_p_gw_eps_bearer_context_information_t      *new_bearer_ctxt_info_p = NULL;
-  MessageDef                                        *message_p              = NULL;
-  sgw_eps_bearer_entry_t                            *eps_bearer_entry_p     = NULL;
-  hashtable_rc_t                                     hash_rc;
-  task_id_t                                          to_task;
-  static uint8_t                                     iptable_uplink_remove_gtpu = FALSE;
-  char                                               cmd[256];
-  int                                                ret;
-
-#if defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_MME_APP;
-#else
-  to_task = TASK_S11;
-#endif
-
-  SPGW_APP_DEBUG("Rx SGI_UPDATE_ENDPOINT_RESPONSE, Context teid %u, SGW S1U teid %u, eNB S1U teid %u, EPS bearer id %u, status %d\n",
-                 resp_pP->context_teid,
-                 resp_pP->sgw_S1u_teid,
-                 resp_pP->enb_S1u_teid,
-                 resp_pP->eps_bearer_id,
-                 resp_pP->status);
-
-  message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_MODIFY_BEARER_RESPONSE);
-
-  if (message_p == NULL) {
-    return -1;
-  }
-
-  modify_response_p = &message_p->ittiMsg.sgwModifyBearerResponse;
-  memset(modify_response_p, 0, sizeof(SgwModifyBearerResponse));
-
-  hash_rc = hashtable_get(sgw_app.s11_bearer_context_information_hashtable,
-                          resp_pP->context_teid,
-                          (void**)&new_bearer_ctxt_info_p);
-
-
-  if (hash_rc == HASH_TABLE_OK) {
-    hash_rc = hashtable_get (new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers,
-                             resp_pP->eps_bearer_id,
-                             (void**)&eps_bearer_entry_p);
-
-    if ((hash_rc == HASH_TABLE_KEY_NOT_EXISTS) || (hash_rc == HASH_TABLE_BAD_PARAMETER_HASHTABLE)) {
-      SPGW_APP_DEBUG("Rx SGI_UPDATE_ENDPOINT_RESPONSE: CONTEXT_NOT_FOUND (pdn_connection.sgw_eps_bearers context)\n");
-      modify_response_p->teid                                           = resp_pP->context_teid; // TO BE CHECKED IF IT IS THIS TEID
-      modify_response_p->bearer_present                                 = MODIFY_BEARER_RESPONSE_REM;
-      modify_response_p->bearer_choice.bearer_for_removal.eps_bearer_id = resp_pP->eps_bearer_id;
-      modify_response_p->bearer_choice.bearer_for_removal.cause         = CONTEXT_NOT_FOUND;
-      modify_response_p->cause                                          = CONTEXT_NOT_FOUND;
-      modify_response_p->trxn                                           = 0;
-
-      MSC_LOG_TX_MESSAGE(
-    		MSC_SP_GWAPP_MME,
-    		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-      		NULL,0,
-      		"0 SGW_MODIFY_BEARER_RESPONSE ebi %u CONTEXT_NOT_FOUND trxn %u",
-      		modify_response_p->bearer_choice.bearer_for_removal.eps_bearer_id,
-            modify_response_p->trxn);
-
-      return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-    } else if (hash_rc == HASH_TABLE_OK) {
-      SPGW_APP_DEBUG("Rx SGI_UPDATE_ENDPOINT_RESPONSE: REQUEST_ACCEPTED\n");
-
-      // accept anyway
-      modify_response_p->teid                                                 = resp_pP->context_teid; // TO BE CHECKED IF IT IS THIS TEID
-      modify_response_p->bearer_present                                       = MODIFY_BEARER_RESPONSE_MOD;
-      modify_response_p->bearer_choice.bearer_contexts_modified.eps_bearer_id = resp_pP->eps_bearer_id;
-      modify_response_p->bearer_choice.bearer_contexts_modified.cause         = REQUEST_ACCEPTED;
-      modify_response_p->cause                                                = REQUEST_ACCEPTED;
-      modify_response_p->trxn                                                 = new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.trxn;
-      // if default bearer
-#warning "TODO define constant for default eps_bearer id"
-
-      //if ((resp_pP->eps_bearer_id == 5) && (spgw_config.pgw_config.pgw_masquerade_SGI == 0)) {
-      if (resp_pP->eps_bearer_id == 5) {
-        ret = snprintf(cmd,
-                       256, // mangle -I
-                       "iptables -t mangle -A %s -d %u.%u.%u.%u -m mark --mark 0 -j GTPUSP --own-ip %u.%u.%u.%u --own-tun %u --peer-ip %u.%u.%u.%u --peer-tun %u --action add",
-                       (spgw_config.sgw_config.local_to_eNB) ? "FORWARD":"FORWARD", // test
-                       eps_bearer_entry_p->paa.ipv4_address[0],
-                       eps_bearer_entry_p->paa.ipv4_address[1],
-                       eps_bearer_entry_p->paa.ipv4_address[2],
-                       eps_bearer_entry_p->paa.ipv4_address[3],
-                       sgw_app.sgw_ip_address_for_S1u_S12_S4_up & 0x000000FF,
-                       (sgw_app.sgw_ip_address_for_S1u_S12_S4_up & 0x0000FF00) >> 8,
-                       (sgw_app.sgw_ip_address_for_S1u_S12_S4_up & 0x00FF0000) >> 16,
-                       (sgw_app.sgw_ip_address_for_S1u_S12_S4_up & 0xFF000000) >> 24,
-                       eps_bearer_entry_p->s_gw_teid_for_S1u_S12_S4_up,
-                       eps_bearer_entry_p->enb_ip_address_for_S1u.address.ipv4_address[0],
-                       eps_bearer_entry_p->enb_ip_address_for_S1u.address.ipv4_address[1],
-                       eps_bearer_entry_p->enb_ip_address_for_S1u.address.ipv4_address[2],
-                       eps_bearer_entry_p->enb_ip_address_for_S1u.address.ipv4_address[3],
-                       eps_bearer_entry_p->enb_teid_for_S1u
-                      );
-
-        if ((ret < 0) || (ret > 256)) {
-          SPGW_APP_ERROR("ERROR in preparing default downlink tunnel, tune string length\n");
-          exit (-1);
-        }
-        //use API when prototype validated
-        ret = spgw_system(cmd, SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-        if (ret < 0) {
-          SPGW_APP_ERROR("ERROR in setting up default downlink TUNNEL\n");
-        }
-      }
-      //-------------------------
-      ret = snprintf(cmd,
-                     256,
-                     "iptables -t mangle -I %s -d %u.%u.%u.%u -m mark --mark %u -j GTPUSP --own-ip %u.%u.%u.%u --own-tun %u --peer-ip %u.%u.%u.%u --peer-tun %u --action add",
-                     (spgw_config.sgw_config.local_to_eNB) ? "FORWARD":"FORWARD", // test
-                     eps_bearer_entry_p->paa.ipv4_address[0],
-                     eps_bearer_entry_p->paa.ipv4_address[1],
-                     eps_bearer_entry_p->paa.ipv4_address[2],
-                     eps_bearer_entry_p->paa.ipv4_address[3],
-                     eps_bearer_entry_p->s_gw_teid_for_S1u_S12_S4_up,
-                     sgw_app.sgw_ip_address_for_S1u_S12_S4_up & 0x000000FF,
-                     (sgw_app.sgw_ip_address_for_S1u_S12_S4_up & 0x0000FF00) >> 8,
-                     (sgw_app.sgw_ip_address_for_S1u_S12_S4_up & 0x00FF0000) >> 16,
-                     (sgw_app.sgw_ip_address_for_S1u_S12_S4_up & 0xFF000000) >> 24,
-                     eps_bearer_entry_p->s_gw_teid_for_S1u_S12_S4_up,
-                     eps_bearer_entry_p->enb_ip_address_for_S1u.address.ipv4_address[0],
-                     eps_bearer_entry_p->enb_ip_address_for_S1u.address.ipv4_address[1],
-                     eps_bearer_entry_p->enb_ip_address_for_S1u.address.ipv4_address[2],
-                     eps_bearer_entry_p->enb_ip_address_for_S1u.address.ipv4_address[3],
-                     eps_bearer_entry_p->enb_teid_for_S1u
-                    );
-
-      if ((ret < 0) || (ret > 256)) {
-        SPGW_APP_ERROR("ERROR in preparing downlink tunnel, tune string length\n");
-        exit (-1);
-      }
-
-      //use API when prototype validated
-      ret = spgw_system(cmd, SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-
-      if (ret < 0) {
-        SPGW_APP_ERROR("ERROR in setting up downlink TUNNEL\n");
-      }
-
-    }
-    MSC_LOG_TX_MESSAGE(
-  		MSC_SP_GWAPP_MME,
-  		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-    	NULL,0,
-    	"0 SGW_MODIFY_BEARER_RESPONSE ebi %u  trxn %u",
-        modify_response_p->bearer_choice.bearer_contexts_modified.eps_bearer_id,
-        modify_response_p->trxn);
-
-    return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-  } else {
-    SPGW_APP_DEBUG("Rx SGI_UPDATE_ENDPOINT_RESPONSE: CONTEXT_NOT_FOUND (S11 context)\n");
-
-    modify_response_p->teid                                           = resp_pP->context_teid; // TO BE CHECKED IF IT IS THIS TEID
-    modify_response_p->bearer_present                                 = MODIFY_BEARER_RESPONSE_REM;
-    modify_response_p->bearer_choice.bearer_for_removal.eps_bearer_id = resp_pP->eps_bearer_id;
-    modify_response_p->bearer_choice.bearer_for_removal.cause         = CONTEXT_NOT_FOUND;
-    modify_response_p->cause                                          = CONTEXT_NOT_FOUND;
-    modify_response_p->trxn                                           = 0;
-
-    MSC_LOG_TX_MESSAGE(
-  		MSC_SP_GWAPP_MME,
-  		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-    	NULL,0,
-    	"0 SGW_MODIFY_BEARER_RESPONSE ebi %u CONTEXT_NOT_FOUND trxn %u",
-        modify_response_p->bearer_choice.bearer_contexts_modified.eps_bearer_id,
-        modify_response_p->trxn);
-    return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-  }
-}
-
-
-
-int
-sgw_lite_handle_modify_bearer_request(
-  const SgwModifyBearerRequest * const modify_bearer_pP)
-{
-  SgwModifyBearerResponse                           *modify_response_p          = NULL;
-  Gtpv1uUpdateTunnelReq                             *gtpv1u_update_tunnel_req_p = NULL;
-  s_plus_p_gw_eps_bearer_context_information_t      *new_bearer_ctxt_info_p     = NULL;
-  MessageDef                                        *message_p                  = NULL;
-  sgw_eps_bearer_entry_t                            *eps_bearer_entry_p         = NULL;
-  hashtable_rc_t                                     hash_rc;
-  task_id_t                                          to_task;
-
-#if defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_MME_APP;
-#else
-  to_task = TASK_S11;
-#endif
-
-  SPGW_APP_DEBUG("Rx MODIFY_BEARER_REQUEST, teid %u, EPS bearer id %u\n",
-                 modify_bearer_pP->teid,
-                 modify_bearer_pP->bearer_context_to_modify.eps_bearer_id);
-
-  sgw_lite_display_s11teid2mme_mappings();
-  sgw_lite_display_s11_bearer_context_information_mapping();
-
-  hash_rc = hashtable_get(
-              sgw_app.s11_bearer_context_information_hashtable,
-              modify_bearer_pP->teid,
-              (void**)&new_bearer_ctxt_info_p);
-
-  if (hash_rc == HASH_TABLE_OK) {
-
-    new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.default_bearer = modify_bearer_pP->bearer_context_to_modify.eps_bearer_id;
-    new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.trxn = modify_bearer_pP->trxn;
-
-    hash_rc = hashtable_is_key_exists (
-                new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers,
-                modify_bearer_pP->bearer_context_to_modify.eps_bearer_id);
-
-    if (hash_rc == HASH_TABLE_KEY_NOT_EXISTS) {
-      message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_MODIFY_BEARER_RESPONSE);
-
-      if (message_p == NULL) {
-        return -1;
-      }
-
-      modify_response_p = &message_p->ittiMsg.sgwModifyBearerResponse;
-      memset(modify_response_p, 0, sizeof(SgwModifyBearerResponse));
-      modify_response_p->bearer_present                                 = MODIFY_BEARER_RESPONSE_REM;
-      modify_response_p->bearer_choice.bearer_for_removal.eps_bearer_id = modify_bearer_pP->bearer_context_to_modify.eps_bearer_id;
-      modify_response_p->bearer_choice.bearer_for_removal.cause         = CONTEXT_NOT_FOUND;
-      modify_response_p->cause                                          = CONTEXT_NOT_FOUND;
-      modify_response_p->trxn                                           = modify_bearer_pP->trxn;
-      SPGW_APP_DEBUG("Rx MODIFY_BEARER_REQUEST, eps_bearer_id %u CONTEXT_NOT_FOUND\n",
-                     modify_bearer_pP->bearer_context_to_modify.eps_bearer_id);
-
-      MSC_LOG_TX_MESSAGE(
-    		MSC_SP_GWAPP_MME,
-    		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-      		NULL,0,
-      		"0 SGW_MODIFY_BEARER_RESPONSE ebi %u CONTEXT_NOT_FOUND trxn %u",
-      		modify_response_p->bearer_choice.bearer_for_removal.eps_bearer_id,
-            modify_response_p->trxn);
-
-      return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-    } else if (hash_rc == HASH_TABLE_OK) {
-      // TO DO
-      hash_rc = hashtable_get (
-                  new_bearer_ctxt_info_p->sgw_eps_bearer_context_information.pdn_connection.sgw_eps_bearers,
-                  modify_bearer_pP->bearer_context_to_modify.eps_bearer_id,
-                  (void**)&eps_bearer_entry_p);
-
-      FTEID_T_2_IP_ADDRESS_T( (&modify_bearer_pP->bearer_context_to_modify.s1_eNB_fteid) , (&eps_bearer_entry_p->enb_ip_address_for_S1u) );
-      eps_bearer_entry_p->enb_teid_for_S1u = modify_bearer_pP->bearer_context_to_modify.s1_eNB_fteid.teid;
-
-      {
-        SGIUpdateEndpointResp sgi_update_end_point_resp;
-        sgi_update_end_point_resp.context_teid  = modify_bearer_pP->teid;
-        sgi_update_end_point_resp.sgw_S1u_teid  = eps_bearer_entry_p->s_gw_teid_for_S1u_S12_S4_up;
-        sgi_update_end_point_resp.enb_S1u_teid  = eps_bearer_entry_p->enb_teid_for_S1u;
-        sgi_update_end_point_resp.eps_bearer_id = eps_bearer_entry_p->eps_bearer_id;
-        sgi_update_end_point_resp.status        = 0x00;
-        sgw_lite_handle_sgi_endpoint_updated(&sgi_update_end_point_resp);
-      }
-    }
-  } else {
-    message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_MODIFY_BEARER_RESPONSE);
-
-    if (message_p == NULL) {
-      return -1;
-    }
-
-    modify_response_p = &message_p->ittiMsg.sgwModifyBearerResponse;
-
-    modify_response_p->bearer_present                                 = MODIFY_BEARER_RESPONSE_REM;
-    modify_response_p->bearer_choice.bearer_for_removal.eps_bearer_id = modify_bearer_pP->bearer_context_to_modify.eps_bearer_id;
-    modify_response_p->bearer_choice.bearer_for_removal.cause         = CONTEXT_NOT_FOUND;
-    modify_response_p->cause                                          = CONTEXT_NOT_FOUND;
-    modify_response_p->trxn                                           = modify_bearer_pP->trxn;
-
-    SPGW_APP_DEBUG("Rx MODIFY_BEARER_REQUEST, teid %u CONTEXT_NOT_FOUND\n",
-                   modify_bearer_pP->teid);
-    return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-  }
-
-  return -1;
-}
-
-
-
-int
-sgw_lite_handle_delete_session_request(
-  const SgwDeleteSessionRequest * const delete_session_req_pP)
-{
-  task_id_t    to_task;
-  hashtable_rc_t hash_rc;
-
-  SgwDeleteSessionResponse                     *delete_session_resp_p = NULL;
-  MessageDef                                   *message_p             = NULL;
-  s_plus_p_gw_eps_bearer_context_information_t *ctx_p                 = NULL;
-
-#if defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_MME_APP;
-#else
-  to_task = TASK_S11;
-#endif
-
-  message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_DELETE_SESSION_RESPONSE);
-
-  if (message_p == NULL) {
-    return -1;
-  }
-
-  delete_session_resp_p = &message_p->ittiMsg.sgwDeleteSessionResponse;
-
-  SPGW_APP_WARN("Delete session handler needs to be completed...\n");
-
-  if (delete_session_req_pP->indication_flags & OI_FLAG) {
-    SPGW_APP_DEBUG("OI flag is set for this message indicating the request"
-                   "should be forwarded to P-GW entity\n");
-  }
-
-  hash_rc = hashtable_get(sgw_app.s11_bearer_context_information_hashtable,
-                          delete_session_req_pP->teid,
-                          (void**)&ctx_p);
-
-  if (hash_rc == HASH_TABLE_OK) {
-    if ((delete_session_req_pP->sender_fteid_for_cp.ipv4 != 0) &&
-        (delete_session_req_pP->sender_fteid_for_cp.ipv6 != 0)) {
-      /* Sender F-TEID IE present */
-      if (delete_session_resp_p->teid != ctx_p->sgw_eps_bearer_context_information.mme_teid_for_S11) {
-        delete_session_resp_p->teid  = ctx_p->sgw_eps_bearer_context_information.mme_teid_for_S11;
-        delete_session_resp_p->cause = INVALID_PEER;
-        SPGW_APP_DEBUG("Mismatch in MME Teid for CP\n");
-      } else {
-        delete_session_resp_p->teid = delete_session_req_pP->sender_fteid_for_cp.teid;
-      }
-    } else {
-      delete_session_resp_p->cause = REQUEST_ACCEPTED;
-      delete_session_resp_p->teid  = ctx_p->sgw_eps_bearer_context_information.mme_teid_for_S11;
-    }
-
-    delete_session_resp_p->trxn    = delete_session_req_pP->trxn;
-    delete_session_resp_p->peer_ip = delete_session_req_pP->peer_ip;
-
-    MSC_LOG_TX_MESSAGE(
-  		MSC_SP_GWAPP_MME,
-  		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-    	NULL,0,
-    	"0 SGW_DELETE_SESSION_RESPONSE teid %u cause %u trxn %u",
-    	delete_session_resp_p->teid,
-    	delete_session_resp_p->cause,
-        delete_session_resp_p->trxn);
-
-
-    return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-  } else {
-    /* Context not found... set the cause to CONTEXT_NOT_FOUND
-     * 3GPP TS 29.274 #7.2.10.1
-     */
-    message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_DELETE_SESSION_RESPONSE);
-
-    if (message_p == NULL) {
-      return -1;
-    }
-
-    delete_session_resp_p = &message_p->ittiMsg.sgwDeleteSessionResponse;
-
-    if ((delete_session_req_pP->sender_fteid_for_cp.ipv4 == 0) &&
-        (delete_session_req_pP->sender_fteid_for_cp.ipv6 == 0)) {
-      delete_session_resp_p->teid = 0;
-    } else {
-      delete_session_resp_p->teid = delete_session_req_pP->sender_fteid_for_cp.teid;
-    }
-
-    delete_session_resp_p->cause   = CONTEXT_NOT_FOUND;
-    delete_session_resp_p->trxn    = delete_session_req_pP->trxn;
-    delete_session_resp_p->peer_ip = delete_session_req_pP->peer_ip;
-
-    MSC_LOG_TX_MESSAGE(
-  		MSC_SP_GWAPP_MME,
-  		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-    	NULL,0,
-    	"0 SGW_DELETE_SESSION_RESPONSE CONTEXT_NOT_FOUND trxn %u",
-        delete_session_resp_p->trxn);
-
-    return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-  }
-
-  return -1;
-}
-
-
-int
-sgw_lite_handle_release_access_bearers_request(
-  const SgwReleaseAccessBearersRequest * const release_access_bearers_req_pP)
-{
-  task_id_t                                     to_task;
-  hashtable_rc_t                                hash_rc;
-  SgwReleaseAccessBearersResponse              *release_access_bearers_resp_p = NULL;
-  MessageDef                                   *message_p                     = NULL;
-  s_plus_p_gw_eps_bearer_context_information_t *ctx_p                         = NULL;
-
-#if defined(ENABLE_STANDALONE_EPC)
-  to_task = TASK_MME_APP;
-#else
-  to_task = TASK_S11;
-#endif
-  message_p = itti_alloc_new_message(TASK_SPGW_APP, SGW_RELEASE_ACCESS_BEARERS_RESPONSE);
-
-  if (message_p == NULL) {
-    return -1;
-  }
-
-  release_access_bearers_resp_p = &message_p->ittiMsg.sgwReleaseAccessBearersResponse;
-
-
-  hash_rc = hashtable_get(sgw_app.s11_bearer_context_information_hashtable,
-		  release_access_bearers_req_pP->teid,
-                          (void**)&ctx_p);
-
-  if (hash_rc == HASH_TABLE_OK) {
-	release_access_bearers_resp_p->cause = REQUEST_ACCEPTED;
-	release_access_bearers_resp_p->teid  = ctx_p->sgw_eps_bearer_context_information.mme_teid_for_S11;
-
-#warning "TODO Here the release (sgw_lite_handle_release_access_bearers_request)"
-
-    MSC_LOG_TX_MESSAGE(
-  		MSC_SP_GWAPP_MME,
-  		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-    	NULL,0,
-    	"0 SGW_RELEASE_ACCESS_BEARERS_RESPONSE S11 MME teid %u cause REQUEST_ACCEPTED",
-    	release_access_bearers_resp_p->teid);
-
-    return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-  } else {
-	release_access_bearers_resp_p->cause   = CONTEXT_NOT_FOUND;
-	release_access_bearers_resp_p->teid    = 0;
-	MSC_LOG_TX_MESSAGE(
-	  		MSC_SP_GWAPP_MME,
-	  		(to_task == TASK_MME_APP) ? MSC_MMEAPP_MME:MSC_S11_MME,
-	    	NULL,0,
-	    	"0 SGW_RELEASE_ACCESS_BEARERS_RESPONSE cause CONTEXT_NOT_FOUND");
-
-	return itti_send_msg_to_task(to_task, INSTANCE_DEFAULT, message_p);
-  }
-  return -1;
-}
-
diff --git a/openair-cn/SGW-LITE/sgw_lite_handlers.h b/openair-cn/SGW-LITE/sgw_lite_handlers.h
deleted file mode 100644
index 1f74f802bdf58453def8bb745dccb7e1a85e9972..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/sgw_lite_handlers.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file sgw_lite_handlers.h
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-
-#ifndef SGW_LITE_HANDLERS_H_
-#define SGW_LITE_HANDLERS_H_
-
-int sgw_lite_handle_create_session_request(const SgwCreateSessionRequest * const session_req_p);
-int sgw_lite_handle_sgi_endpoint_created  (const SGICreateEndpointResp   * const resp_p);
-int sgw_lite_handle_sgi_endpoint_updated  (const SGIUpdateEndpointResp   * const resp_p);
-int sgw_lite_handle_gtpv1uCreateTunnelResp(const Gtpv1uCreateTunnelResp  * const endpoint_created_p);
-int sgw_lite_handle_gtpv1uUpdateTunnelResp(const Gtpv1uUpdateTunnelResp  * const endpoint_updated_p);
-int sgw_lite_handle_modify_bearer_request (const SgwModifyBearerRequest  * const modify_bearer_p);
-int sgw_lite_handle_delete_session_request(const SgwDeleteSessionRequest * const delete_session_p);
-int sgw_lite_handle_release_access_bearers_request(const SgwReleaseAccessBearersRequest * const release_access_bearers_req_pP);
-#endif /* SGW_LITE_HANDLERS_H_ */
diff --git a/openair-cn/SGW-LITE/sgw_lite_ie_defs.h b/openair-cn/SGW-LITE/sgw_lite_ie_defs.h
deleted file mode 100644
index 68683272fbcabed97cf0be98c114c3c4f2542923..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/sgw_lite_ie_defs.h
+++ /dev/null
@@ -1,641 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file sgw_lite_ie_defs.h
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-
-#include "common_types.h"
-
-#ifndef SGW_LITE_IE_DEFS_H_
-#define SGW_LITE_IE_DEFS_H_
-
-typedef uint8_t  EBI_t;
-typedef uint8_t  APNRestriction_t;
-typedef uint8_t  DelayValue_t;
-typedef uint32_t Teid_t;
-typedef uint32_t SequenceNumber_t;
-
-/* Only one type of address can be present at the same time
- * This type is applicable to IP address Information Element defined
- * in 3GPP TS 29.274 #8.9
- */
-typedef struct {
-#define GTP_IP_ADDR_v4  0x0
-#define GTP_IP_ADDR_v6  0x1
-  unsigned present:1;
-  union {
-    uint8_t v4[4];
-    uint8_t v6[16];
-  } address;
-} gtp_ip_address_t;
-
-/* 3GPP TS 29.274 Figure 8.12 */
-
-typedef uint32_t indication_flags_t;
-
-/* Bit mask for octet 7 in indication IE */
-#if defined(UPDATE_RELEASE_10)
-# define S6AF_FLAG  (1U << 20)
-# define S4AF_FLAG  (1U << 19)
-# define MBMDT_FLAG (1U << 18)
-#endif
-#define ISRAU_FLAG  (1U << 17)
-#define CCRSI_FLAG  (1U << 16)
-
-/* Bit mask for octet 6 in indication IE */
-#define SQSI_FLAG   (1U << 15)
-#define UIMSI_FLAG  (1U << 14)
-#define CFSI_FLAG   (1U << 13)
-#define CRSI_FLAG   (1U << 12)
-#define P_FLAG      (1U << 11)
-#define PT_FLAG     (1U << 10)
-#define SI_FLAG     (1U << 9)
-#define MSV_FLAG    (1U << 8)
-
-/* Bit mask for octet 5 in indication IE */
-#define DAF_FLAG    (1U << 7)
-#define DTF_FLAG    (1U << 6)
-#define HI_FLAG     (1U << 5)
-#define DFI_FLAG    (1U << 4)
-#define OI_FLAG     (1U << 3)
-#define ISRSI_FLAG  (1U << 2)
-#define ISRAI_FLAG  (1U << 1)
-#define SGW_CI_FLAG (1U << 0)
-
-typedef struct {
-  pdn_type_t pdn_type;
-  uint8_t ipv4_address[4];
-  uint8_t ipv6_address[16];
-  /* Note in rel.8 the ipv6 prefix length has a fixed value of /64 */
-  uint8_t ipv6_prefix_length;
-} PAA_t;
-
-/* Protocol configuration options from ts124008*/
-#define PCO_MIN_LENGTH                                               3
-#define PCO_MAX_LENGTH                                               253
-#define PCO_CONFIGURATION_PROTOCOL_PPP_FOR_USE_WITH_IP_PDP_TYPE_OR_IP_PDN_TYPE 000b
-
-#define PCO_PI_LCP                                                      (0xC021)
-#define PCO_PI_PAP                                                      (0xC023)
-#define PCO_PI_CHAP                                                     (0xC223)
-#define PCO_PI_IPCP                                                     (0x8021)
-
-#define IPCP_CODE_CONFIGURE_REQUEST                                     (0x01)
-#define IPCP_CODE_CONFIGURE_ACK                                         (0x02)
-#define IPCP_CODE_CONFIGURE_NACK                                        (0x03)
-#define IPCP_CODE_CONFIGURE_REJECT                                      (0x04)
-#define IPCP_CODE_TERMINATE_REQUEST                                     (0x05)
-#define IPCP_CODE_TERMINATE_ACK                                         (0x06)
-#define IPCP_CODE_REJECT                                                (0x07)
-
-#define IPCP_OPTION_PRIMARY_DNS_SERVER_IP_ADDRESS                       (0x81)
-#define IPCP_OPTION_SECONDARY_DNS_SERVER_IP_ADDRESS                     (0x83)
-
-/* CONTAINER IDENTIFIER MS to network direction:*/
-#define PCO_CI_P_CSCF_IPV6_ADDRESS_REQUEST                              (0x0001)
-#define PCO_CI_DNS_SERVER_IPV6_ADDRESS_REQUEST                          (0x0003)
-#define PCO_CI_MS_SUPPORT_OF_NETWORK_REQUESTED_BEARER_CONTROL_INDICATOR (0x0005)
-#define PCO_CI_DSMIPV6_HOME_AGENT_ADDRESS_REQUEST                       (0x0007)
-#define PCO_CI_DSMIPV6_HOME_NETWORK_PREFIX_REQUEST                      (0x0008)
-#define PCO_CI_DSMIPV6_IPV4_HOME_AGENT_ADDRESS_REQUEST                  (0x0009)
-#define PCO_CI_IP_ADDRESS_ALLOCATION_VIA_NAS_SIGNALLING                 (0x000A)
-#define PCO_CI_IPV4_ADDRESS_ALLOCATION_VIA_DHCPV4                       (0x000B)
-#define PCO_CI_P_CSCF_IPV4_ADDRESS_REQUEST                              (0x000C)
-#define PCO_CI_DNS_SERVER_IPV4_ADDRESS_REQUEST                          (0x000D)
-#define PCO_CI_MSISDN_REQUEST                                           (0x000E)
-#define PCO_CI_IFOM_SUPPORT_REQUEST                                     (0x000F)
-#define PCO_CI_IPV4_LINK_MTU_REQUEST                                    (0x0010)
-
-/* CONTAINER IDENTIFIER Network to MS direction:*/
-#define PCO_CI_P_CSCF_IPV6_ADDRESS                                      (0x0001)
-#define PCO_CI_IM_CN_SUBSYSTEM_SIGNALING_FLAG                           (0x0002)
-#define PCO_CI_DNS_SERVER_IPV6_ADDRESS                                  (0x0003)
-#define PCO_CI_POLICY_CONTROL_REJECTION_CODE                            (0x0004)
-#define PCO_CI_SELECTED_BEARER_CONTROL_MODE                             (0x0005)
-#define PCO_CI_DSMIPV6_HOME_AGENT_ADDRESS                               (0x0007)
-#define PCO_CI_DSMIPV6_HOME_NETWORK_PREFIX                              (0x0008)
-#define PCO_CI_DSMIPV6_IPV4_HOME_AGENT_ADDRESS                          (0x0009)
-#define PCO_CI_P_CSCF_IPV4_ADDRESS                                      (0x000C)
-#define PCO_CI_DNS_SERVER_IPV4_ADDRESS                                  (0x000D)
-#define PCO_CI_MSISDN                                                   (0x000E)
-#define PCO_CI_IFOM_SUPPORT                                             (0x000F)
-#define PCO_CI_IPV4_LINK_MTU                                            (0x0010)
-
-/* Both directions:*/
-#define PCO_CI_IM_CN_SUBSYSTEM_SIGNALING_FLAG                           (0x0002)
-
-typedef struct pco_flat_s{
-  uint8_t byte[PCO_MAX_LENGTH];
-  uint8_t length;
-} pco_flat_t;
-
-
-#define IMSI(imsi) \
-        (imsi)->digit[0], \
-        (imsi)->digit[1], \
-        (imsi)->digit[2], \
-        (imsi)->digit[3], \
-        (imsi)->digit[4], \
-        (imsi)->digit[5], \
-        (imsi)->digit[6], \
-        (imsi)->digit[7], \
-        (imsi)->digit[8], \
-        (imsi)->digit[9], \
-        (imsi)->digit[10], \
-        (imsi)->digit[11], \
-        (imsi)->digit[12], \
-        (imsi)->digit[13], \
-        (imsi)->digit[14]
-
-typedef struct {
-  uint8_t digit[IMSI_DIGITS_MAX+1]; // +1 for '\0` macro sprintf changed in snprintf
-  uint8_t length;
-} Imsi_t;
-
-typedef struct {
-  uint8_t digit[MSISDN_LENGTH];
-  uint8_t length;
-} Msisdn_t;
-
-#define MEI_IMEI    0x0
-#define MEI_IMEISV  0x1
-
-typedef struct {
-  uint8_t present;
-  union {
-    unsigned imei:15;
-    unsigned imeisv:16;
-  } choice;
-} Mei_t;
-
-typedef struct {
-  uint8_t  mcc[3];
-  uint8_t  mnc[3];
-  uint16_t lac;
-  uint16_t ci;
-} Cgi_t;
-
-typedef struct {
-  uint8_t  mcc[3];
-  uint8_t  mnc[3];
-  uint16_t lac;
-  uint16_t sac;
-} Sai_t;
-
-typedef struct {
-  uint8_t  mcc[3];
-  uint8_t  mnc[3];
-  uint16_t lac;
-  uint16_t rac;
-} Rai_t;
-
-typedef struct {
-  uint8_t  mcc[3];
-  uint8_t  mnc[3];
-  uint16_t tac;
-} Tai_t;
-
-typedef struct {
-  uint8_t  mcc[3];
-  uint8_t  mnc[3];
-  uint32_t eci;
-} Ecgi_t;
-
-typedef struct {
-  uint8_t  mcc[3];
-  uint8_t  mnc[3];
-  uint16_t lac;
-} Lai_t;
-
-#define ULI_CGI  0x01
-#define ULI_SAI  0x02
-#define ULI_RAI  0x04
-#define ULI_TAI  0x08
-#define ULI_ECGI 0x10
-#define ULI_LAI  0x20
-
-typedef struct {
-  uint8_t present;
-  struct {
-    Cgi_t  cgi;
-    Sai_t  sai;
-    Rai_t  rai;
-    Tai_t  tai;
-    Ecgi_t ecgi;
-    Lai_t  lai;
-  } s;
-} Uli_t;
-
-typedef struct {
-  uint8_t mcc[3];
-  uint8_t mnc[3];
-} ServingNetwork_t;
-/*
-typedef enum RatType_e {
-    RAT_TYPE_UTRAN = 1,
-    RAT_TYPE_GERAN,
-    RAT_TYPE_WLAN,
-    RAT_TYPE_GAN,
-    RAT_TYPE_HSPA_EVOLUTION,
-    RAT_TYPE_EUTRAN,
-} RatType_t;*/
-
-/* WARNING: not complete... */
-typedef enum InterfaceType_e {
-  S1_U_ENODEB_GTP_U = 0,
-  S1_U_SGW_GTP_U    = 1,
-  S12_RNC_GTP_U     = 2,
-  S12_SGW_GTP_U     = 3,
-  S5_S8_SGW_GTP_U   = 4,
-  S5_S8_PGW_GTP_U   = 5,
-  S5_S8_SGW_GTP_C   = 6,
-  S5_S8_PGW_GTP_C   = 7,
-  S11_MME_GTP_C     = 10,
-  S11_SGW_GTP_C     = 11,
-} InterfaceType_t;
-
-typedef struct {
-  unsigned        ipv4:1;
-  unsigned        ipv6:1;
-  InterfaceType_t interface_type;
-  Teid_t          teid; ///< TEID or GRE Key
-  uint32_t        ipv4_address;
-  uint8_t         ipv6_address[16];
-} FTeid_t;
-/*
- *              typedef struct {
-                  pdn_type_t pdn_type;
-                  union {
-                      uint8_t ipv4_address[4];
-                      uint8_t ipv6_address[16];
-                  } address;
-              } ip_address_t;
-
- */
-#define FTEID_T_2_IP_ADDRESS_T(fte_p,ip_p) \
-do { \
-    if (fte_p->ipv4) { \
-        ip_p->pdn_type = IPv4; \
-        ip_p->address.ipv4_address[0] = (uint8_t)(fte_p->ipv4_address & 0x000000FF);         \
-        ip_p->address.ipv4_address[1] = (uint8_t)((fte_p->ipv4_address & 0x0000FF00) >> 8);  \
-        ip_p->address.ipv4_address[2] = (uint8_t)((fte_p->ipv4_address & 0x00FF0000) >> 16); \
-        ip_p->address.ipv4_address[3] = (uint8_t)((fte_p->ipv4_address & 0xFF000000) >> 24); \
-    } \
-    if (fte_p->ipv6) { \
-        if (fte_p->ipv4) { \
-            ip_p->pdn_type = IPv4_AND_v6; \
-        } else { \
-            ip_p->pdn_type = IPv6; \
-        } \
-        memcpy(ip_p->address.ipv6_address, fte_p->ipv6_address, 16); \
-    } \
-} while (0)
-
-typedef enum {
-  TARGET_ID_RNC_ID       = 0,
-  TARGET_ID_MACRO_ENB_ID = 1,
-  TARGET_ID_CELL_ID      = 2,
-  TARGET_ID_HOME_ENB_ID  = 3
-                           /* Other values are spare */
-} target_type_t;
-
-typedef struct {
-  uint16_t lac;
-  uint8_t  rac;
-
-  /* Length of RNC Id can be 2 bytes if length of element is 8
-   * or 4 bytes long if length is 10.
-   */
-  uint32_t rnc_id;
-} rnc_id_t;
-
-typedef struct {
-  unsigned enb_id:20;
-  uint16_t tac;
-} macro_enb_id_t;
-
-typedef struct {
-  unsigned enb_id:28;
-  uint16_t tac;
-} home_enb_id_t;
-
-typedef struct {
-  /* Common part */
-  uint8_t target_type;
-
-  uint8_t  mcc[3];
-  uint8_t  mnc[3];
-  union {
-    rnc_id_t       rnc_id;
-    macro_enb_id_t macro_enb_id;
-    home_enb_id_t  home_enb_id;
-  } target_id;
-} target_identification_t;
-
-typedef enum SelectionMode_e {
-  MS_O_N_P_APN_S_V    = 0,    ///< MS or network provided APN, subscribed verified
-  MS_P_APN_S_N_V      = 1,    ///< MS provided APN, subscription not verified
-  N_P_APN_S_N_V       = 2,    ///< Network provided APN, subscription not verified
-} SelectionMode_t;
-
-typedef struct {
-  uint32_t uplink_ambr;
-  uint32_t downlink_ambr;
-} AMBR_t;
-
-typedef enum node_id_type_e {
-  GLOBAL_UNICAST_IPv4 = 0,
-  GLOBAL_UNICAST_IPv6 = 1,
-  TYPE_EXOTIC         = 2, ///< (MCC * 1000 + MNC) << 12 + Integer value assigned to MME by operator
-} node_id_type_t;
-
-typedef struct {
-  node_id_type_t node_id_type;
-  uint16_t       csid;          ///< Connection Set Identifier
-  union {
-    uint32_t   unicast_ipv4;
-    uint8_t    unicast_ipv6[16];
-    struct {
-      uint16_t mcc;
-      uint16_t mnc;
-      uint16_t operator_specific_id;
-    } exotic;
-  } node_id;
-} FQ_CSID_t;
-
-typedef struct {
-  uint8_t  time_zone;
-  unsigned daylight_saving_time:2;
-} UETimeZone_t;
-
-typedef enum AccessMode_e {
-  CLOSED_MODE = 0,
-  HYBRID_MODE = 1,
-} AccessMode_t;
-
-typedef struct {
-  uint8_t  mcc[3];
-  uint8_t  mnc[3];
-  uint32_t csg_id;
-  AccessMode_t access_mode;
-  unsigned lcsg:1;
-  unsigned cmi:1;
-} UCI_t;
-
-typedef struct {
-  /* PPC (Prohibit Payload Compression):
-   * This flag is used to determine whether an SGSN should attempt to
-   * compress the payload of user data when the users asks for it
-   * to be compressed (PPC = 0), or not (PPC = 1).
-   */
-  unsigned ppc:1;
-
-  /* VB (Voice Bearer):
-   * This flag is used to indicate a voice bearer when doing PS-to-CS
-   * SRVCC handover.
-   */
-  unsigned vb:1;
-} bearer_flags_t;
-
-#define PRE_EMPTION_CAPABILITY_ENABLED  (0x0)
-#define PRE_EMPTION_CAPABILITY_DISABLED (0x1)
-#define PRE_EMPTION_VULNERABILITY_ENABLED  (0x0)
-#define PRE_EMPTION_VULNERABILITY_DISABLED (0x1)
-
-typedef struct {
-  /* PCI (Pre-emption Capability)
-   * The following values are defined:
-   * - PRE-EMPTION_CAPABILITY_ENABLED (0)
-   *    This value indicates that the service data flow or bearer is allowed
-   *    to get resources that were already assigned to another service data
-   *    flow or bearer with a lower priority level.
-   * - PRE-EMPTION_CAPABILITY_DISABLED (1)
-   *    This value indicates that the service data flow or bearer is not
-   *    allowed to get resources that were already assigned to another service
-   *    data flow or bearer with a lower priority level.
-   * Default value: PRE-EMPTION_CAPABILITY_DISABLED
-   */
-  unsigned pci:1;
-  /* PL (Priority Level): defined in 3GPP TS.29.212 #5.3.45
-   * Values 1 to 15 are defined, with value 1 as the highest level of priority.
-   * Values 1 to 8 should only be assigned for services that are authorized to
-   * receive prioritized treatment within an operator domain. Values 9 to 15
-   * may be assigned to resources that are authorized by the home network and
-   * thus applicable when a UE is roaming.
-   */
-  unsigned pl:4;
-  /* PVI (Pre-emption Vulnerability): defined in 3GPP TS.29.212 #5.3.47
-   * Defines whether a service data flow can lose the resources assigned to it
-   * in order to admit a service data flow with higher priority level.
-   * The following values are defined:
-   * - PRE-EMPTION_VULNERABILITY_ENABLED (0)
-   *   This value indicates that the resources assigned to the service data
-   *   flow or bearer can be pre-empted and allocated to a service data flow
-   *   or bearer with a higher priority level.
-   * - PRE-EMPTION_VULNERABILITY_DISABLED (1)
-   *   This value indicates that the resources assigned to the service data
-   *   flow or bearer shall not be pre-empted and allocated to a service data
-   *   flow or bearer with a higher priority level.
-   * Default value: EMPTION_VULNERABILITY_ENABLED
-   */
-  unsigned pvi:1;
-  uint8_t  qci;
-  ambr_t   gbr;           ///< Guaranteed bit rate
-  ambr_t   mbr;           ///< Maximum bit rate
-} BearerQOS_t;
-
-/* TFT operation Code */
-typedef enum {
-  /* 0 = spare */
-
-  CREATE_NEW_TFT                          = 0x1,
-  DELETE_EXISTING_TFT                     = 0x2,
-  ADD_PACKET_FILTERS_TO_EXISTING_TFT      = 0x3,
-  REPLACE_PACKET_FILTERS_IN_EXISTING_TFT  = 0x4,
-  DELETE_PACKET_FILTERS_FROM_EXISTING_TFT = 0x5,
-  NO_TFT_OPERATION                        = 0x6,
-
-  TFT_OPERATION_CODE_MAX
-
-  /* Other Values Reserved */
-} tft_operation_code_t;
-
-/* Defined in 3GPP TS 24.008 Table 10.5.162 */
-typedef enum {
-  PACKET_FILTER_PRE_REL_7         = 0,
-  PACKET_FILTER_DIRECTION_DL_ONLY = 1,
-  PACKET_FILTER_DIRECTION_UL_ONLY = 2,
-  PACKET_FILTER_BIDIRECTIONAL     = 3,
-} packet_filter_direction_t;
-
-/* The Traffic Flow Template is specified in 3GPP TS 24.008 #10.5.6.12
- */
-typedef struct {
-  /* The TFT operation code "No TFT operation" shall be used
-   * if a parameters list is included but no packet filter
-   * list is included in the traffic flow template information
-   * element.
-   */
-  tft_operation_code_t tft_operation_code;
-
-  /* The E bit indicates if a parameters list is included
-   * in the TFT IE and it is encoded as follows:
-   * - 0 parameters list is not included
-   * - 1 parameters list is included
-   */
-  unsigned             e_bit:1;
-
-  /* For the "delete existing TFT" operation and for the "no TFT
-   * operation", the number of packet filters shall be coded
-   * as 0. For all other operations, the number of packet filters
-   * shall be greater than 0 and less than or equal to 15.
-   */
-  uint8_t              number_of_packet_filters;
-
-  /* TODO: add packet filter list as defined in 3GPP TS 29.274 Table 10.5.162 */
-} tft_t;
-
-typedef enum node_type_e {
-  NODE_TYPE_MME  = 0,
-  NODE_TYPE_SGSN = 1
-} node_type_t;
-
-
-/* Cause as defined in 3GPP TS 29.274 #8.4 */
-typedef enum SGWCause_e {
-  /* Request / Initial message */
-  LOCAL_DETACH                    = 2,
-  COMPLETE_DETACH                 = 3,
-  RAT_CHANGE_3GPP_TO_NON_3GPP     = 4,  ///< RAT changed from 3GPP to Non-3GPP
-  ISR_DEACTIVATION                = 5,
-  ERROR_IND_FROM_RNC_ENB_SGSN     = 6,
-  IMSI_DETACH_ONLY                = 7,
-  /* Acceptance in a Response/Triggered message */
-  REQUEST_ACCEPTED                = 16,
-  REQUEST_ACCEPTED_PARTIALLY      = 17,
-  NEW_PDN_TYPE_NW_PREF            = 18, ///< New PDN type due to network preference
-  NEW_PDN_TYPE_SAB_ONLY           = 19, ///< New PDN type due to single address bearer only
-  /* Rejection in a Response triggered message. */
-  CONTEXT_NOT_FOUND               = 64,
-  INVALID_MESSAGE_FORMAT          = 65,
-  INVALID_LENGTH                  = 67,
-  SERVICE_NOT_SUPPORTED           = 68,
-  MANDATORY_IE_INCORRECT          = 69,
-  MANDATORY_IE_MISSING            = 70,
-  SYSTEM_FAILURE                  = 72,
-  NO_RESOURCES_AVAILABLE          = 73,
-  SEMANTIC_ERROR_IN_TFT           = 74,
-  SYNTACTIC_ERROR_IN_TFT          = 75,
-  SEMANTIC_ERRORS_IN_PF           = 76,
-  SYNTACTIC_ERRORS_IN_PF          = 77,
-  MISSING_OR_UNKNOWN_APN          = 78,
-  GRE_KEY_NOT_FOUND               = 80,
-  RELOCATION_FAILURE              = 81,
-  DENIED_IN_RAT                   = 82,
-  UE_NOT_RESPONDING               = 87,
-  UE_REFUSES                      = 88,
-  SERVICE_DENIED                  = 89,
-  UNABLE_TO_PAGE_UE               = 90,
-  NO_MEMORY_AVAILABLE             = 91,
-  REQUEST_REJECTED                = 94,
-  DATA_FORWARDING_NOT_SUPPORTED   = 106,
-  INVALID_REPLY_FROM_REMOTE_PEER  = 107,
-  FALLBACK_TO_GTPV1               = 108,
-  INVALID_PEER                    = 109,
-  TEMP_REJECT_HO_IN_PROGRESS      = 110, ///< Temporarily rejected due to handover procedure in progress
-  REJECTED_FOR_PMIPv6_REASON      = 112, ///< Request rejected for a PMIPv6 reason (see 3GPP TS 29.275 [26]).
-  M_PDN_APN_NOT_ALLOWED           = 116, ///< Multiple PDN connections for a given APN not allowed.
-  SGW_CAUSE_MAX
-} SGWCause_t;
-
-typedef struct {
-  uint8_t  cause_value;
-  uint8_t  pce:1;
-  uint8_t  bce:1;
-  uint8_t  cs:1;
-
-  uint8_t  offending_ie_type;
-  uint16_t offending_ie_length;
-  uint8_t  offending_ie_instance;
-} gtp_cause_t;
-
-typedef struct {
-  uint8_t     eps_bearer_id;    ///< EPS Bearer ID
-  BearerQOS_t bearer_level_qos;
-  tft_t       tft;              ///< Bearer TFT
-} bearer_to_create_t;
-
-typedef struct {
-  uint8_t      eps_bearer_id;       ///< EPS Bearer ID
-  SGWCause_t   cause;
-
-  /* This parameter is used on S11 interface only */
-  FTeid_t      s1u_sgw_fteid;       ///< S1-U SGW F-TEID
-
-  /* This parameter is used on S4 interface only */
-  FTeid_t      s4u_sgw_fteid;       ///< S4-U SGW F-TEID
-
-  /* This parameter is used on S11 and S5/S8 interface only for a
-   * GTP-based S5/S8 interface and during:
-   * - E-UTRAN Inintial attch
-   * - PDP Context Activation
-   * - UE requested PDN connectivity
-   */
-  FTeid_t      s5_s8_u_pgw_fteid;   ///< S4-U SGW F-TEID
-
-  /* This parameter is used on S4 interface only and when S12 interface is used */
-  FTeid_t      s12_sgw_fteid;       ///< S12 SGW F-TEID
-
-  /* This parameter is received only if the QoS parameters have been modified */
-  BearerQOS_t *bearer_level_qos;
-
-  tft_t        tft;                 ///< Bearer TFT
-} bearer_context_created_t;
-
-typedef struct {
-  uint8_t    eps_bearer_id;   ///< EPS Bearer ID
-  SGWCause_t cause;
-  FTeid_t    s1u_sgw_fteid;   ///< Sender F-TEID for user plane
-} bearer_context_modified_t;
-
-typedef struct {
-  uint8_t    eps_bearer_id;   ///< EPS bearer ID
-  SGWCause_t cause;
-} bearer_for_removal_t;
-
-typedef struct {
-  uint8_t eps_bearer_id;      ///< EPS Bearer ID
-  FTeid_t s1_eNB_fteid;       ///< S1 eNodeB F-TEID
-} bearer_context_to_modify_t;
-
-#endif  /* SGW_LITE_IE_DEFS_H_ */
-
diff --git a/openair-cn/SGW-LITE/sgw_lite_task.c b/openair-cn/SGW-LITE/sgw_lite_task.c
deleted file mode 100644
index 27f5836bb41a97f2fce4d673333ea282ee501520..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/sgw_lite_task.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file sgw_lite_task.c
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#define SGW_LITE
-#define SGW_LITE_TASK_C
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <assert.h>
-
-#include "intertask_interface.h"
-#include "mme_config.h"
-#include "sgw_lite_defs.h"
-#include "sgw_lite_handlers.h"
-#include "sgw_lite.h"
-#include "hashtable.h"
-#include "spgw_config.h"
-#include "pgw_lite_paa.h"
-#include "msc.h"
-
-spgw_config_t spgw_config;
-sgw_app_t     sgw_app;
-pgw_app_t     pgw_app;
-
-static void *sgw_lite_intertask_interface(void *args_p)
-{
-  itti_mark_task_ready(TASK_SPGW_APP);
-  MSC_START_USE();
-
-  while(1) {
-    MessageDef *received_message_p;
-    itti_receive_msg(TASK_SPGW_APP, &received_message_p);
-
-    switch (ITTI_MSG_ID(received_message_p)) {
-    case SGW_CREATE_SESSION_REQUEST: {
-      /* We received a create session request from MME (with GTP abstraction here)
-       * procedures might be:
-       *      E-UTRAN Initial Attach
-       *      UE requests PDN connectivity
-       */
-      sgw_lite_handle_create_session_request(&received_message_p->ittiMsg.sgwCreateSessionRequest);
-    }
-    break;
-
-    case SGW_MODIFY_BEARER_REQUEST: {
-      sgw_lite_handle_modify_bearer_request(&received_message_p->ittiMsg.sgwModifyBearerRequest);
-    }
-    break;
-
-    case SGW_RELEASE_ACCESS_BEARERS_REQUEST: {
-      sgw_lite_handle_release_access_bearers_request(&received_message_p->ittiMsg.sgwReleaseAccessBearersRequest);
-    }
-    break;
-
-    case SGW_DELETE_SESSION_REQUEST: {
-      sgw_lite_handle_delete_session_request(&received_message_p->ittiMsg.sgwDeleteSessionRequest);
-    }
-    break;
-
-    case GTPV1U_CREATE_TUNNEL_RESP: {
-      SPGW_APP_DEBUG("Received teid for S1-U: %u and status: %s\n",
-                     received_message_p->ittiMsg.gtpv1uCreateTunnelResp.S1u_teid ,
-                     received_message_p->ittiMsg.gtpv1uCreateTunnelResp.status == 0 ? "Success" :
-                     "Failure");
-      sgw_lite_handle_gtpv1uCreateTunnelResp(&received_message_p->ittiMsg.gtpv1uCreateTunnelResp);
-    }
-    break;
-
-    case GTPV1U_UPDATE_TUNNEL_RESP: {
-      sgw_lite_handle_gtpv1uUpdateTunnelResp(&received_message_p->ittiMsg.gtpv1uUpdateTunnelResp);
-    }
-    break;
-
-    case SGI_CREATE_ENDPOINT_RESPONSE: {
-      sgw_lite_handle_sgi_endpoint_created(&received_message_p->ittiMsg.sgiCreateEndpointResp);
-    }
-    break;
-
-    case SGI_UPDATE_ENDPOINT_RESPONSE: {
-      sgw_lite_handle_sgi_endpoint_updated(&received_message_p->ittiMsg.sgiUpdateEndpointResp);
-    }
-    break;
-
-    case TERMINATE_MESSAGE: {
-      itti_exit_task();
-    }
-    break;
-
-    default: {
-      SPGW_APP_DEBUG("Unkwnon message ID %d:%s\n",
-                     ITTI_MSG_ID(received_message_p),
-                     ITTI_MSG_NAME(received_message_p));
-    }
-    break;
-    }
-
-    itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), received_message_p);
-    received_message_p = NULL;
-  }
-
-  return NULL;
-}
-
-
-
-int sgw_lite_init(char* config_file_name_pP)
-{
-  SPGW_APP_DEBUG("Initializing SPGW-APP  task interface\n");
-  spgw_system("modprobe ip_tables",    SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe x_tables",     SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -P INPUT ACCEPT", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -F INPUT",     SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -P OUTPUT ACCEPT", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -F OUTPUT",    SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -P FORWARD ACCEPT", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -F FORWARD",   SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -t nat    -F", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -t mangle -F", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -t filter -F", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -t raw    -F", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -t nat    -Z", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -t mangle -Z", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -t filter -Z", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("iptables -t raw    -Z", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("ip route flush cache",  SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("rmmod iptable_raw    > /dev/null 2>&1", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("rmmod iptable_mangle > /dev/null 2>&1", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("rmmod iptable_nat    > /dev/null 2>&1", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("rmmod iptable_filter > /dev/null 2>&1", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("rmmod ip_tables      > /dev/null 2>&1", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("rmmod xt_state xt_mark xt_tcpudp xt_connmark ipt_LOG ipt_MASQUERADE > /dev/null 2>&1", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("rmmod x_tables       > /dev/null 2>&1", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("rmmod nf_conntrack_netlink nfnetlink nf_nat nf_conntrack_ipv4 nf_conntrack  > /dev/null 2>&1", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe ip_tables",      SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe iptable_filter", SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe iptable_mangle", SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe iptable_nat",    SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe iptable_raw",    SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe ipt_MASQUERADE", SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe ipt_LOG",        SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe nf_conntrack",   SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe nf_conntrack_ipv4", SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe nf_nat",         SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("modprobe x_tables",       SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("sysctl -w net.ipv4.ip_forward=1", SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("sysctl -w net.ipv4.conf.all.accept_local=1",SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("sysctl -w net.ipv4.conf.all.log_martians=1",SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("sysctl -w net.ipv4.conf.all.route_localnet=1",SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("sysctl -w net.ipv4.conf.all.rp_filter=0",SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  spgw_system("sync",                    SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-
-  spgw_config_init(config_file_name_pP, &spgw_config);
-  pgw_lite_load_pool_ip_addresses();
-
-  sgw_app.s11teid2mme_hashtable = hashtable_create (8192, NULL, NULL);
-
-  if (sgw_app.s11teid2mme_hashtable == NULL) {
-    perror("hashtable_create");
-    SPGW_APP_DEBUG("Initializing SPGW-APP task interface: ERROR\n");
-    return -1;
-  }
-
-  sgw_app.s1uteid2enb_hashtable = hashtable_create (8192, NULL, NULL);
-
-  if (sgw_app.s1uteid2enb_hashtable == NULL) {
-    perror("hashtable_create");
-    SPGW_APP_DEBUG("Initializing SPGW-APP task interface: ERROR\n");
-    return -1;
-  }
-
-
-  sgw_app.s11_bearer_context_information_hashtable = hashtable_create (8192, NULL, sgw_lite_cm_free_s_plus_p_gw_eps_bearer_context_information);
-
-  if (sgw_app.s11_bearer_context_information_hashtable == NULL) {
-    perror("hashtable_create");
-    SPGW_APP_DEBUG("Initializing SPGW-APP task interface: ERROR\n");
-    return -1;
-  }
-
-  sgw_app.sgw_interface_name_for_S1u_S12_S4_up = spgw_config.sgw_config.ipv4.sgw_interface_name_for_S1u_S12_S4_up;
-  sgw_app.sgw_ip_address_for_S1u_S12_S4_up     = spgw_config.sgw_config.ipv4.sgw_ipv4_address_for_S1u_S12_S4_up;
-  sgw_app.sgw_interface_name_for_S11_S4        = spgw_config.sgw_config.ipv4.sgw_interface_name_for_S11;
-  sgw_app.sgw_ip_address_for_S11_S4            = spgw_config.sgw_config.ipv4.sgw_ipv4_address_for_S11;
-  //sgw_app.sgw_ip_address_for_S5_S8_cp          = spgw_config.sgw_config.ipv4.sgw_ip_address_for_S5_S8_cp;
-  sgw_app.sgw_ip_address_for_S5_S8_up          = spgw_config.sgw_config.ipv4.sgw_ipv4_address_for_S5_S8_up;
-
-  if (itti_create_task(TASK_SPGW_APP,
-                       &sgw_lite_intertask_interface, NULL) < 0) {
-    perror("pthread_create");
-    SPGW_APP_DEBUG("Initializing SPGW-APP task interface: ERROR\n");
-    return -1;
-  }
-
-  SPGW_APP_DEBUG("Initializing SPGW-APP task interface: DONE\n");
-  return 0;
-}
diff --git a/openair-cn/SGW-LITE/spgw_config.c b/openair-cn/SGW-LITE/spgw_config.c
deleted file mode 100755
index 6a490e772d7fc1a0eb41a55948a7cdff60533358..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/spgw_config.c
+++ /dev/null
@@ -1,601 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file spgw_config.c
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-#define SGW_LITE
-#define SPGW_CONFIG_C
-
-#include <string.h>
-#include <libconfig.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <netdb.h>
-
-#include "log.h"
-#include "assertions.h"
-#include "spgw_config.h"
-#include "sgw_lite_defs.h"
-#include "intertask_interface.h"
-
-#ifdef LIBCONFIG_LONG
-#define libconfig_int long
-#else
-#define libconfig_int int
-#endif
-
-#define NIPADDR(addr) \
-        (uint8_t)(addr & 0x000000FF), \
-        (uint8_t)((addr & 0x0000FF00) >> 8), \
-        (uint8_t)((addr & 0x00FF0000) >> 16), \
-        (uint8_t)((addr & 0xFF000000) >> 24)
-
-#define HIPADDR(addr) \
-        (uint8_t)((addr & 0xFF000000) >> 24),\
-        (uint8_t)((addr & 0x00FF0000) >> 16),\
-        (uint8_t)((addr & 0x0000FF00) >> 8), \
-        (uint8_t)(addr & 0x000000FF)
-
-#define NIP6ADDR(addr) \
-        ntohs((addr)->s6_addr16[0]), \
-        ntohs((addr)->s6_addr16[1]), \
-        ntohs((addr)->s6_addr16[2]), \
-        ntohs((addr)->s6_addr16[3]), \
-        ntohs((addr)->s6_addr16[4]), \
-        ntohs((addr)->s6_addr16[5]), \
-        ntohs((addr)->s6_addr16[6]), \
-        ntohs((addr)->s6_addr16[7])
-
-#define IN6_ARE_ADDR_MASKED_EQUAL(a,b,m) \
-           (((((__const uint32_t *) (a))[0] & (((__const uint32_t *) (m))[0])) == (((__const uint32_t *) (b))[0] & (((__const uint32_t *) (m))[0])))  \
-         && ((((__const uint32_t *) (a))[1] & (((__const uint32_t *) (m))[1])) == (((__const uint32_t *) (b))[1] & (((__const uint32_t *) (m))[1])))  \
-         && ((((__const uint32_t *) (a))[2] & (((__const uint32_t *) (m))[2])) == (((__const uint32_t *) (b))[2] & (((__const uint32_t *) (m))[2])))  \
-         && ((((__const uint32_t *) (a))[3] & (((__const uint32_t *) (m))[3])) == (((__const uint32_t *) (b))[3] & (((__const uint32_t *) (m))[3]))))
-
-void trim(char* srcP, int sizeP);
-void sgw_ipv6_mask_in6_addr( struct in6_addr *addr6_pP, int maskP);
-
-
-void
-trim(
-  char* srcP,
-  int sizeP)
-{
-  if(srcP == NULL)
-    return;
-
-  const char* current = srcP;
-  unsigned int i = 0;
-
-  while((*current) != '\0' && (i < (sizeP-1))) {
-    if((*current != ' ') && (*current != '\t')) {
-      srcP[i++] = *current;
-    }
-
-    ++current;
-  }
-
-  srcP[i] = '\0';
-}
-
-
-
-void
-sgw_ipv6_mask_in6_addr(
-  struct in6_addr *addr6_pP,
-  int maskP)
-{
-  int      addr8_idx;
-
-  addr8_idx = maskP / 8;
-  maskP     = maskP % 8;
-
-  if (maskP > 0) {
-    addr6_pP->s6_addr[addr8_idx] = addr6_pP->s6_addr[addr8_idx] & (0xFF << (8 - maskP));
-    addr8_idx += 1;
-  }
-
-  while (addr8_idx < 16) {
-    addr6_pP->s6_addr[addr8_idx++] = 0;
-  }
-}
-
-
-int spgw_system(char *command_pP, spgw_system_abort_control_e abort_on_errorP, const char * const file_nameP, const int line_numberP)
-{
-  int ret = -1;
-
-  if (command_pP) {
-    SPGW_APP_INFO("system command: %s\n",command_pP);
-    ret = system(command_pP);
-
-    if (ret != 0) {
-      SPGW_APP_ERROR("ERROR in system command %s: %d at %s:%u\n",
-                     command_pP,ret, file_nameP, line_numberP);
-
-      if (abort_on_errorP) {
-        exit(-1); // may be not exit
-      }
-    }
-  }
-
-  return ret;
-}
-
-int spgw_config_process(spgw_config_t* config_pP)
-{
-  char              system_cmd[256];
-  struct in_addr    inaddr;
-  int               ret = 0;
-
-  inaddr.s_addr = config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S1u_S12_S4_up;
-
-  if (strncasecmp("lo",config_pP->sgw_config.ipv4.sgw_interface_name_for_S1u_S12_S4_up, strlen("lo")) == 0) {
-	config_pP->sgw_config.local_to_eNB = TRUE;
-
-  } else {
-	config_pP->sgw_config.local_to_eNB = FALSE;
-
-    if (snprintf(system_cmd, 256,
-    		"insmod $OPENAIR_TARGETS/bin/xt_GTPUSP.ko gtpu_enb_port=2152 gtpu_sgw_port=%u sgw_addr=\"%s\" ",
-    		config_pP->sgw_config.sgw_udp_port_for_S1u_S12_S4_up,
-    		inet_ntoa(inaddr)) > 0) {
-      ret += spgw_system(system_cmd, SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-    } else {
-      SPGW_APP_ERROR("GTPUSP kernel module\n");
-      ret = -1;
-    }
-  }
-
-  if (config_pP->sgw_config.local_to_eNB == TRUE) {
-
-    if (snprintf(system_cmd, 256,
-                 "iptables -t filter -I INPUT -i lo -d %s --protocol sctp -j DROP",
-                 inet_ntoa(inaddr)) > 0) {
-      ret += spgw_system(system_cmd, SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-    } else {
-      SPGW_APP_ERROR("Drop SCTP traffic on S1U\n");
-      ret = -1;
-    }
-
-    if (snprintf(system_cmd, 256,
-    		"iptables -t filter -I INPUT -i lo -s %s --protocol sctp -j DROP",
-    		inet_ntoa(inaddr)) > 0) {
-	  ret += spgw_system(system_cmd, SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-    } else {
-      SPGW_APP_ERROR("Drop SCTP traffic on S1U\n");
-      ret = -1;
-    }
-
-    if (snprintf(system_cmd, 256,
-    		"insmod $OPENAIR_TARGETS/bin/xt_GTPUSP.ko gtpu_enb_port=2153 gtpu_sgw_port=%u sgw_addr=\"%s\" ",
-                 config_pP->sgw_config.sgw_udp_port_for_S1u_S12_S4_up,
-    		inet_ntoa(inaddr)) > 0) {
-      ret += spgw_system(system_cmd, SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-    } else {
-      SPGW_APP_ERROR("GTPUSP kernel module\n");
-      ret = -1;
-    }
-  }
-
-
-  ret += spgw_system("echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects", SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-
-
-  if (snprintf(system_cmd, 256,
-               "ethtool -K %s tso off gso off gro off",
-               config_pP->pgw_config.ipv4.pgw_interface_name_for_SGI) > 0) {
-    SPGW_APP_INFO("Disable tcp segmentation offload, generic segmentation offload: %s\n",system_cmd);
-    ret += spgw_system(system_cmd, SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-  } else {
-    SPGW_APP_ERROR("Disable tcp segmentation offload, generic segmentation offload\n");
-    ret = -1;
-  }
-
-  return ret;
-}
-
-
-int spgw_config_init(char* lib_config_file_name_pP, spgw_config_t* config_pP)
-{
-
-  config_t          cfg;
-  config_setting_t *setting_sgw                          = NULL;
-  char             *sgw_interface_name_for_S1u_S12_S4_up = NULL;
-  char             *sgw_ipv4_address_for_S1u_S12_S4_up   = NULL;
-  char             *sgw_interface_name_for_S5_S8_up      = NULL;
-  char             *sgw_ipv4_address_for_S5_S8_up        = NULL;
-  char             *sgw_interface_name_for_S11           = NULL;
-  char             *sgw_ipv4_address_for_S11             = NULL;
-  char             *sgw_drop_uplink_s1u_traffic          = NULL;
-  char             *sgw_drop_downlink_s1u_traffic        = NULL;
-  libconfig_int     sgw_udp_port_for_S1u_S12_S4_up       = 2152;
-
-  config_setting_t *setting_pgw                  = NULL;
-  config_setting_t *subsetting                   = NULL;
-  config_setting_t *sub2setting                  = NULL;
-  char             *pgw_interface_name_for_S5_S8 = NULL;
-  char             *pgw_ipv4_address_for_S5_S8   = NULL;
-  char             *pgw_interface_name_for_SGI   = NULL;
-  char             *pgw_ipv4_address_for_SGI     = NULL;
-  char             *pgw_masquerade_SGI           = NULL;
-  char             *pgw_default_dns_ipv4_address = NULL;
-  char             *pgw_default_dns_sec_ipv4_address = NULL;
-
-  char             *astring  = NULL;
-  char             *atoken   = NULL;
-  char             *atoken2  = NULL;
-  char             *address  = NULL;
-  char             *cidr     = NULL;
-  char             *mask     = NULL;
-  int               num      = 0;
-  int               i        = 0;
-  unsigned char     buf_in6_addr[sizeof(struct in6_addr)];
-  struct in6_addr   addr6_start;
-  struct in6_addr   addr6_mask;
-  int               prefix_mask = 0;
-  uint64_t          counter64   = 0;
-  unsigned char     buf_in_addr[sizeof(struct in_addr)];
-  struct in_addr    addr_start,in_addr_var;
-  struct in_addr    addr_mask;
-  pgw_lite_conf_ipv4_list_elm_t *ip4_ref = NULL;
-  pgw_lite_conf_ipv6_list_elm_t *ip6_ref = NULL;
-  char              system_cmd[256];
-
-  memset((char*)config_pP, 0 , sizeof(spgw_config_t));
-  STAILQ_INIT(&config_pP->pgw_config.pgw_lite_ipv4_pool_list);
-  STAILQ_INIT(&config_pP->pgw_config.pgw_lite_ipv6_pool_list);
-
-  config_init(&cfg);
-
-  if(lib_config_file_name_pP != NULL) {
-    /* Read the file. If there is an error, report it and exit. */
-    if(! config_read_file(&cfg, lib_config_file_name_pP)) {
-      SPGW_APP_ERROR("%s:%d - %s\n", lib_config_file_name_pP, config_error_line(&cfg), config_error_text(&cfg));
-      config_destroy(&cfg);
-      AssertFatal (1 == 0, "Failed to parse SP-GW configuration file %s!\n", lib_config_file_name_pP);
-    }
-  } else {
-    SPGW_APP_ERROR("No SP-GW configuration file provided!\n");
-    config_destroy(&cfg);
-    AssertFatal (0, "No SP-GW configuration file provided!\n");
-  }
-
-  SPGW_APP_INFO("Parsing configuration file provided %s\n", lib_config_file_name_pP);
-
-  setting_sgw = config_lookup(&cfg, SGW_CONFIG_STRING_SGW_CONFIG);
-
-  if(setting_sgw != NULL) {
-    subsetting = config_setting_get_member (setting_sgw, SGW_CONFIG_STRING_NETWORK_INTERFACES_CONFIG);
-
-    if(subsetting != NULL) {
-      if(  (
-             config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP, (const char **)&sgw_interface_name_for_S1u_S12_S4_up)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP,   (const char **)&sgw_ipv4_address_for_S1u_S12_S4_up)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_INTERFACE_NAME_FOR_S5_S8_UP,      (const char **)&sgw_interface_name_for_S5_S8_up)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_IPV4_ADDRESS_FOR_S5_S8_UP,        (const char **)&sgw_ipv4_address_for_S5_S8_up)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_INTERFACE_NAME_FOR_S11,           (const char **)&sgw_interface_name_for_S11)
-             && config_setting_lookup_string( subsetting, SGW_CONFIG_STRING_SGW_IPV4_ADDRESS_FOR_S11,             (const char **)&sgw_ipv4_address_for_S11)
-           )
-        ) {
-        config_pP->sgw_config.ipv4.sgw_interface_name_for_S1u_S12_S4_up = strdup(sgw_interface_name_for_S1u_S12_S4_up);
-        cidr = strdup(sgw_ipv4_address_for_S1u_S12_S4_up);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S1u_S12_S4_up, "BAD IP ADDRESS FORMAT FOR S1u_S12_S4 !\n" )
-        config_pP->sgw_config.ipv4.sgw_ip_netmask_for_S1u_S12_S4_up = atoi(mask);
-        free(cidr);
-
-        in_addr_var.s_addr = config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S1u_S12_S4_up;
-        SPGW_APP_INFO("Parsing configuration file found sgw_ipv4_address_for_S1u_S12_S4_up: %s/%d on %s\n",
-                      inet_ntoa(in_addr_var),
-                      config_pP->sgw_config.ipv4.sgw_ip_netmask_for_S1u_S12_S4_up,
-                      config_pP->sgw_config.ipv4.sgw_interface_name_for_S1u_S12_S4_up);
-
-
-        config_pP->sgw_config.ipv4.sgw_interface_name_for_S5_S8_up = strdup(sgw_interface_name_for_S5_S8_up);
-        cidr = strdup(sgw_ipv4_address_for_S5_S8_up);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S5_S8_up, "BAD IP ADDRESS FORMAT FOR S5_S8 !\n" )
-        config_pP->sgw_config.ipv4.sgw_ip_netmask_for_S5_S8_up = atoi(mask);
-        free(cidr);
-        in_addr_var.s_addr = config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S5_S8_up;
-        SPGW_APP_INFO("Parsing configuration file found sgw_ipv4_address_for_S5_S8_up: %s/%d on %s\n",
-                      inet_ntoa(in_addr_var),
-                      config_pP->sgw_config.ipv4.sgw_ip_netmask_for_S5_S8_up,
-                      config_pP->sgw_config.ipv4.sgw_interface_name_for_S5_S8_up);
-
-        config_pP->sgw_config.ipv4.sgw_interface_name_for_S11 = strdup(sgw_interface_name_for_S11);
-        cidr = strdup(sgw_ipv4_address_for_S11);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S11, "BAD IP ADDRESS FORMAT FOR S11 !\n" )
-        config_pP->sgw_config.ipv4.sgw_ip_netmask_for_S11 = atoi(mask);
-        free(cidr);
-        in_addr_var.s_addr = config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S11;
-        SPGW_APP_INFO("Parsing configuration file found sgw_ipv4_address_for_S11: %s/%d on %s\n",
-                      inet_ntoa(in_addr_var),
-                      config_pP->sgw_config.ipv4.sgw_ip_netmask_for_S11,
-                      config_pP->sgw_config.ipv4.sgw_interface_name_for_S11);
-      }
-
-
-      if(config_setting_lookup_int(
-            subsetting,
-            SGW_CONFIG_STRING_SGW_PORT_FOR_S1U_S12_S4_UP,
-            &sgw_udp_port_for_S1u_S12_S4_up)
-        ) {
-        config_pP->sgw_config.sgw_udp_port_for_S1u_S12_S4_up = sgw_udp_port_for_S1u_S12_S4_up;
-      } else {
-        config_pP->sgw_config.sgw_udp_port_for_S1u_S12_S4_up = sgw_udp_port_for_S1u_S12_S4_up;
-      }
-
-    }
-  }
-
-  setting_pgw = config_lookup(&cfg, PGW_CONFIG_STRING_PGW_CONFIG);
-
-  if(setting_pgw != NULL) {
-    subsetting = config_setting_get_member (setting_pgw, PGW_CONFIG_STRING_NETWORK_INTERFACES_CONFIG);
-
-    if(subsetting != NULL) {
-      if(  (
-             config_setting_lookup_string(subsetting,
-                                          PGW_CONFIG_STRING_PGW_INTERFACE_NAME_FOR_S5_S8,
-                                          (const char **)&pgw_interface_name_for_S5_S8)
-             && config_setting_lookup_string(subsetting,
-                                             PGW_CONFIG_STRING_PGW_IPV4_ADDRESS_FOR_S5_S8,
-                                             (const char **)&pgw_ipv4_address_for_S5_S8)
-             && config_setting_lookup_string(subsetting,
-                                             PGW_CONFIG_STRING_PGW_INTERFACE_NAME_FOR_SGI,
-                                             (const char **)&pgw_interface_name_for_SGI)
-             && config_setting_lookup_string(subsetting,
-                                             PGW_CONFIG_STRING_PGW_IPV4_ADDR_FOR_SGI,
-                                             (const char **)&pgw_ipv4_address_for_SGI)
-             &&  config_setting_lookup_string(subsetting,
-                                              PGW_CONFIG_STRING_PGW_MASQUERADE_SGI,
-                                              (const char **)&pgw_masquerade_SGI)
-           )
-        ) {
-        config_pP->pgw_config.ipv4.pgw_interface_name_for_S5_S8 = strdup(pgw_interface_name_for_S5_S8);
-        cidr = strdup(pgw_ipv4_address_for_S5_S8);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->pgw_config.ipv4.pgw_ipv4_address_for_S5_S8, "BAD IP ADDRESS FORMAT FOR S5_S8 !\n" )
-        config_pP->pgw_config.ipv4.pgw_ip_netmask_for_S5_S8 = atoi(mask);
-        free(cidr);
-        in_addr_var.s_addr = config_pP->pgw_config.ipv4.pgw_ipv4_address_for_S5_S8;
-        SPGW_APP_INFO("Parsing configuration file found pgw_ipv4_address_for_S5_S8: %s/%d on %s\n",
-                      inet_ntoa(in_addr_var),
-                      config_pP->pgw_config.ipv4.pgw_ip_netmask_for_S5_S8,
-                      config_pP->pgw_config.ipv4.pgw_interface_name_for_S5_S8);
-
-        config_pP->pgw_config.ipv4.pgw_interface_name_for_SGI = strdup(pgw_interface_name_for_SGI);
-        cidr = strdup(pgw_ipv4_address_for_SGI);
-        address = strtok(cidr, "/");
-        mask    = strtok(NULL, "/");
-        IPV4_STR_ADDR_TO_INT_NWBO ( address, config_pP->pgw_config.ipv4.pgw_ipv4_address_for_SGI, "BAD IP ADDRESS FORMAT FOR SGI !\n" )
-        config_pP->pgw_config.ipv4.pgw_ip_netmask_for_SGI = atoi(mask);
-        free(cidr);
-        in_addr_var.s_addr = config_pP->pgw_config.ipv4.pgw_ipv4_address_for_SGI;
-        SPGW_APP_INFO("Parsing configuration file found pgw_ipv4_address_for_SGI: %s/%d on %s\n",
-                      inet_ntoa(in_addr_var),
-                      config_pP->pgw_config.ipv4.pgw_ip_netmask_for_SGI,
-                      config_pP->pgw_config.ipv4.pgw_interface_name_for_SGI);
-
-        if (strcasecmp(pgw_masquerade_SGI, "yes") == 0) {
-          config_pP->pgw_config.pgw_masquerade_SGI=1;
-        } else {
-          config_pP->pgw_config.pgw_masquerade_SGI=0;
-          SPGW_APP_INFO("No masquerading for SGI\n");
-        }
-      } else {
-        SPGW_APP_WARN("CONFIG P-GW / NETWORK INTERFACES parsing failed\n");
-      }
-    } else {
-      SPGW_APP_WARN("CONFIG P-GW / NETWORK INTERFACES not found\n");
-    }
-
-    //!!!------------------------------------!!!
-    spgw_config_process(config_pP);
-    //!!!------------------------------------!!!
-
-    subsetting = config_setting_get_member (setting_pgw, PGW_CONFIG_STRING_IP_ADDRESS_POOL);
-
-    if(subsetting != NULL) {
-      sub2setting = config_setting_get_member (subsetting, PGW_CONFIG_STRING_IPV4_ADDRESS_LIST);
-
-      if(sub2setting != NULL) {
-        num     = config_setting_length(sub2setting);
-
-        for (i = 0; i < num; i++) {
-          astring = config_setting_get_string_elem(sub2setting,i);
-
-          if (astring != NULL) {
-            trim(astring, strlen(astring)+1);
-            // failure, test if there is a range specified in the string
-            atoken = strtok(astring, PGW_CONFIG_STRING_IPV4_PREFIX_DELIMITER);
-
-            if (inet_pton(AF_INET, atoken, buf_in_addr) == 1) {
-              memcpy (&addr_start, buf_in_addr, sizeof(struct in_addr));
-              // valid address
-              atoken2 = strtok(NULL, PGW_CONFIG_STRING_IPV4_PREFIX_DELIMITER);
-              prefix_mask = atoi(atoken2);
-
-              in_addr_var.s_addr = config_pP->sgw_config.ipv4.sgw_ipv4_address_for_S1u_S12_S4_up;
-
-              if (snprintf(system_cmd, 256,
-            	               "iptables -I PREROUTING -t mangle -i %s -d %s/%s ! --protocol sctp   -j CONNMARK --restore-mark",
-            	               config_pP->pgw_config.ipv4.pgw_interface_name_for_SGI, astring, atoken2) > 0) {
-                spgw_system(system_cmd, SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-              } else {
-            	SPGW_APP_ERROR("Restore mark\n");
-              }
-
-              if (snprintf(system_cmd, 256,
-                  "iptables -I OUTPUT -t mangle -s %s/%s -m mark  ! --mark 0 -j CONNMARK --save-mark",
-                  astring, atoken2) > 0) {
-                spgw_system(system_cmd, SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-              } else {
-          	    SPGW_APP_ERROR("Save mark\n");
-          	  }
-              if (snprintf(system_cmd, 256,
-            	               "ip route add  %s/%s dev %s",
-            	               astring, atoken2, config_pP->sgw_config.ipv4.sgw_interface_name_for_S1u_S12_S4_up) > 0) {
-                spgw_system(system_cmd, SPGW_WARN_ON_ERROR, __FILE__, __LINE__);
-              } else {
-            	SPGW_APP_ERROR("Route for UEs\n");
-              }
-
-
-              if ((prefix_mask >= 2)&&(prefix_mask < 32)) {
-                memcpy (&addr_start, buf_in_addr, sizeof(struct in_addr));
-                memcpy (&addr_mask,  buf_in_addr, sizeof(struct in_addr));
-
-                addr_mask.s_addr = addr_mask.s_addr & htonl(0xFFFFFFFF << (32 - prefix_mask));
-
-                if (memcmp(&addr_start, &addr_mask, sizeof(struct in_addr)) != 0) {
-                  AssertFatal(0, "BAD IPV4 ADDR CONFIG/MASK PAIRING %s/%d addr %X mask %X\n",
-                              astring, prefix_mask, addr_start.s_addr, addr_mask.s_addr);
-                }
-
-                counter64 = 0x00000000FFFFFFFF >> prefix_mask; // address Prefix_mask/0..0 not valid
-                counter64 = counter64 - 2;
-
-                do {
-                  addr_start.s_addr = addr_start.s_addr + htonl(2);
-                  ip4_ref = calloc(1, sizeof(pgw_lite_conf_ipv4_list_elm_t));
-                  ip4_ref->addr       = addr_start;
-
-                  STAILQ_INSERT_TAIL(&config_pP->pgw_config.pgw_lite_ipv4_pool_list, ip4_ref, ipv4_entries);
-                  counter64 = counter64 - 1;
-                } while (counter64 > 0);
-
-                //---------------
-                if (config_pP->pgw_config.pgw_masquerade_SGI) {
-                  in_addr_var.s_addr = config_pP->pgw_config.ipv4.pgw_ipv4_address_for_SGI;
-
-                  if (snprintf(system_cmd, 256,
-                               //"iptables -t nat -I POSTROUTING -s %s/%s -o %s  ! --protocol sctp -j SNAT --to-source %s",
-                               "iptables -t nat -I POSTROUTING -s %s/%s  ! --protocol sctp -j SNAT --to-source %s",
-                               astring,
-                               atoken2,
-                               //config_pP->pgw_config.ipv4.pgw_interface_name_for_SGI,
-                               inet_ntoa(in_addr_var)) > 0) {
-                    SPGW_APP_INFO("Masquerade SGI: %s\n",system_cmd);
-                    spgw_system(system_cmd, SPGW_ABORT_ON_ERROR, __FILE__, __LINE__);
-                  } else {
-                    SPGW_APP_ERROR("Masquerade SGI\n");
-                  }
-                }
-              } else {
-                SPGW_APP_ERROR("CONFIG POOL ADDR IPV4: BAD MASQ: %s\n", atoken2);
-              }
-            }
-          }
-        }
-      } else {
-        SPGW_APP_WARN("CONFIG POOL ADDR IPV4: NO IPV4 ADDRESS FOUND\n");
-      }
-
-      sub2setting = config_setting_get_member (subsetting, PGW_CONFIG_STRING_IPV6_ADDRESS_LIST);
-
-      if(sub2setting != NULL) {
-        num     = config_setting_length(sub2setting);
-
-        for (i = 0; i < num; i++) {
-          astring = config_setting_get_string_elem(sub2setting,i);
-
-          if (astring != NULL) {
-            trim(astring, strlen(astring)+1);
-
-            if (inet_pton(AF_INET6, astring, buf_in6_addr) < 1) {
-              // failure, test if there is a range specified in the string
-              atoken = strtok(astring, PGW_CONFIG_STRING_IPV6_PREFIX_DELIMITER);
-
-              if (inet_pton(AF_INET6, astring, buf_in6_addr) == 1) {
-                atoken2 = strtok(NULL, PGW_CONFIG_STRING_IPV6_PREFIX_DELIMITER);
-                prefix_mask = atoi(atoken2);
-                // arbitrary values
-                DevAssert((prefix_mask < 128) && (prefix_mask >= 64));
-
-                memcpy (&addr6_start, buf_in6_addr, sizeof(struct in6_addr));
-                memcpy (&addr6_mask,  buf_in6_addr, sizeof(struct in6_addr));
-                sgw_ipv6_mask_in6_addr(&addr6_mask, prefix_mask);
-
-                if (memcmp(&addr6_start, &addr6_mask, sizeof(struct in6_addr)) != 0) {
-                  AssertFatal(0, "BAD IPV6 ADDR CONFIG/MASK PAIRING %s/%d\n", astring, prefix_mask);
-                }
-
-
-                ip6_ref = calloc(1, sizeof(pgw_lite_conf_ipv6_list_elm_t));
-                ip6_ref->addr       = addr6_start;
-                ip6_ref->prefix_len = prefix_mask;
-                STAILQ_INSERT_TAIL(&config_pP->pgw_config.pgw_lite_ipv6_pool_list, ip6_ref, ipv6_entries);
-
-              }
-            } else {
-              SPGW_APP_WARN("CONFIG POOL ADDR IPV6: FAILED WHILE PARSING %s\n", astring);
-            }
-          }
-        }
-      }
-
-      if(
-        config_setting_lookup_string(setting_pgw,
-                                     PGW_CONFIG_STRING_DEFAULT_DNS_IPV4_ADDRESS,
-                                     (const char **)&pgw_default_dns_ipv4_address)
-        && config_setting_lookup_string(setting_pgw,
-                                        PGW_CONFIG_STRING_DEFAULT_DNS_SEC_IPV4_ADDRESS,
-                                        (const char **)&pgw_default_dns_sec_ipv4_address)) {
-        config_pP->pgw_config.ipv4.pgw_interface_name_for_S5_S8 = strdup(pgw_interface_name_for_S5_S8);
-        IPV4_STR_ADDR_TO_INT_NWBO ( pgw_default_dns_ipv4_address,     config_pP->pgw_config.ipv4.default_dns_v4, "BAD IPv4 ADDRESS FORMAT FOR DEFAULT DNS !\n" )
-        IPV4_STR_ADDR_TO_INT_NWBO ( pgw_default_dns_sec_ipv4_address, config_pP->pgw_config.ipv4.default_dns_sec_v4, "BAD IPv4 ADDRESS FORMAT FOR DEFAULT DNS SEC!\n" )
-        SPGW_APP_INFO("Parsing configuration file default primary DNS IPv4 address: %x\n",
-        		config_pP->pgw_config.ipv4.default_dns_v4);
-        SPGW_APP_INFO("Parsing configuration file default secondary DNS IPv4 address: %x\n",
-        		config_pP->pgw_config.ipv4.default_dns_sec_v4);
-      } else {
-        SPGW_APP_WARN("NO DNS CONFIGURATION FOUND\n");
-      }
-    }
-  } else {
-    SPGW_APP_WARN("CONFIG P-GW not found\n");
-  }
-
-  return 0;
-}
diff --git a/openair-cn/SGW-LITE/spgw_config.h b/openair-cn/SGW-LITE/spgw_config.h
deleted file mode 100755
index 5a201e448238aa51976da4fe1a1a08c89590af9e..0000000000000000000000000000000000000000
--- a/openair-cn/SGW-LITE/spgw_config.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file spgw_config.h
-* \brief
-* \author Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-
-#ifndef SPGW_CONFIG_H_
-#define SPGW_CONFIG_H_
-#include <sys/socket.h> // inet_aton
-#include <netinet/in.h> // inet_aton
-#include <arpa/inet.h>  // inet_aton
-
-#include "queue.h"
-
-#define SGW_CONFIG_STRING_SGW_CONFIG                            "S-GW"
-#define SGW_CONFIG_STRING_NETWORK_INTERFACES_CONFIG             "NETWORK_INTERFACES"
-#define SGW_CONFIG_STRING_SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP  "SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP"
-#define SGW_CONFIG_STRING_SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP    "SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP"
-#define SGW_CONFIG_STRING_SGW_PORT_FOR_S1U_S12_S4_UP            "SGW_IPV4_PORT_FOR_S1U_S12_S4_UP"
-#define SGW_CONFIG_STRING_SGW_INTERFACE_NAME_FOR_S5_S8_UP       "SGW_INTERFACE_NAME_FOR_S5_S8_UP"
-#define SGW_CONFIG_STRING_SGW_IPV4_ADDRESS_FOR_S5_S8_UP         "SGW_IPV4_ADDRESS_FOR_S5_S8_UP"
-#define SGW_CONFIG_STRING_SGW_INTERFACE_NAME_FOR_S11            "SGW_INTERFACE_NAME_FOR_S11"
-#define SGW_CONFIG_STRING_SGW_IPV4_ADDRESS_FOR_S11              "SGW_IPV4_ADDRESS_FOR_S11"
-
-#define PGW_CONFIG_STRING_PGW_CONFIG                            "P-GW"
-#define PGW_CONFIG_STRING_NETWORK_INTERFACES_CONFIG             "NETWORK_INTERFACES"
-#define PGW_CONFIG_STRING_PGW_INTERFACE_NAME_FOR_S5_S8          "PGW_INTERFACE_NAME_FOR_S5_S8"
-#define PGW_CONFIG_STRING_PGW_IPV4_ADDRESS_FOR_S5_S8            "PGW_IPV4_ADDRESS_FOR_S5_S8"
-#define PGW_CONFIG_STRING_PGW_INTERFACE_NAME_FOR_SGI            "PGW_INTERFACE_NAME_FOR_SGI"
-#define PGW_CONFIG_STRING_PGW_IPV4_ADDR_FOR_SGI                 "PGW_IPV4_ADDRESS_FOR_SGI"
-#define PGW_CONFIG_STRING_PGW_MASQUERADE_SGI                    "PGW_MASQUERADE_SGI"
-
-#define PGW_CONFIG_STRING_IP_ADDRESS_POOL                       "IP_ADDRESS_POOL"
-#define PGW_CONFIG_STRING_IPV4_ADDRESS_LIST                     "IPV4_LIST"
-#define PGW_CONFIG_STRING_IPV6_ADDRESS_LIST                     "IPV6_LIST"
-#define PGW_CONFIG_STRING_IPV4_PREFIX_DELIMITER                 " /"
-#define PGW_CONFIG_STRING_IPV6_PREFIX_DELIMITER                 " /"
-#define PGW_CONFIG_STRING_DEFAULT_DNS_IPV4_ADDRESS              "DEFAULT_DNS_IPV4_ADDRESS"
-#define PGW_CONFIG_STRING_DEFAULT_DNS_SEC_IPV4_ADDRESS          "DEFAULT_DNS_SEC_IPV4_ADDRESS"
-
-#define PGW_CONFIG_STRING_INTERFACE_DISABLED                    "none"
-
-#define IPV4_STR_ADDR_TO_INT_NWBO(AdDr_StR,NwBo,MeSsAgE ) do {\
-            struct in_addr inp;\
-            if ( inet_aton(AdDr_StR, &inp ) < 0 ) {\
-                AssertFatal (0, MeSsAgE);\
-            } else {\
-                NwBo = inp.s_addr;\
-            }\
-        } while (0);
-
-typedef struct sgw_config_s {
-  struct {
-    char     *sgw_interface_name_for_S1u_S12_S4_up;
-    uint32_t  sgw_ipv4_address_for_S1u_S12_S4_up;
-    int       sgw_ip_netmask_for_S1u_S12_S4_up;
-
-    char     *sgw_interface_name_for_S5_S8_up;
-    uint32_t  sgw_ipv4_address_for_S5_S8_up;
-    int       sgw_ip_netmask_for_S5_S8_up;
-
-    char     *sgw_interface_name_for_S11;
-    uint32_t  sgw_ipv4_address_for_S11;
-    int       sgw_ip_netmask_for_S11;
-  } ipv4;
-  int sgw_udp_port_for_S1u_S12_S4_up;
-
-  uint8_t       sgw_drop_uplink_traffic;
-  uint8_t       sgw_drop_downlink_traffic;
-  uint8_t       local_to_eNB;
-} sgw_config_t;
-
-// may be more
-#define PGW_MAX_ALLOCATED_PDN_ADDRESSES 1024
-
-
-typedef struct pgw_lite_conf_ipv4_list_elm_s {
-  STAILQ_ENTRY(pgw_lite_conf_ipv4_list_elm_s) ipv4_entries;
-  struct in_addr  addr;
-} pgw_lite_conf_ipv4_list_elm_t;
-
-
-typedef struct pgw_lite_conf_ipv6_list_elm_s {
-  STAILQ_ENTRY(pgw_lite_conf_ipv6_list_elm_s) ipv6_entries;
-  struct in6_addr addr;
-  int             prefix_len;
-} pgw_lite_conf_ipv6_list_elm_t;
-
-
-typedef struct pgw_config_s {
-  struct {
-    char     *pgw_interface_name_for_S5_S8;
-    uint32_t  pgw_ipv4_address_for_S5_S8;
-    int       pgw_ip_netmask_for_S5_S8;
-
-    char     *pgw_interface_name_for_SGI;
-    uint32_t  pgw_ipv4_address_for_SGI;
-    int       pgw_ip_netmask_for_SGI;
-
-    uint32_t  default_dns_v4;    // NBO
-    uint32_t  default_dns_sec_v4;// NBO
-  } ipv4;
-  uint8_t   pgw_masquerade_SGI;
-
-  STAILQ_HEAD(pgw_lite_ipv4_pool_head_s,      pgw_lite_conf_ipv4_list_elm_s) pgw_lite_ipv4_pool_list;
-  STAILQ_HEAD(pgw_lite_ipv6_pool_head_s,      pgw_lite_conf_ipv6_list_elm_s) pgw_lite_ipv6_pool_list;
-} pgw_config_t;
-
-typedef struct spgw_config_s {
-  sgw_config_t sgw_config;
-  pgw_config_t pgw_config;
-} spgw_config_t;
-
-#ifndef SGW_LITE
-extern spgw_config_t spgw_config;
-#endif
-
-typedef enum { SPGW_WARN_ON_ERROR = 0, SPGW_ABORT_ON_ERROR} spgw_system_abort_control_e;
-
-int spgw_system(char *command_pP, spgw_system_abort_control_e abort_on_errorP, const char * const file_nameP, const int line_numberP);
-int spgw_config_process(spgw_config_t* config_pP);
-int spgw_config_init(char* lib_config_file_name_pP, spgw_config_t* config_pP);
-
-#endif /* ENB_CONFIG_H_ */
diff --git a/openair-cn/TEST/EPC_TEST/generate_scenario.c b/openair-cn/TEST/EPC_TEST/generate_scenario.c
index bda35e413a542e66d9dedf8773a01b1c5354f370..44a38a57c6bc5046152c0f8ff63dfb53b9d01ecc 100644
--- a/openair-cn/TEST/EPC_TEST/generate_scenario.c
+++ b/openair-cn/TEST/EPC_TEST/generate_scenario.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair-cn/TEST/Makefile.am b/openair-cn/TEST/Makefile.am
index 29aca6ce15e6363edc11b7d0ec99309af532360d..7bc55fe600e1283d007961ca421f44e54ca131bd 100644
--- a/openair-cn/TEST/Makefile.am
+++ b/openair-cn/TEST/Makefile.am
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/openair-cn/TEST/oaisim_mme_client_test.c b/openair-cn/TEST/oaisim_mme_client_test.c
index 6fe0329d8fdb0049f9355756d6adea3596ecd0d1..b2eea62424768d8c3abe148b2fb461c864576feb 100644
--- a/openair-cn/TEST/oaisim_mme_client_test.c
+++ b/openair-cn/TEST/oaisim_mme_client_test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/oaisim_mme_itti_test.c b/openair-cn/TEST/oaisim_mme_itti_test.c
index 599a089d8ca350911aad26937c6e4c5b415fa588..06fb3e191cf46a9794045eff4ffd1801103ea7f3 100644
--- a/openair-cn/TEST/oaisim_mme_itti_test.c
+++ b/openair-cn/TEST/oaisim_mme_itti_test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/oaisim_mme_list_benchmark.c b/openair-cn/TEST/oaisim_mme_list_benchmark.c
index 5396a151bc2a91b25b86df440b5e8c64d844eefd..8aaf8d1dddb917cfee3f9bc1169b7cd32aa50a30 100644
--- a/openair-cn/TEST/oaisim_mme_list_benchmark.c
+++ b/openair-cn/TEST/oaisim_mme_list_benchmark.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/oaisim_mme_s1ap_test.c b/openair-cn/TEST/oaisim_mme_s1ap_test.c
index d03e1bbed697db29c5371ef2896cf92f20548788..af3585ded07706ae45e9ff2d08a06d71c5ac7c7d 100644
--- a/openair-cn/TEST/oaisim_mme_s1ap_test.c
+++ b/openair-cn/TEST/oaisim_mme_s1ap_test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/oaisim_mme_sctp_test.c b/openair-cn/TEST/oaisim_mme_sctp_test.c
index 8dd5b192b82be83247d10d8de9ca1652fd44f2bb..4c433c8bf3ce4acdc5fbaea388aaac46789681dc 100644
--- a/openair-cn/TEST/oaisim_mme_sctp_test.c
+++ b/openair-cn/TEST/oaisim_mme_sctp_test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/oaisim_mme_test_s1c.c b/openair-cn/TEST/oaisim_mme_test_s1c.c
index 0f1d1e64286e3b69059077a3c4a45196e1202b4c..d7af00086b0f5f3eeb9c7c23403e01e6770b03dc 100644
--- a/openair-cn/TEST/oaisim_mme_test_s1c.c
+++ b/openair-cn/TEST/oaisim_mme_test_s1c.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair-cn/TEST/oaisim_mme_test_s1c.h b/openair-cn/TEST/oaisim_mme_test_s1c.h
index af59dd1a23822153f1e4d51256fed2542078ba64..0927ab6ad65cb09023826941039fdf3c46536c2d 100644
--- a/openair-cn/TEST/oaisim_mme_test_s1c.h
+++ b/openair-cn/TEST/oaisim_mme_test_s1c.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair-cn/TEST/oaisim_mme_test_s1c_s1ap.c b/openair-cn/TEST/oaisim_mme_test_s1c_s1ap.c
index a46c8fa6b49e8d33c36de97b847e3b8332760ee8..836a54b42fcd47aa403e9b7b579bc59609299cff 100755
--- a/openair-cn/TEST/oaisim_mme_test_s1c_s1ap.c
+++ b/openair-cn/TEST/oaisim_mme_test_s1c_s1ap.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair-cn/TEST/oaisim_mme_test_s1c_s1ap.h b/openair-cn/TEST/oaisim_mme_test_s1c_s1ap.h
index 3e3c186d1999fce9f9256947b97202ce27921b21..a4570b97bc8b84feb5b5fb663580883eb14fa6f5 100755
--- a/openair-cn/TEST/oaisim_mme_test_s1c_s1ap.h
+++ b/openair-cn/TEST/oaisim_mme_test_s1c_s1ap.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair-cn/TEST/oaisim_mme_test_s1c_scenario.c b/openair-cn/TEST/oaisim_mme_test_s1c_scenario.c
index 416ac99904291079f74fedee207541b09ec982f8..1cf920887004cc872d05777d1d64e63c69396d6a 100755
--- a/openair-cn/TEST/oaisim_mme_test_s1c_scenario.c
+++ b/openair-cn/TEST/oaisim_mme_test_s1c_scenario.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair-cn/TEST/oaisim_mme_test_s1c_scenario.h b/openair-cn/TEST/oaisim_mme_test_s1c_scenario.h
index 25bbdb9c87e43b0d55c182791de02e9172f1a94f..6187f02d7ff0833497b290f61a698d6aff929791 100644
--- a/openair-cn/TEST/oaisim_mme_test_s1c_scenario.h
+++ b/openair-cn/TEST/oaisim_mme_test_s1c_scenario.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair-cn/TEST/oaisim_mme_test_s1c_scenario1.c b/openair-cn/TEST/oaisim_mme_test_s1c_scenario1.c
index 93d7e5fedf1486b95287738d435ce39df59e732c..3fc1fbad7b74c3a56071d189984e52f40a10f1fa 100644
--- a/openair-cn/TEST/oaisim_mme_test_s1c_scenario1.c
+++ b/openair-cn/TEST/oaisim_mme_test_s1c_scenario1.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair-cn/TEST/test_aes128_cmac_encrypt.c b/openair-cn/TEST/test_aes128_cmac_encrypt.c
index af5b864f67017da1bd94a8a82bf7c24d6f85fccc..22eb24457909b0399ef2e3e6fc821ec8f9ab1e6e 100644
--- a/openair-cn/TEST/test_aes128_cmac_encrypt.c
+++ b/openair-cn/TEST/test_aes128_cmac_encrypt.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_aes128_ctr_decrypt.c b/openair-cn/TEST/test_aes128_ctr_decrypt.c
index c33fc362417b00b3db759afd34b9734a4a4f1383..f3740b48ff002320797eff96d1d799ece838802d 100644
--- a/openair-cn/TEST/test_aes128_ctr_decrypt.c
+++ b/openair-cn/TEST/test_aes128_ctr_decrypt.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_aes128_ctr_encrypt.c b/openair-cn/TEST/test_aes128_ctr_encrypt.c
index 6558e49792962f050934e31bdbca8d3de8e0063b..a089ac549dab386400c6da27341ccf6d4ff47f90 100644
--- a/openair-cn/TEST/test_aes128_ctr_encrypt.c
+++ b/openair-cn/TEST/test_aes128_ctr_encrypt.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_kdf.c b/openair-cn/TEST/test_kdf.c
index 414520b651e3c9aab3bfb6c6a6e0a1f3744a11aa..2a66527773218f57e2cbeac2bf7876d9806ecf66 100644
--- a/openair-cn/TEST/test_kdf.c
+++ b/openair-cn/TEST/test_kdf.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_s1ap.c b/openair-cn/TEST/test_s1ap.c
index d6413f1341e9501890cbb2067ee1f2357e665215..e070e7018da91b5774a16c4da44087963cd41084 100644
--- a/openair-cn/TEST/test_s1ap.c
+++ b/openair-cn/TEST/test_s1ap.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_secu.c b/openair-cn/TEST/test_secu.c
index 316d90c825d42ad771dca9cbe21dbea2a6e41299..ac3788eebd2a1f9799255ed3495f0d161715389a 100644
--- a/openair-cn/TEST/test_secu.c
+++ b/openair-cn/TEST/test_secu.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_secu_kenb.c b/openair-cn/TEST/test_secu_kenb.c
index 3ba2cdc937f928791540fa944b2fa9c18400e54c..16f6a8eadc9faceb802eabfb151f30b5648d4332 100644
--- a/openair-cn/TEST/test_secu_kenb.c
+++ b/openair-cn/TEST/test_secu_kenb.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_secu_knas.c b/openair-cn/TEST/test_secu_knas.c
index 92d374378871d0e0a1d529306c2baef79d68df4c..ecf213f7b3027e8b931e0c42b77835bbf476f4d5 100644
--- a/openair-cn/TEST/test_secu_knas.c
+++ b/openair-cn/TEST/test_secu_knas.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_secu_knas_encrypt_eea1.c b/openair-cn/TEST/test_secu_knas_encrypt_eea1.c
index 6a110a63cbcef9b838a53946ea33349f5de93923..9c54828ff4dcafd516fa2af3ae332f3ac08c4be1 100755
--- a/openair-cn/TEST/test_secu_knas_encrypt_eea1.c
+++ b/openair-cn/TEST/test_secu_knas_encrypt_eea1.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_secu_knas_encrypt_eea2.c b/openair-cn/TEST/test_secu_knas_encrypt_eea2.c
index bb26ce5a8894681b3c2e1b007e4148e13395238c..712da6d947f713369cd9901b65eedfbe2e8e57ed 100644
--- a/openair-cn/TEST/test_secu_knas_encrypt_eea2.c
+++ b/openair-cn/TEST/test_secu_knas_encrypt_eea2.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_secu_knas_encrypt_eia1.c b/openair-cn/TEST/test_secu_knas_encrypt_eia1.c
index b634a2ea4976fda4c517d8887012f2eae5e136e9..9a530790986e9412fd7e8228fdfd803757a59514 100755
--- a/openair-cn/TEST/test_secu_knas_encrypt_eia1.c
+++ b/openair-cn/TEST/test_secu_knas_encrypt_eia1.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_secu_knas_encrypt_eia2.c b/openair-cn/TEST/test_secu_knas_encrypt_eia2.c
index 03a510c1462388d23d08cfa1f1c4fa65ac69ed3a..f85ddc0feab716290d18dbf54bb0ab34187c9ae3 100644
--- a/openair-cn/TEST/test_secu_knas_encrypt_eia2.c
+++ b/openair-cn/TEST/test_secu_knas_encrypt_eia2.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/TEST/test_secu_knas_stream_int.c b/openair-cn/TEST/test_secu_knas_stream_int.c
index 7f1ba2df1c48512a5acf41834c8b09e49ad460bb..731af2df8a53258f5b428b25bd2a0b03609a3f84 100644
--- a/openair-cn/TEST/test_secu_knas_stream_int.c
+++ b/openair-cn/TEST/test_secu_knas_stream_int.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/UDP/Makefile.am b/openair-cn/UDP/Makefile.am
deleted file mode 100644
index 907bc2099a768fb4588b855859ae64db9449e3e9..0000000000000000000000000000000000000000
--- a/openair-cn/UDP/Makefile.am
+++ /dev/null
@@ -1,45 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-noinst_LTLIBRARIES = libudpserver.la
-libudpserver_la_LDFLAGS = -all-static
-
-AM_CFLAGS =	\
-	@ADD_CFLAGS@	\
-	-I$(top_srcdir)/COMMON	\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network		\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/include			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/ies				\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/emm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/esm/msg			\
-	-I$(top_srcdir)/NAS/EURECOM-NAS/src/util			\
-	-I$(top_srcdir)/INTERTASK_INTERFACE	\
-	-I$(top_srcdir)/UTILS
-
-libudpserver_la_SOURCES =	\
-	udp_primitives_server.h udp_primitives_server.c
\ No newline at end of file
diff --git a/openair-cn/UDP/Makefile.eNB b/openair-cn/UDP/Makefile.eNB
deleted file mode 100644
index 2d346814083de898d057993571982133578ff2eb..0000000000000000000000000000000000000000
--- a/openair-cn/UDP/Makefile.eNB
+++ /dev/null
@@ -1,69 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-# include $(OPENAIR_TARGETS)/SIMU/USER/Makerules
-
-OUTDIR = .
-
-libudp_OBJECTS =			\
-	udp_eNB_task.o
-
-# pull in dependency info for *existing* .o files
--include $(OUTDIR)/*.d
-
-CFLAGS = \
-	-Wall			\
-	$(UDP_CFLAGS)		\
-	-DENB_MODE		\
-	-Werror=uninitialized	\
-	-Werror=implicit-function-declaration
-
-$(OUTDIR)/%.o : %.c
-	@echo "Compiling $<"
-	@if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi;
-	@$(CC) -c $(CFLAGS) -o $@ $<
-	@$(CC) -MM $(CFLAGS) $< > $(basename $@).d
-	@mv -f $(basename $@).d $(basename $@).d.tmp
-	@sed -e 's|.*:|$@:|' < $(basename $@).d.tmp > $(basename $@).d
-	@sed -e 's/.*://' -e 's/\\$$//' < $(basename $@).d.tmp | fmt -1 | \
-	sed -e 's/^ *//' -e 's/$$/:/' >> $(basename $@).d
-	@rm -f $(basename $@).d.tmp
-
-objsdir:
-	@if [ ! -d $(OUTDIR) ]; then mkdir -p $(OUTDIR); fi;
-
-$(OUTDIR)/libudp.a: $(addprefix $(OUTDIR)/,$(libudp_OBJECTS))
-	@echo Creating UDP archive
-	@$(AR) rcs $@ $(addprefix $(OUTDIR)/,$(libudp_OBJECTS))
-
-clean:
-	@$(RM_F_V) $(OUTDIR)/*.o
-	@$(RM_F_V) $(OUTDIR)/*.d
-	@$(RM_F_V) $(OUTDIR)/libudp.a
-
-cleanall: clean
diff --git a/openair-cn/UDP/udp_eNB_task.c b/openair-cn/UDP/udp_eNB_task.c
index 32b3317fcf34b6c972d76fa8db16c48a1bb5ec68..3e53f9f62f01b66989500f01a446a93a7008ba58 100644
--- a/openair-cn/UDP/udp_eNB_task.c
+++ b/openair-cn/UDP/udp_eNB_task.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/UDP/udp_eNB_task.h b/openair-cn/UDP/udp_eNB_task.h
index 89a79e57a4c7f52469f14af64d2d8106b03c7086..37ff413bf7afda6f8a24df84fd58b4acaafee68e 100644
--- a/openair-cn/UDP/udp_eNB_task.h
+++ b/openair-cn/UDP/udp_eNB_task.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair-cn/UDP/udp_primitives_server.c b/openair-cn/UDP/udp_primitives_server.c
deleted file mode 100644
index 6639331ee84fd70e13a9bb5304d4e50f0c59a49b..0000000000000000000000000000000000000000
--- a/openair-cn/UDP/udp_primitives_server.c
+++ /dev/null
@@ -1,457 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file udp_primitives_server.c
-* \brief
-* \author Sebastien ROUX, Lionel Gauthier
-* \company Eurecom
-* \email: lionel.gauthier@eurecom.fr
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/time.h>
-
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <fcntl.h>
-
-
-#include <pthread.h>
-
-#include "intertask_interface.h"
-#include "udp_primitives_server.h"
-
-#include "assertions.h"
-#include "conversions.h"
-#include "msc.h"
-
-#define UDP_DEBUG(x, args...) do { fprintf(stdout, "[UDP] [D]"x, ##args); } while(0)
-#define UDP_ERROR(x, args...) do { fprintf(stderr, "[UDP] [E]"x, ##args); } while(0)
-
-//void *udp_receiver_thread(void *args_p);
-
-struct udp_socket_desc_s {
-  uint8_t   buffer[4096];
-  int       sd;              /* Socket descriptor to use */
-
-  pthread_t listener_thread; /* Thread affected to recv */
-
-  char     *local_address;   /* Local ipv4 address to use */
-  uint16_t  local_port;      /* Local port to use */
-
-  task_id_t task_id;         /* Task who has requested the new endpoint */
-
-  STAILQ_ENTRY(udp_socket_desc_s) entries;
-};
-
-static STAILQ_HEAD(udp_socket_list_s, udp_socket_desc_s) udp_socket_list;
-static pthread_mutex_t udp_socket_list_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-//-----------------------------------------------------------------------------
-void udp_print_hex_octets(unsigned char* dataP, unsigned long sizeP)
-//-----------------------------------------------------------------------------
-{
-  unsigned long octet_index = 0;
-  unsigned long buffer_marker = 0;
-  unsigned char aindex;
-#define UDP_2_PRINT_BUFFER_LEN 8000
-  char udp_2_print_buffer[UDP_2_PRINT_BUFFER_LEN];
-  struct timeval tv;
-  struct timezone tz;
-  char timeofday[64];
-
-  unsigned int h,m,s;
-
-  if (dataP == NULL) {
-    return;
-  }
-
-  gettimeofday(&tv, &tz);
-  h = tv.tv_sec/3600/24;
-  m = (tv.tv_sec / 60) % 60;
-  s = tv.tv_sec % 60;
-  snprintf(timeofday, 64, "%02d:%02d:%02d.%06d", h,m,s,tv.tv_usec);
-
-  UDP_DEBUG("%s------+-------------------------------------------------|\n",timeofday);
-  UDP_DEBUG("%s      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n",timeofday);
-  UDP_DEBUG("%s------+-------------------------------------------------|\n",timeofday);
-
-  for (octet_index = 0; octet_index < sizeP; octet_index++) {
-    if (UDP_2_PRINT_BUFFER_LEN < (buffer_marker + 32))  {
-      buffer_marker+=snprintf(&udp_2_print_buffer[buffer_marker], UDP_2_PRINT_BUFFER_LEN - buffer_marker,
-                              "... (print buffer overflow)");
-      UDP_DEBUG("%s%s",timeofday,udp_2_print_buffer);
-      return;
-    }
-
-    if ((octet_index % 16) == 0) {
-      if (octet_index != 0) {
-        buffer_marker+=snprintf(&udp_2_print_buffer[buffer_marker], UDP_2_PRINT_BUFFER_LEN - buffer_marker, " |\n");
-        UDP_DEBUG("%s%s",timeofday, udp_2_print_buffer);
-        buffer_marker = 0;
-      }
-
-      buffer_marker+=snprintf(&udp_2_print_buffer[buffer_marker], UDP_2_PRINT_BUFFER_LEN - buffer_marker, " %04ld |", octet_index);
-    }
-
-    /*
-     * Print every single octet in hexadecimal form
-     */
-    buffer_marker+=snprintf(&udp_2_print_buffer[buffer_marker], UDP_2_PRINT_BUFFER_LEN - buffer_marker, " %02x", dataP[octet_index]);
-    /*
-     * Align newline and pipes according to the octets in groups of 2
-     */
-  }
-
-  /*
-   * Append enough spaces and put final pipe
-   */
-  for (aindex = octet_index; aindex < 16; ++aindex)
-    buffer_marker+=snprintf(&udp_2_print_buffer[buffer_marker], UDP_2_PRINT_BUFFER_LEN - buffer_marker, "   ");
-
-  //GTPU_DEBUG("   ");
-  buffer_marker+=snprintf(&udp_2_print_buffer[buffer_marker], UDP_2_PRINT_BUFFER_LEN - buffer_marker, " |\n");
-  UDP_DEBUG("%s%s",timeofday,udp_2_print_buffer);
-}
-
-
-static void udp_server_receive_and_process(struct udp_socket_desc_s *udp_sock_pP);
-
-
-/* @brief Retrieve the descriptor associated with the task_id
- */
-static
-struct udp_socket_desc_s *udp_server_get_socket_desc(task_id_t task_id)
-{
-  struct udp_socket_desc_s *udp_sock_p = NULL;
-
-  UDP_DEBUG("Looking for task %d\n", task_id);
-
-  STAILQ_FOREACH(udp_sock_p, &udp_socket_list, entries) {
-    if (udp_sock_p->task_id == task_id) {
-      UDP_DEBUG("Found matching task desc\n");
-      break;
-    }
-  }
-  return udp_sock_p;
-}
-static
-struct udp_socket_desc_s *udp_server_get_socket_desc_by_sd(int sdP)
-{
-  struct udp_socket_desc_s *udp_sock_p = NULL;
-
-  UDP_DEBUG("Looking for sd %d\n", sdP);
-
-  STAILQ_FOREACH(udp_sock_p, &udp_socket_list, entries) {
-    if (udp_sock_p->sd == sdP) {
-      UDP_DEBUG("Found matching task desc\n");
-      break;
-    }
-  }
-  return udp_sock_p;
-}
-
-static
-int udp_server_create_socket(int port, char *address, task_id_t task_id)
-{
-  struct sockaddr_in addr;
-  int                sd;
-
-  struct udp_socket_desc_s *socket_desc_p = NULL;
-
-  UDP_DEBUG("Creating new listen socket on address "IPV4_ADDR" and port %u\n",
-            IPV4_ADDR_FORMAT(inet_addr(address)), port);
-
-  /* Create UDP socket */
-  if ((sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
-    /* Socket creation has failed... */
-    UDP_ERROR("Socket creation failed (%s)\n", strerror(errno));
-    return sd;
-  }
-
-  memset(&addr, 0, sizeof(struct sockaddr_in));
-  addr.sin_family      = AF_INET;
-  addr.sin_port        = htons(port);
-  addr.sin_addr.s_addr = inet_addr(address);
-
-  if (bind(sd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) {
-    /* Bind failed */
-    UDP_ERROR("Socket bind failed (%s) for address "IPV4_ADDR" and port %u\n",
-              strerror(errno), IPV4_ADDR_FORMAT(inet_addr(address)), port);
-    close(sd);
-    return -1;
-  }
-
-  /* Add the socket to list of fd monitored by ITTI */
-  /* Mark the socket as non-blocking */
-  if (fcntl(sd, F_SETFL, O_NONBLOCK) < 0) {
-    UDP_ERROR("fcntl F_SETFL O_NONBLOCK failed: %s\n",
-              strerror(errno));
-    close(sd);
-    return -1;
-  }
-
-  socket_desc_p = calloc(1, sizeof(struct udp_socket_desc_s));
-  DevAssert(socket_desc_p != NULL);
-  socket_desc_p->sd            = sd;
-  socket_desc_p->local_address = address;
-  socket_desc_p->local_port    = port;
-  socket_desc_p->task_id       = task_id;
-  UDP_DEBUG("Inserting new descriptor for task %d, sd %d\n",
-            socket_desc_p->task_id, socket_desc_p->sd);
-  pthread_mutex_lock(&udp_socket_list_mutex);
-  STAILQ_INSERT_TAIL(&udp_socket_list, socket_desc_p, entries);
-  pthread_mutex_unlock(&udp_socket_list_mutex);
-
-  itti_subscribe_event_fd(TASK_UDP, sd);
-
-  return sd;
-}
-
-static void udp_server_flush_sockets(struct epoll_event *events, int nb_events)
-{
-  int event;
-  struct udp_socket_desc_s *udp_sock_p = NULL;
-
-  UDP_DEBUG("Received %d events\n", nb_events);
-
-  for (event = 0; event < nb_events; event++) {
-    if (events[event].events != 0) {
-      /* If the event has not been yet been processed (not an itti message) */
-      pthread_mutex_lock(&udp_socket_list_mutex);
-      udp_sock_p = udp_server_get_socket_desc_by_sd(events[event].data.fd);
-
-      if (udp_sock_p != NULL) {
-        udp_server_receive_and_process(udp_sock_p);
-      } else {
-        UDP_ERROR("Failed to retrieve the udp socket descriptor %d",
-                  events[event].data.fd);
-      }
-
-      pthread_mutex_unlock(&udp_socket_list_mutex);
-    }
-  }
-}
-
-static void udp_server_receive_and_process(struct udp_socket_desc_s *udp_sock_pP)
-{
-  UDP_DEBUG("Inserting new descriptor for task %d, sd %d\n",
-            udp_sock_pP->task_id, udp_sock_pP->sd);
-
-  {
-    int                bytes_received = 0;
-    socklen_t          from_len;
-    struct sockaddr_in addr;
-
-    from_len = (socklen_t)sizeof(struct sockaddr_in);
-
-    if ((bytes_received = recvfrom(udp_sock_pP->sd, udp_sock_pP->buffer, sizeof(udp_sock_pP->buffer), 0,
-                                   (struct sockaddr *)&addr, &from_len)) <= 0) {
-      UDP_ERROR("Recvfrom failed %s\n", strerror(errno));
-      //break;
-    } else {
-      MessageDef     *message_p = NULL;
-      udp_data_ind_t *udp_data_ind_p;
-      uint8_t *forwarded_buffer = NULL;
-
-      AssertFatal(sizeof(udp_sock_pP->buffer) >= bytes_received, "UDP BUFFER OVERFLOW");
-
-      forwarded_buffer = itti_malloc(TASK_UDP, udp_sock_pP->task_id, bytes_received);
-
-      DevAssert(forwarded_buffer != NULL);
-
-      memcpy(forwarded_buffer, udp_sock_pP->buffer, bytes_received);
-
-      message_p = itti_alloc_new_message(TASK_UDP, UDP_DATA_IND);
-
-      DevAssert(message_p != NULL);
-
-      udp_data_ind_p = &message_p->ittiMsg.udp_data_ind;
-
-      udp_data_ind_p->buffer        = forwarded_buffer;
-      udp_data_ind_p->buffer_length = bytes_received;
-      udp_data_ind_p->peer_port     = htons(addr.sin_port);
-      udp_data_ind_p->peer_address  = addr.sin_addr.s_addr;
-
-      UDP_DEBUG("Msg of length %d received from %s:%u\n",
-                bytes_received, inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
-
-      if (itti_send_msg_to_task(udp_sock_pP->task_id, INSTANCE_DEFAULT, message_p) < 0) {
-        UDP_DEBUG("Failed to send message %d to task %d\n",
-                  UDP_DATA_IND, udp_sock_pP->task_id);
-        //break;
-      }
-    }
-  }
-  //close(udp_sock_pP->sd);
-  //udp_sock_pP->sd = -1;
-
-  //pthread_mutex_lock(&udp_socket_list_mutex);
-  //STAILQ_REMOVE(&udp_socket_list, udp_sock_pP, udp_socket_desc_s, entries);
-  //pthread_mutex_unlock(&udp_socket_list_mutex);
-
-  //return NULL;
-}
-
-
-static void *udp_intertask_interface(void *args_p)
-{
-  int                 rc        = 0;
-  int                 nb_events = 0;
-  struct epoll_event *events    = NULL;
-
-  itti_mark_task_ready(TASK_UDP);
-  MSC_START_USE();
-
-  while(1) {
-    MessageDef *received_message_p = NULL;
-    itti_receive_msg(TASK_UDP, &received_message_p);
-
-    if (received_message_p != NULL) {
-
-      switch (ITTI_MSG_ID(received_message_p)) {
-      case UDP_INIT: {
-        udp_init_t *udp_init_p;
-        udp_init_p = &received_message_p->ittiMsg.udp_init;
-        rc = udp_server_create_socket(
-               udp_init_p->port,
-               udp_init_p->address,
-               ITTI_MSG_ORIGIN_ID(received_message_p));
-      }
-      break;
-
-      case UDP_DATA_REQ: {
-        int     udp_sd = -1;
-        ssize_t bytes_written;
-
-        struct udp_socket_desc_s *udp_sock_p = NULL;
-        udp_data_req_t           *udp_data_req_p;
-        struct sockaddr_in        peer_addr;
-
-        udp_data_req_p = &received_message_p->ittiMsg.udp_data_req;
-
-        //UDP_DEBUG("-- UDP_DATA_REQ -----------------------------------------------------\n%s :\n",
-        //        __FUNCTION__);
-        //udp_print_hex_octets(&udp_data_req_p->buffer[udp_data_req_p->buffer_offset],
-        //        udp_data_req_p->buffer_length);
-
-        memset(&peer_addr, 0, sizeof(struct sockaddr_in));
-
-        peer_addr.sin_family       = AF_INET;
-        peer_addr.sin_port         = htons(udp_data_req_p->peer_port);
-        peer_addr.sin_addr.s_addr  = udp_data_req_p->peer_address;
-
-        pthread_mutex_lock(&udp_socket_list_mutex);
-        udp_sock_p = udp_server_get_socket_desc(ITTI_MSG_ORIGIN_ID(received_message_p));
-
-        if (udp_sock_p == NULL) {
-          UDP_ERROR("Failed to retrieve the udp socket descriptor "
-                    "associated with task %d\n", ITTI_MSG_ORIGIN_ID(received_message_p));
-          pthread_mutex_unlock(&udp_socket_list_mutex);
-
-          if (udp_data_req_p->buffer) {
-            itti_free(ITTI_MSG_ORIGIN_ID(received_message_p),udp_data_req_p->buffer);
-          }
-
-          goto on_error;
-        }
-
-        udp_sd = udp_sock_p->sd;
-        pthread_mutex_unlock(&udp_socket_list_mutex);
-
-        UDP_DEBUG("[%d] Sending message of size %u to "IPV4_ADDR" and port %u\n",
-                  udp_sd, udp_data_req_p->buffer_length,
-                  IPV4_ADDR_FORMAT(udp_data_req_p->peer_address),
-                  udp_data_req_p->peer_port);
-
-        bytes_written = sendto(udp_sd, &udp_data_req_p->buffer[udp_data_req_p->buffer_offset],
-                               udp_data_req_p->buffer_length, 0,
-                               (struct sockaddr *)&peer_addr,
-                               sizeof(struct sockaddr_in));
-
-        itti_free(ITTI_MSG_ORIGIN_ID(received_message_p),udp_data_req_p->buffer);
-
-        if (bytes_written != udp_data_req_p->buffer_length) {
-          UDP_ERROR("There was an error while writing to socket "
-                    "(%d:%s)\n", errno, strerror(errno));
-        }
-      }
-      break;
-
-      case TERMINATE_MESSAGE: {
-        itti_exit_task();
-      }
-      break;
-
-      case MESSAGE_TEST: {
-      } break;
-
-      default: {
-        UDP_DEBUG("Unkwnon message ID %d:%s\n",
-                  ITTI_MSG_ID(received_message_p), ITTI_MSG_NAME(received_message_p));
-      }
-      break;
-      }
-
-on_error:
-      rc = itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), received_message_p);
-      AssertFatal(rc == EXIT_SUCCESS, "Failed to free memory (%d)!\n", rc);
-      received_message_p = NULL;
-    }
-
-    nb_events = itti_get_events(TASK_UDP, &events);
-
-    if ((nb_events > 0) && (events != NULL)) {
-      /* Now handle notifications for other sockets */
-      udp_server_flush_sockets(events, nb_events);
-    }
-  }
-
-  return NULL;
-}
-
-int udp_init(const mme_config_t *mme_config_p)
-{
-  UDP_DEBUG("Initializing UDP task interface\n");
-
-  STAILQ_INIT(&udp_socket_list);
-
-  if (itti_create_task(TASK_UDP, &udp_intertask_interface,
-                       NULL) < 0) {
-    UDP_ERROR("udp pthread_create (%s)\n", strerror(errno));
-    return -1;
-  }
-
-  UDP_DEBUG("Initializing UDP task interface: DONE\n");
-  return 0;
-}
diff --git a/openair-cn/UDP/udp_primitives_server.h b/openair-cn/UDP/udp_primitives_server.h
deleted file mode 100644
index 7ab514c0684e42b5a4751711a9a9aca928248a56..0000000000000000000000000000000000000000
--- a/openair-cn/UDP/udp_primitives_server.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-/*! \file udp_primitives_server.c
-* \brief
-* \author Sebastien ROUX
-* \company Eurecom
-* \email:
-*/
-#include "mme_config.h"
-
-#ifndef UDP_PRIMITIVES_SERVER_H_
-#define UDP_PRIMITIVES_SERVER_H_
-
-/** \brief UDP task init function.
- @returns -1 on error, 0 otherwise.
- **/
-int udp_init(const mme_config_t *mme_config);
-
-#endif /* UDP_PRIMITIVES_SERVER_H_ */
diff --git a/openair-cn/UTILS/CONF/COPYING b/openair-cn/UTILS/CONF/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/openair-cn/UTILS/CONF/COPYING
+++ b/openair-cn/UTILS/CONF/COPYING
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/UTILS/COPYING b/openair-cn/UTILS/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..c8884230647991bd4c355d738c3a6be24ddf51de 100644
--- a/openair-cn/UTILS/COPYING
+++ b/openair-cn/UTILS/COPYING
@@ -1,674 +1,28 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/openair-cn/UTILS/HASHTABLE/COPYING b/openair-cn/UTILS/HASHTABLE/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/openair-cn/UTILS/HASHTABLE/COPYING
+++ b/openair-cn/UTILS/HASHTABLE/COPYING
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/openair-cn/UTILS/HASHTABLE/Makefile.am b/openair-cn/UTILS/HASHTABLE/Makefile.am
index 3eb39c51e3e06751a7614447e62ea9edb8c06780..d6bdbbc3c8f1192442741788a1495a9ef1b7f55e 100755
--- a/openair-cn/UTILS/HASHTABLE/Makefile.am
+++ b/openair-cn/UTILS/HASHTABLE/Makefile.am
@@ -1,31 +1,4 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
+
 AM_CFLAGS = @ADD_CFLAGS@    \
     -I$(top_srcdir)/COMMON
 
diff --git a/openair-cn/UTILS/HASHTABLE/Makefile.eNB b/openair-cn/UTILS/HASHTABLE/Makefile.eNB
index 795ceabdea8d547877ea4dd01af212ed80dba968..2cde7da83778b00e6be2548dfb260e7a6ee965f9 100755
--- a/openair-cn/UTILS/HASHTABLE/Makefile.eNB
+++ b/openair-cn/UTILS/HASHTABLE/Makefile.eNB
@@ -1,31 +1,4 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
+
 all: libhashtable.a
 
 libhashtable_OBJECTS = \
diff --git a/openair-cn/UTILS/HASHTABLE/hashtable.c b/openair-cn/UTILS/HASHTABLE/hashtable.c
index 48d806cd0f422107c4559ddaa8107f0846534388..a557211b235a2aeca54d657b3cfe479fbd025cc7 100755
--- a/openair-cn/UTILS/HASHTABLE/hashtable.c
+++ b/openair-cn/UTILS/HASHTABLE/hashtable.c
@@ -1,5 +1,33 @@
 /* from: http://en.literateprograms.org/Hash_table_%28C%29#chunk%20def:node
+ * Original licence Creative Commons CC0 1.0 Waiver.
+ */
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
  */
 #include <string.h>
 #include <stdio.h>
diff --git a/openair-cn/UTILS/HASHTABLE/hashtable.h b/openair-cn/UTILS/HASHTABLE/hashtable.h
index 83b5d310b5d43bcea04e8ec71895a74474a583f3..051a2929b0334dba0c9d5c7a997015d45585e3d3 100755
--- a/openair-cn/UTILS/HASHTABLE/hashtable.h
+++ b/openair-cn/UTILS/HASHTABLE/hashtable.h
@@ -1,3 +1,34 @@
+/* from: http://en.literateprograms.org/Hash_table_%28C%29#chunk%20def:node
+ * Original licence Creative Commons CC0 1.0 Waiver.(http://creativecommons.org/publicdomain/zero/1.0/)
+ */
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #ifndef _UTILS_COLLECTION_HASH_TABLE_H_
 #define _UTILS_COLLECTION_HASH_TABLE_H_
 #include<stdlib.h>
diff --git a/openair-cn/UTILS/HASHTABLE/obj_hashtable.c b/openair-cn/UTILS/HASHTABLE/obj_hashtable.c
index 12b49577c4558dfac9db08c94faf5f9e69b373e6..55e86cd8f37d7319a4c7da248e0f7710e16fb3e8 100755
--- a/openair-cn/UTILS/HASHTABLE/obj_hashtable.c
+++ b/openair-cn/UTILS/HASHTABLE/obj_hashtable.c
@@ -1,5 +1,30 @@
-/* from: http://en.literateprograms.org/Hash_table_%28C%29#chunk%20def:node
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
  */
 #include <string.h>
 #include <stdio.h>
diff --git a/openair-cn/UTILS/HASHTABLE/obj_hashtable.h b/openair-cn/UTILS/HASHTABLE/obj_hashtable.h
index d11a67e2649092bc20c85d7666edba6806edf455..d74e1e97d44de76bc4f0c23e64ad02c69be235e2 100755
--- a/openair-cn/UTILS/HASHTABLE/obj_hashtable.h
+++ b/openair-cn/UTILS/HASHTABLE/obj_hashtable.h
@@ -1,3 +1,31 @@
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #ifndef _OBJ_HASH_TABLE_H_
 #define _OBJ_HASH_TABLE_H_
 #include<stdlib.h>
diff --git a/openair-cn/UTILS/Makefile.am b/openair-cn/UTILS/Makefile.am
index f2a5d57fee902a26bbe07c0ed17258389244cb70..2e0e686086bafa73d24b7b27e736a09e5b9e0d45 100644
--- a/openair-cn/UTILS/Makefile.am
+++ b/openair-cn/UTILS/Makefile.am
@@ -1,31 +1,4 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
+
 SUBDIRS = . HASHTABLE
 
 AM_CFLAGS = @ADD_CFLAGS@	\
diff --git a/openair-cn/UTILS/conversions.c b/openair-cn/UTILS/conversions.c
index 0cb30f10eba426296e1b9d072632642f0cd2b2bc..f2c324568f7340b65add1dacc1189b2e57a454cb 100644
--- a/openair-cn/UTILS/conversions.c
+++ b/openair-cn/UTILS/conversions.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdlib.h>
 #include <stdint.h>
 #include <ctype.h>
diff --git a/openair-cn/UTILS/conversions.h b/openair-cn/UTILS/conversions.h
index 4762f93873327d0c0203d3738dcb7fa05c8d38c4..aaa2b9714f1fbf504c6a934cf2d613c25944312a 100644
--- a/openair-cn/UTILS/conversions.h
+++ b/openair-cn/UTILS/conversions.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #include "assertions.h"
 
diff --git a/openair-cn/UTILS/enum_string.c b/openair-cn/UTILS/enum_string.c
index 29d07747764e9636b88f20630399bfe04e3c12ff..cab5b0319e963a0db9afa8de5f7abba45b6dd659 100644
--- a/openair-cn/UTILS/enum_string.c
+++ b/openair-cn/UTILS/enum_string.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/openair-cn/UTILS/enum_string.h b/openair-cn/UTILS/enum_string.h
index 3b2c0d36210340b1e428dbe114fb462e527572d5..c0a921c98e26b314f33bca85fbc9af652c361343 100644
--- a/openair-cn/UTILS/enum_string.h
+++ b/openair-cn/UTILS/enum_string.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #ifndef ENUM_STRING_H_
 #define ENUM_STRING_H_
 
diff --git a/openair-cn/UTILS/log.c b/openair-cn/UTILS/log.c
index 85577c35d6ddd95f464a6fd615ee4f552955b96c..6aebde8280d2ba09904b4e0d0655bb0d58a88fb1 100644
--- a/openair-cn/UTILS/log.c
+++ b/openair-cn/UTILS/log.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #if HAVE_CONFIG_H
 # include "config.h"
 #endif
diff --git a/openair-cn/UTILS/log.h b/openair-cn/UTILS/log.h
index 1147d9e8c2c83711831c8d33009cef6862598347..34700522af07acf746a767e561d0625aeb8e3142 100644
--- a/openair-cn/UTILS/log.h
+++ b/openair-cn/UTILS/log.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include "mme_config.h"
 
 #ifndef LOG_H_
diff --git a/openair-cn/UTILS/mcc_mnc_itu.c b/openair-cn/UTILS/mcc_mnc_itu.c
index f842334aee2b61f6d8d43e6a2e5fde161bd91407..8c59b8e53a3ca4cb8e94921c68a01a446c969e36 100755
--- a/openair-cn/UTILS/mcc_mnc_itu.c
+++ b/openair-cn/UTILS/mcc_mnc_itu.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #include <stdlib.h>
 #include <stdint.h>
diff --git a/openair-cn/UTILS/mcc_mnc_itu.h b/openair-cn/UTILS/mcc_mnc_itu.h
index 84daca6a42683dc0166398e8dcf83fcc79642ad0..b59db73720f2b4d9f53d772501ed7dbbd1673c50 100755
--- a/openair-cn/UTILS/mcc_mnc_itu.h
+++ b/openair-cn/UTILS/mcc_mnc_itu.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*****************************************************************************
 
 Source      mcc_mnc.h
diff --git a/openair-cn/UTILS/mme_config.c b/openair-cn/UTILS/mme_config.c
index c162199bb4392b7656a98b8078ff6320b81efa92..bc1a408312085c93b8575c0c4f9056c99924264a 100644
--- a/openair-cn/UTILS/mme_config.c
+++ b/openair-cn/UTILS/mme_config.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 #if HAVE_CONFIG_H
 # include "config.h"
diff --git a/openair-cn/UTILS/mme_config.h b/openair-cn/UTILS/mme_config.h
index 36ce25b169bf3a6889bae219c2cfc36c1b770cb2..5301a9c59db5edfda6fa8fabb0b97ac62bda3b8a 100644
--- a/openair-cn/UTILS/mme_config.h
+++ b/openair-cn/UTILS/mme_config.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #include <pthread.h>
 #include <stdint.h>
 
diff --git a/openair-cn/UTILS/mme_default_values.h b/openair-cn/UTILS/mme_default_values.h
index 25111aea607ac54139270aae477d60ca13c7ace6..779e5a4661d1da87575c987e7d267c7d0a0e335e 100644
--- a/openair-cn/UTILS/mme_default_values.h
+++ b/openair-cn/UTILS/mme_default_values.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 #ifndef MME_DEFAULT_VALUES_H_
 #define MME_DEFAULT_VALUES_H_
 
diff --git a/openair-cn/autogen.sh b/openair-cn/autogen.sh
deleted file mode 100755
index dc425bedc0a93ee8fe6520a7172165eddc4b9729..0000000000000000000000000000000000000000
--- a/openair-cn/autogen.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#! /bin/sh
-
-(cd GTPV2-C/nwgtpv2c-0.11 && libtoolize && autoreconf --install --force)
-
-aclocal \
-&& autoheader \
-&& automake --add-missing \
-&& autoconf
\ No newline at end of file
diff --git a/openair-cn/configure.ac b/openair-cn/configure.ac
deleted file mode 100644
index 0d5b740fe6f61103f84ff11fe4074ac03fa4a3e2..0000000000000000000000000000000000000000
--- a/openair-cn/configure.ac
+++ /dev/null
@@ -1,427 +0,0 @@
-################################################################################
-#   OpenAirInterface
-#   Copyright(c) 1999 - 2014 Eurecom
-#
-#    OpenAirInterface is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#
-#    OpenAirInterface is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with OpenAirInterface.The full GNU General Public License is
-#    included in this distribution in the file called "COPYING". If not,
-#    see <http://www.gnu.org/licenses/>.
-#
-#  Contact Information
-#  OpenAirInterface Admin: openair_admin@eurecom.fr
-#  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-#
-#  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-AC_PREREQ([2.68])
-
-define([svnversion], esyscmd([sh -c "svnversion ..|tr -d '\n'"]))
-
-AC_DEFINE(SVN_REVISION, "svnversion", [SVN Revision])
-
-AC_INIT([oai_epc], [0.3.svnversion], [openair_admin@eurecom.fr])
-AC_CANONICAL_BUILD
-AC_CANONICAL_TARGET
-
-AM_INIT_AUTOMAKE([1.11 silent-rules])
-
-AC_CONFIG_MACRO_DIR([m4])
-
-AC_CONFIG_HEADERS([config.h])
-
-AM_MAINTAINER_MODE
-
-AM_SILENT_RULES([yes])
-
-AM_PROG_LIBTOOL
-AM_PROG_LEX
-
-dnl *** Autoconf support ***
-AC_ARG_ENABLE(autoconf,
-  [  --disable-autoconf      disable automatic generation of configure script ],
-  enable_autoconf=$enableval, enable_autoconf=yes
-)
-AC_PATH_PROG(AUTOCONF, autoconf, @echo autoconf not available)
-AC_PATH_PROG(AUTOHEADER, autoheader, @echo autoheader not available)
-if test -z "$AUTOCONF"; then enable_autoconf=no ; fi
-if test -z "$AUTOHEADER"; then enable_autoconf=no ; fi
-if test x$enable_autoconf = xyes; then
-  CONFIGURE_DEPENDS="configure.in aclocal.m4"
-fi
-AC_SUBST(CONFIGURE_DEPENDS)
-
-AC_CHECK_PROGS([DOXYGEN], [doxygen])
-if test -z "$DOXYGEN"; then
-    AC_MSG_WARN([Doxygen not found - continuing without Doxygen support])
-else
-    # Check for presence of pdfLaTeX
-    AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex)
-    if test -z "$PDFLATEX"; then
-        AC_MSG_WARN([Unable to create PDF version of the user manual.])
-    fi
-fi
-AM_CONDITIONAL([HAVE_PDFLATEX], test -n "$PDFLATEX")
-
-dnl ***asn1c support***
-AC_CHECK_PROG(ASN1C_CHECK, asn1c, yes, [AC_MSG_ERROR(Please install asn1c before going further.)])
-
-# Checks for programs.
-AC_PROG_CXX
-AC_PROG_AWK
-AC_PROG_CC
-AC_PROG_CPP
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_MAKE_SET
-AC_PROG_MKDIR_P
-AC_PROG_YACC
-AC_PROG_RANLIB
-
-AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h limits.h malloc.h])
-AC_CHECK_HEADERS([netinet/in.h stddef.h stdint.h stdlib.h string.h libintl.h])
-AC_CHECK_HEADERS([sys/time.h sys/ioctl.h sys/socket.h unistd.h])
-AC_CHECK_HEADERS([netdb.h termios.h])
-
-# Checks for library functions.
-AC_FUNC_MMAP
-AC_FUNC_MALLOC
-AC_FUNC_ALLOCA
-AC_FUNC_REALLOC
-AC_FUNC_STRTOD
-AC_CHECK_FUNCS([ftruncate inet_ntoa memchr memmove memset munmap select socket])
-AC_CHECK_FUNCS([strdup strerror strspn strchr strstr])
-AC_CHECK_FUNCS([gethostname gethostbyname])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_C_INLINE
-AC_TYPE_INT8_T
-AC_TYPE_INT16_T
-AC_TYPE_INT32_T
-AC_TYPE_INT64_T
-AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
-AC_TYPE_UINT8_T
-AC_TYPE_UINT16_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-
-AC_CHECK_TYPES([ptrdiff_t])
-
-dnl *** libsctp-dev support ***
-AC_CHECK_LIB([sctp], [sctp_sendmsg], [],
-             [AC_MSG_ERROR([libsctp-dev needed!])])
-
-dnl *** pthread support ***
-AC_CHECK_LIB([pthread], [pthread_mutex_init], [],
-             [AC_MSG_ERROR(pthread library needed!)])
-
-dnl *** real time support ***
-AC_CHECK_LIB([rt], [timer_create], [],
-             [AC_MSG_ERROR(rt library needed!)])
-
-dnl *** Cryptographic lib nettle support ***
-PKG_CHECK_MODULES(nettle, [nettle >= 2.5],
-                  [HAVE_NETTLE=true],
-                  [AC_MSG_ERROR("Please install nettle >= 2.5")])
-CFLAGS="$CFLAGS $nettle_CFLAGS"
-LIBS="$LIBS $nettle_LIBS"
-
-AC_ARG_ENABLE([standalone-epc],
-              AS_HELP_STRING([--enable-standalone-epc],
-                             [Compile MME, SGW and PGW in a single executable]),
-              [],
-              [STANDALONE_EPC="yes"])
-AM_CONDITIONAL([STANDALONE_EPC], [test "x$enable_standalone_epc" = "xyes"])
-if test "x$enable_standalone_epc" = "xyes"; then
-    CFLAGS="$CFLAGS -DENABLE_STANDALONE_EPC"
-else
-    CFLAGS="$CFLAGS -DDISABLE_STANDALONE_EPC"
-fi
-
-dnl *** Add freediameter dependencies ***
-AC_CHECK_LIB([fdcore], [fd_core_initialize], [],
-                [AC_MSG_ERROR(Free diameter lib not installed)])
-AC_CHECK_LIB([fdproto], [fd_msg_search_avp], [],
-                [AC_MSG_ERROR(Free diameter lib not installed)])
-
-dnl *** Freediameter requirements ***
-AC_CHECK_HEADERS([signalent.h])
-AC_CHECK_FUNCS([ntohll strndup])
-AC_DEFINE([HAVE_AI_ADDRCONFIG], [],
-            [Define to 1 if you have AI_ADDRCONFIG defined in netdb.h])
-AC_DEFINE([HAVE_CLOCK_GETTIME], [],
-            [Define to 1 if you have clock_gettime in librt])
-AC_DEFINE([HAVE_PTHREAD_BAR], [],
-            [Define to 1 if you have pthread_barrier_wait in libpthread])
-AC_DEFINE([SCTP_CONNECTX_4_ARGS], [],
-            [Define to 1 if sctp_connectx function accepts 4 arguments])
-AC_CHECK_LIB([rt], [clock_gettime], [AC_DEFINE(HAVE_CLOCK_GETTIME, 1)], [])
-AC_CHECK_LIB([pthread], [pthread_barrier_wait],
-                [AC_DEFINE(HAVE_PTHREAD_BAR, 1)], [])
-AC_CHECK_DECL([AI_ADDRCONFIG],
-                [AC_DEFINE(HAVE_AI_ADDRCONFIG, 1)],
-                [], [[#include <netdb.h>]])
-AC_MSG_CHECKING(if sctp_connectx accepts 4 arguments)
-AC_LINK_IFELSE([
-    AC_LANG_SOURCE(
-        [[int main() { return sctp_connectx(0, NULL, 0, NULL); }]])
-], [AC_DEFINE(SCTP_CONNECTX_4_ARGS, 1)])
-AC_CHECK_LIB([gnutls],
-                [gnutls_hash],
-                [AC_DEFINE(GNUTLS_VERSION_210, 1,
-                        [Define to 1 if you have gnutls 2.10 installed])],
-                [])
-AC_CHECK_LIB([gnutls],
-                [gnutls_x509_trust_list_verify_crt],
-                [AC_DEFINE(GNUTLS_VERSION_300, 1,
-                        [Define to 1 if you have gnutls 3.0 installed])],
-                [])
-AC_CHECK_LIB([gnutls],
-                [gnutls_handshake_set_timeout],
-                [AC_DEFINE(GNUTLS_VERSION_310, 1,
-                        [Define to 1 if you have gnutls 3.1 installed])],
-                [])
-
-AC_DEFINE(FREE_DIAMETER_MINIMUM_VERSION, "1.1.5", [freeDiameter minimum version])
-
-AC_SUBST(ADD_CFLAGS)
-
-dnl *** Enable r8 update ***
-AC_ARG_ENABLE([r8],
-              AS_HELP_STRING([--enable-r8], [Disable 3GPP release 9 and 10 updates]),
-              [],
-              [])
-
-dnl *** Enable r9 update ***
-AC_ARG_ENABLE([r9],
-              AS_HELP_STRING([--enable-r9], [Disable 3GPP release 10 updates]),
-              [],
-              [])
-
-dnl *** Disable NAS layer ***
-AC_ARG_ENABLE([nas],
-              AS_HELP_STRING([--disable-nas], [Disable NAS layer]),
-              [CFLAGS="$CFLAGS -DDISABLE_USE_NAS"],
-              [])
-AM_CONDITIONAL([DISABLE_USE_NAS], [test x$enable_nas == xno])
-
-AC_ARG_ENABLE([s11],
-              AS_HELP_STRING([--disable-s11], [Disable S11 layer]),
-              [CFLAGS="$CFLAGS -DDISABLE_S11"],
-              [])
-AM_CONDITIONAL([DISABLE_S11], [test x$enable_s11 == xno])
-
-
-dnl *** Enable GTPU IN KERNEL ***
-AC_ARG_ENABLE([gtp1u_in_kernel],
-              AS_HELP_STRING([--enable-gtp1u-in-kernel], [Enable GTPU IN KERNEL]),
-              [case "${enableval}" in
-                 yes) gtp1u_in_kernel=true; CFLAGS="$CFLAGS -DENABLE_USE_GTPU_IN_KERNEL" ;;
-                 no ) gtp1u_in_kernel=false;;
-                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-gtp1u-in-kernel) ;;
-               esac],
-              [gtp1u_in_kernel=false])
-              
-dnl *** Enable PCAP for SGI ***
-AC_ARG_ENABLE([pcap_for_sgi],
-              AS_HELP_STRING([--enable-pcap-for-sgi], [Enable PCAP for SGI layer]),
-              [case "${enableval}" in
-                 yes) pcap_for_sgi=true; CFLAGS="$CFLAGS -DENABLE_USE_PCAP_FOR_SGI" ;;
-                 no ) pcap_for_sgi=false;;
-                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-pcap-for-sgi) ;;
-               esac],
-              [pcap_for_sgi=false])
-
-dnl *** Enable NETFILTER for SGI ***
-AC_ARG_ENABLE([netfilter_for_sgi],
-              AS_HELP_STRING([--enable-netfilter-for-sgi], [Enable netfilter for SGI layer]),
-              [case "${enableval}" in
-                 yes) netfilter_for_sgi=true; CFLAGS="$CFLAGS -DENABLE_USE_NETFILTER_FOR_SGI" ;;
-                 no ) netfilter_for_sgi=false;;
-                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netfilter-for-sgi) ;;
-               esac],
-              [netfilter_for_sgi=false])
-
-dnl *** Enable RAW socket for SGI ***
-AC_ARG_ENABLE([raw_socket_for_sgi],
-              AS_HELP_STRING([--enable-raw-socket-for-sgi], [Enable netfilter for SGI layer]),
-              [case "${enableval}" in
-                 yes) raw_socket_for_sgi=true; CFLAGS="$CFLAGS -DENABLE_USE_RAW_SOCKET_FOR_SGI" ;;
-                 no ) raw_socket_for_sgi=false;;
-                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-raw-socket-for-sgi) ;;
-               esac],
-              [if test x$pcap_for_sgi != xtrue && test x$netfilter_for_sgi != xtrue && test x$gtp1u_in_kernel != xtrue; then 
-                  raw_socket_for_sgi=true; CFLAGS="$CFLAGS -DENABLE_USE_RAW_SOCKET_FOR_SGI"
-               else
-                  raw_socket_for_sgi=false
-               fi])
-
-AM_CONDITIONAL([ENABLE_USE_PCAP_FOR_SGI],       [test x$pcap_for_sgi == xtrue])
-AM_CONDITIONAL([ENABLE_USE_NETFILTER_FOR_SGI],  [test x$netfilter_for_sgi == xtrue])
-AM_CONDITIONAL([ENABLE_USE_RAW_SOCKET_FOR_SGI], [test x$raw_socket_for_sgi == xtrue])
-AM_CONDITIONAL([ENABLE_USE_RAW_SOCKET_FOR_SGI], [ test x$pcap_for_sgi != xtrue && test x$netfilter_for_sgi != xtrue ])
-AM_CONDITIONAL([ENABLE_USE_GTPU_IN_KERNEL],     [ test x$gtp1u_in_kernel == xtrue ])
-AM_CONDITIONAL([ENABLE_USE_GTPU_IN_KERNEL],     [ test x$raw_socket_for_sgi == xtrue && x$pcap_for_sgi != xtrue && test x$netfilter_for_sgi != xtrue ])
-
-AS_IF([test "x$enable_pcap_for_sgi" == "xyes"], [
-    dnl *** libpcap support ***
-    AC_CHECK_LIB([pcap], [pcap_compile], [], [
-        AC_MSG_ERROR([PCAP library needed.])
-    ])
-])
-
-AS_IF([test "x$enable_netfilter_for_sgi" == "xyes"], [
-    dnl *** libnfnetlink support ***
-    AC_CHECK_LIB([nfnetlink], [nfnl_fd], [],
-                 [AC_MSG_ERROR([libnfnetlink needed!])])
-
-    dnl *** libnetfilter_queue support ***
-    AC_CHECK_LIB([netfilter_queue], [nfq_open], [],
-                 [AC_MSG_ERROR([libnetfilter_queue needed!])])
-])
-
-
-if test x$enable_r8 == xyes; then
-    ASN1DIR=R8.10
-else
-    if test x$enable_r9 == xyes; then
-        ASN1DIR=R9.8
-        CFLAGS="$CFLAGS -DUPDATE_RELEASE_9"
-    else
-        ASN1DIR=R10.5
-        CFLAGS="$CFLAGS -DUPDATE_RELEASE_9 -DUPDATE_RELEASE_10"
-    fi
-fi
-AC_DEFINE(ASN1_MINIMUM_VERSION, 924, [asn1c minimum version])
-AM_CONDITIONAL([UPDATE_RELEASE_9], [test x$enable_r8 != xyes])
-AM_CONDITIONAL([UPDATE_RELEASE_10], [test x$enable_r8 != xyes && test x$enable_r9 != xyes])
-
-AC_SUBST(ASN1DIR)
-
-PKG_CHECK_MODULES(OPENSSL,
-                  [openssl >= 1.0.1],
-                  [HAVE_OPENSSL=true],
-                  [AC_MSG_ERROR("Please install libcrypto >= 1.0.1")])
-CFLAGS="$CFLAGS $OPENSSL_CFLAGS"
-LIBS="$LIBS $OPENSSL_LIBS"
-
-PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], [HAVE_CHECK=true], [HAVE_CHECK=false])
-AM_CONDITIONAL(HAVE_CHECK, test x$HAVE_CHECK = xtrue)
-
-AC_CHECK_PROG(HAVE_GCCXML,gccxml,yes,no)
-AM_CONDITIONAL(HAVE_GCCXML, test x$HAVE_GCCXML = xyes)
-
-dnl Add these flags
-CFLAGS="$CFLAGS -Wall -g -O"
-CFLAGS="$CFLAGS -Wcast-align"
-CFLAGS="$CFLAGS -Wchar-subscripts"
-CFLAGS="$CFLAGS -Wmissing-prototypes"
-CFLAGS="$CFLAGS -Wmissing-declarations"
-CFLAGS="$CFLAGS -Werror=shadow"
-CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
-
-dnl *** Check for endianness of platform ***
-AC_C_BIGENDIAN
-if test "x$ac_cv_c_bigendian" = "xyes"; then
-    CFLAGS="$CFLAGS -DBYTE_ORDER=BIG_ENDIAN"
-else
-    CFLAGS="$CFLAGS -DBYTE_ORDER=LITTLE_ENDIAN"
-fi
-
-dnl AC_SUBST([AM_CFLAGS])
-
-dnl Doxygen section
-AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
-AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([DOCS/DOXYGEN/Doxyfile])])
-
-dnl *** Retrieving hostname for substition in freediameter configuration file ***
-HOSTNAME=$(uname -n)
-AC_MSG_CHECKING([host name])
-AC_MSG_RESULT([$HOSTNAME])
-AC_SUBST([HOSTNAME])
-
-AC_CONFIG_FILES(                    \
-    GTPV1-U/Makefile                \
-    GTPV2-C/Makefile                \
-    INTERTASK_INTERFACE/Makefile    \
-    SGI/Makefile                    \
-    NAS/Makefile                    \
-    S11/Makefile                    \
-    S1AP/MESSAGES/ASN1/Makefile     \
-    S1AP/MESSAGES/Makefile          \
-    S1AP/Makefile                   \
-    S6A/Makefile                    \
-    SCTP/Makefile                   \
-    SECU/Makefile                   \
-    SGW-LITE/Makefile               \
-    UTILS/CONF/s6a.conf             \
-    UTILS/HASHTABLE/Makefile        \
-    UTILS/Makefile                  \
-    UDP/Makefile                    \
-    MME_APP/Makefile                \
-    OAISIM_MME/Makefile             \
-    OAI_EPC/Makefile                \
-    OAI_SGW/Makefile                \
-    DOCS/DOXYGEN/Makefile           \
-    DOCS/Makefile                   \
-    TEST/Makefile                   \
-    Makefile                        \
-)
-
-dnl Call for configure script in gtpv2c subdir
-AC_CONFIG_SUBDIRS([GTPV2-C/nwgtpv2c-0.11])
-
-dnl configure makefiles
-AC_OUTPUT
-
-echo "
-($PACKAGE_NAME) version $PACKAGE_VERSION
-Prefix.........: $prefix
-C Compiler.....: $CC $CFLAGS
-Linker.........: $LD $LDFLAGS $LIBS
-Doxygen........: ${DOXYGEN:-no}
-Tests..........: ${HAVE_CHECK}
-GCCXML.........: ${HAVE_GCCXML}
-Standalone ....: ${enable_standalone_epc:-no}"
-
-if test x$enable_r8 == xyes; then
-    echo "Release........: 8.10"
-else
-    if test x$enable_r9 == xyes; then
-        echo "Release........: 9.8"
-    else
-        echo "Release........: 10.5"
-    fi
-fi
-
-if test x$pcap_for_sgi == xtrue; then
-    echo "SGI pcap.......: yes"
-fi
-
-if test x$netfilter_for_sgi == xtrue; then
-    echo "SGI netfilter..: yes"
-fi
-
-if test x$raw_socket_for_sgi == xtrue; then
-    echo "SGI raw socket.: yes"
-fi
-
-if test x$gtp1u_in_kernel == xtrue; then
-    echo "GTPU in kernel.: yes"
-fi
-
-
diff --git a/openair-cn/cppcheck.sh b/openair-cn/cppcheck.sh
deleted file mode 100644
index ac79da8f2c67a69e7d743b815963a130b0b71146..0000000000000000000000000000000000000000
--- a/openair-cn/cppcheck.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-cppcheck . --enable=all --xml --verbose --xml-version=2 -j4 2> err.xml
diff --git a/openair1/MAC_INTERFACE/defs.h b/openair1/MAC_INTERFACE/defs.h
index 8815a26430430e541a3449efebf747a341ee4f61..dbaab57fcc5fff946067431d63612426cdcd5613 100755
--- a/openair1/MAC_INTERFACE/defs.h
+++ b/openair1/MAC_INTERFACE/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/MAC_INTERFACE/extern.h b/openair1/MAC_INTERFACE/extern.h
index f1b3390db2085770ec0c464fa08bd87ac3d258f1..a7444939eee33837f6a8a0a20ea47fc3f14eac4f 100755
--- a/openair1/MAC_INTERFACE/extern.h
+++ b/openair1/MAC_INTERFACE/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/MAC_INTERFACE/init.c b/openair1/MAC_INTERFACE/init.c
index 79c8b9d6b652dda1a4e4215df66882a9a8f0acfd..480d365f099b8c7c58811f9e9d7eda2aec35844a 100644
--- a/openair1/MAC_INTERFACE/init.c
+++ b/openair1/MAC_INTERFACE/init.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/MAC_INTERFACE/register.c b/openair1/MAC_INTERFACE/register.c
index cb595b65771ffd390567bf54acd7f8ec90fdcce0..0c3c611817296a812313fdc93ab781d6690aecb6 100644
--- a/openair1/MAC_INTERFACE/register.c
+++ b/openair1/MAC_INTERFACE/register.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/MAC_INTERFACE/vars.h b/openair1/MAC_INTERFACE/vars.h
index fece5ec4d609101e6bfae02e6876c0e5defeb88d..e3ef7f6ab18bb7dad4376df62679f7562a941e4a 100755
--- a/openair1/MAC_INTERFACE/vars.h
+++ b/openair1/MAC_INTERFACE/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/3gpplte.c b/openair1/PHY/CODING/3gpplte.c
index fd33bf999cd845e3c3cd702fab016065ed21f718..c1a862ebb385dd5a8b0c0245a556810a362c489d 100644
--- a/openair1/PHY/CODING/3gpplte.c
+++ b/openair1/PHY/CODING/3gpplte.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/3gpplte_sse.c b/openair1/PHY/CODING/3gpplte_sse.c
index c66a42016daf45744125151694f9d97e7bdcb344..41c0f65dc35f15dfa5e6f1d83a8fae39f0fa1d8c 100755
--- a/openair1/PHY/CODING/3gpplte_sse.c
+++ b/openair1/PHY/CODING/3gpplte_sse.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder.c b/openair1/PHY/CODING/3gpplte_turbo_decoder.c
index ac70e94eddd38beb66da35eb7e91ed2df5561771..9fba2ba899072d1e0b7937b7c0666d9e2d1adac4 100644
--- a/openair1/PHY/CODING/3gpplte_turbo_decoder.c
+++ b/openair1/PHY/CODING/3gpplte_turbo_decoder.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c
index 6c5be7de91f77877c261060eb4d2674dab2837b6..67df01c437a77610fe33f8cf05a961ff6234d94b 100644
--- a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c
+++ b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
index 96813c1072c5ef463d2a35c2539035f1547081ac..702aee86567e5ec1e5ae47ac7c3c6bb5eed5e1f5 100644
--- a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
+++ b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
index 6e1ae73d6e548aa1f7a82a9548e4fa088fff1dd4..ee78dd07732ac5a0d70222530a46d2ed90bb7ae6 100644
--- a/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
+++ b/openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/TESTBENCH/ltetest.c b/openair1/PHY/CODING/TESTBENCH/ltetest.c
index 3bd5871b762b615d96f43e55e66cd0b5533b8033..b7b9fb4aabe1ff8622cef7726463c014d41f5160 100644
--- a/openair1/PHY/CODING/TESTBENCH/ltetest.c
+++ b/openair1/PHY/CODING/TESTBENCH/ltetest.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/TESTBENCH/pdcch_test.c b/openair1/PHY/CODING/TESTBENCH/pdcch_test.c
index adbecf3401f7377a475233336614d47ce91a3d35..84ed605411f1fd55e5bdf7a7d713844c63c56637 100644
--- a/openair1/PHY/CODING/TESTBENCH/pdcch_test.c
+++ b/openair1/PHY/CODING/TESTBENCH/pdcch_test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/TESTBENCH/viterbi_test.c b/openair1/PHY/CODING/TESTBENCH/viterbi_test.c
index cc5ba08d290336c9484d776f182ce65e21f3e20e..efc07820f34c78c22d236b95d9e55e3639d2787c 100644
--- a/openair1/PHY/CODING/TESTBENCH/viterbi_test.c
+++ b/openair1/PHY/CODING/TESTBENCH/viterbi_test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/ccoding_byte.c b/openair1/PHY/CODING/ccoding_byte.c
index c6489008eb7087e256f24fffd0d842d302fedbf0..cd626a855305d63b36fa0beb5ffad172af14572e 100755
--- a/openair1/PHY/CODING/ccoding_byte.c
+++ b/openair1/PHY/CODING/ccoding_byte.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/ccoding_byte_lte.c b/openair1/PHY/CODING/ccoding_byte_lte.c
index b399d0186b43acbba2c6f503b46a2d376c563905..12271fdceb1bdc918337a5b76e871825f44d9b83 100644
--- a/openair1/PHY/CODING/ccoding_byte_lte.c
+++ b/openair1/PHY/CODING/ccoding_byte_lte.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/crc_byte.c b/openair1/PHY/CODING/crc_byte.c
index 747f94b0d7e6d19d177e35467e68b573506ac9b3..e7ed05f411a09acedfdf6561022b302162e9a298 100755
--- a/openair1/PHY/CODING/crc_byte.c
+++ b/openair1/PHY/CODING/crc_byte.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/defs.h b/openair1/PHY/CODING/defs.h
index 21767a1f33d4a15b97e9a3da50cd7c4639c5b137..acb6e8dd29b32793eec8ffba8c716ebdb30007a2 100644
--- a/openair1/PHY/CODING/defs.h
+++ b/openair1/PHY/CODING/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/extern.h b/openair1/PHY/CODING/extern.h
index cf67c6c67ba9b1d34db0ca01baf632974398a33a..0108dab3866fa20a06555a92af3bdefe9bc390ec 100644
--- a/openair1/PHY/CODING/extern.h
+++ b/openair1/PHY/CODING/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/extern_3GPPinterleaver.h b/openair1/PHY/CODING/extern_3GPPinterleaver.h
index a6a0fd02c6a970ef53d8a0b7a58dc91b6fab3248..bc521a59a318f85ffa4360ab5e54d0c89fc0ed85 100755
--- a/openair1/PHY/CODING/extern_3GPPinterleaver.h
+++ b/openair1/PHY/CODING/extern_3GPPinterleaver.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/lte_interleaver.h b/openair1/PHY/CODING/lte_interleaver.h
index 449a7c9efadf6bd13547c3a293e21b207451101b..1199933a535479ed35f6fe564c9b923c8a381df9 100644
--- a/openair1/PHY/CODING/lte_interleaver.h
+++ b/openair1/PHY/CODING/lte_interleaver.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/lte_interleaver2.h b/openair1/PHY/CODING/lte_interleaver2.h
index b573b373bed82cd9d7d7e7f6fd61aaaf45770881..67b696a15fad06e87a23a64de164402a2af28d77 100644
--- a/openair1/PHY/CODING/lte_interleaver2.h
+++ b/openair1/PHY/CODING/lte_interleaver2.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/lte_interleaver_inline.h b/openair1/PHY/CODING/lte_interleaver_inline.h
index 311dc0da25975babe2cd3e9072c10ff891f61825..5e71bd7081913093e01c03a4e8cb65dfe6e81d84 100644
--- a/openair1/PHY/CODING/lte_interleaver_inline.h
+++ b/openair1/PHY/CODING/lte_interleaver_inline.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/lte_rate_matching.c b/openair1/PHY/CODING/lte_rate_matching.c
index 837665ceda1b3118f9faa64f2ec80e7709a58022..69697fc2e0c0ef932e330788f0782bdc1b5c428f 100644
--- a/openair1/PHY/CODING/lte_rate_matching.c
+++ b/openair1/PHY/CODING/lte_rate_matching.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/lte_segmentation.c b/openair1/PHY/CODING/lte_segmentation.c
index d0875cb8837000edcd31ca991b87ad5073aa8313..a4409ee414745701e0fcd4e1cd52146707711564 100644
--- a/openair1/PHY/CODING/lte_segmentation.c
+++ b/openair1/PHY/CODING/lte_segmentation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/rate_matching.c b/openair1/PHY/CODING/rate_matching.c
index 619c5dae6974fe2fc275972ca7b5ab2ce80fec01..c14f22e2acfc235624754ba17294663dbfdcc908 100644
--- a/openair1/PHY/CODING/rate_matching.c
+++ b/openair1/PHY/CODING/rate_matching.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/scrambler.h b/openair1/PHY/CODING/scrambler.h
index f753289279d6ec1859352ddd20f413f8eeb05d28..3718d8b4568be44495e8d41b77b812441fc165fb 100755
--- a/openair1/PHY/CODING/scrambler.h
+++ b/openair1/PHY/CODING/scrambler.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/vars.h b/openair1/PHY/CODING/vars.h
index 7caef4b403f69097014b68f513545dec97d39bec..98e63a43dcc4502889c48d34812abe07124277fb 100644
--- a/openair1/PHY/CODING/vars.h
+++ b/openair1/PHY/CODING/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/viterbi.c b/openair1/PHY/CODING/viterbi.c
index 118e0ef2d8a3690aa2070b1a970dcf08468c372a..cacc9ab2fffdc0c45f832cecbf982220f8b002d9 100755
--- a/openair1/PHY/CODING/viterbi.c
+++ b/openair1/PHY/CODING/viterbi.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/CODING/viterbi_lte.c b/openair1/PHY/CODING/viterbi_lte.c
index 230b933f7958a9175f67034edfe05c66cab0256a..f5a174e53edad5b156c09fe6c89afbf0a20032da 100644
--- a/openair1/PHY/CODING/viterbi_lte.c
+++ b/openair1/PHY/CODING/viterbi_lte.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/INIT/defs.h b/openair1/PHY/INIT/defs.h
index b63b31302e8b5b4025288fa525a32a6c4a2357e8..f08ca678db02cdc77517e4eb3df7f58221089f87 100644
--- a/openair1/PHY/INIT/defs.h
+++ b/openair1/PHY/INIT/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/INIT/extern.h b/openair1/PHY/INIT/extern.h
index 7a5b283a8e0cc470b2f898e1378c7abed5b61d1e..5c046434e6d3aba25071fc4e96063125122ce7c0 100644
--- a/openair1/PHY/INIT/extern.h
+++ b/openair1/PHY/INIT/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/INIT/init_top.c b/openair1/PHY/INIT/init_top.c
index c730654e6d9da209e5e8087b3721dbf327610643..e0de14bbb8755b82f292bf1762bc0620db334b19 100755
--- a/openair1/PHY/INIT/init_top.c
+++ b/openair1/PHY/INIT/init_top.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c
index 72c5d956295a05773985972c6ba47a9479cfc979..c819704bd20bc3eb0d90a82427b107c4cfb8203c 100644
--- a/openair1/PHY/INIT/lte_init.c
+++ b/openair1/PHY/INIT/lte_init.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/INIT/lte_parms.c b/openair1/PHY/INIT/lte_parms.c
index 6318c1625b57d2de0f986be8e2d538da7cc0bed8..55bd964aa7e302b1e7853a4e41dc5c5c84b3a215 100644
--- a/openair1/PHY/INIT/lte_parms.c
+++ b/openair1/PHY/INIT/lte_parms.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/INIT/vars.h b/openair1/PHY/INIT/vars.h
index 7a5b283a8e0cc470b2f898e1378c7abed5b61d1e..5c046434e6d3aba25071fc4e96063125122ce7c0 100644
--- a/openair1/PHY/INIT/vars.h
+++ b/openair1/PHY/INIT/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/adjust_gain.c b/openair1/PHY/LTE_ESTIMATION/adjust_gain.c
index dc1365734d7626c8685ee94bc619dcefb2ec965e..412f7cbae9c38a67a8ad731e3db787d75301112c 100644
--- a/openair1/PHY/LTE_ESTIMATION/adjust_gain.c
+++ b/openair1/PHY/LTE_ESTIMATION/adjust_gain.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/defs.h b/openair1/PHY/LTE_ESTIMATION/defs.h
index bc76c8a38a14c3d32b7ac28fcfa09d2789c04c48..10dc558c9b46490a27c533e9ec1fb7c5f9809bf2 100644
--- a/openair1/PHY/LTE_ESTIMATION/defs.h
+++ b/openair1/PHY/LTE_ESTIMATION/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/extern.h b/openair1/PHY/LTE_ESTIMATION/extern.h
index f6edc6bb34037d3ea2e3c6d471da45b67b2d77c6..7f3cc6e31ff6ae71a4b26df646d96d938b94c362 100644
--- a/openair1/PHY/LTE_ESTIMATION/extern.h
+++ b/openair1/PHY/LTE_ESTIMATION/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/filt96_32.h b/openair1/PHY/LTE_ESTIMATION/filt96_32.h
index c92be225bd8a744e081c013f9de393e4cfbd7bb2..a29a8c26fb20746613397ddee2b5bc07735ad408 100644
--- a/openair1/PHY/LTE_ESTIMATION/filt96_32.h
+++ b/openair1/PHY/LTE_ESTIMATION/filt96_32.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/freq_equalization.c b/openair1/PHY/LTE_ESTIMATION/freq_equalization.c
index 595d1e7a48bbb78da2adeddfb40c8c2c9b357b91..8f1ffe0441cf51fd5a432f3c0b424902d621c50f 100755
--- a/openair1/PHY/LTE_ESTIMATION/freq_equalization.c
+++ b/openair1/PHY/LTE_ESTIMATION/freq_equalization.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c b/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
index 63b3f27319b8a2e367a7da2e0e01361bb93de865..9425e94d025edb33d97ff937d0fbef412d9ad7f6 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
index 6e853e6c58fd7bdd22ef37cfdd8df193e20dddfe..10c0cef42ad4858ec57ee0ac243ae8a262c2d35d 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c
index ea82b15aee3612028de1dc7820c14cffe2698cb3..63223e5ff59fed50f68a6ba13b1b795685693ffe 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation_emos.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c
index 74072dc20a5947560dbb53dd99896262c2e76051..dbb2ba231fff2efd6f2d907fb7f8cc05376b6aeb 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c b/openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
index 43ebd839413a0ef6cc5eb258a057f4755627c554..9564b7842c9e91ea48b0955ef1e8b458e8247de2 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c b/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c
index b11ba532f5832ffa0f038892c83f7fc3ebc67b27..6f1279b5b8b0e13ce952bda09fb482629a4c168f 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_sync_time.c b/openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
index 7c6254090f20836654ee67bdec7998788dde1328..9864a50ee29e6dc6d5a343862e1f3f677d38d85f 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c b/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c
index 37f5d26315c96c63a7fa1bd22b75574891de386e..493583214a3b5206d1f5a4b0d0903e5da4dd07ec 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c b/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
index 0fa0fc4ce1a0cf7a018db210d1963b661ce3d9d8..65c4214427d5be4574db5d1ff86a0a993d6e156f 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
index 9a47a6b3556866ff34c4ddb61d0d1f0b20fac490..1d23bdca38d7b4121485d3777fdfdd268fbce9e1 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/pss6144.h b/openair1/PHY/LTE_ESTIMATION/pss6144.h
index aea275f77e1ec27b3eb23daacd627ff5eab8ed99..4903c84d62c92ae6c65d42525d1b278a6a18a3b2 100644
--- a/openair1/PHY/LTE_ESTIMATION/pss6144.h
+++ b/openair1/PHY/LTE_ESTIMATION/pss6144.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_ESTIMATION/vars.h b/openair1/PHY/LTE_ESTIMATION/vars.h
index f6edc6bb34037d3ea2e3c6d471da45b67b2d77c6..7f3cc6e31ff6ae71a4b26df646d96d938b94c362 100644
--- a/openair1/PHY/LTE_ESTIMATION/vars.h
+++ b/openair1/PHY/LTE_ESTIMATION/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_REFSIG/defs.h b/openair1/PHY/LTE_REFSIG/defs.h
index 2127380565c4d756ee3160b4e0e20af09f33bbc3..b48403ff9973cfc1890dbd0019767e42e0b5f29a 100644
--- a/openair1/PHY/LTE_REFSIG/defs.h
+++ b/openair1/PHY/LTE_REFSIG/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c b/openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c
index 1a09c8337204979fccc73b148eeeccd9828ea950..6faf2e1ed0ee47816182be2473859fe1ac82bcac 100644
--- a/openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c
+++ b/openair1/PHY/LTE_REFSIG/lte_dl_cell_spec.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c b/openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c
index 54b9a5442daadcc289cf284dc4db93248c69ede9..c3b141841a9d2fba22cf27e66601f32c37d91d43 100644
--- a/openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c
+++ b/openair1/PHY/LTE_REFSIG/lte_dl_mbsfn.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_REFSIG/lte_dl_uespec.c b/openair1/PHY/LTE_REFSIG/lte_dl_uespec.c
index b40f6ddfda25e2bd2e2749d706848c499e40220b..e7b3dd2ed1826bab0b2ac5f49be0a3323cec367d 100644
--- a/openair1/PHY/LTE_REFSIG/lte_dl_uespec.c
+++ b/openair1/PHY/LTE_REFSIG/lte_dl_uespec.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_REFSIG/lte_gold.c b/openair1/PHY/LTE_REFSIG/lte_gold.c
index 2463d73b7953320a0be61ad6568d511b2358a583..567851a51a6cd376f2cd6841782dd7fb374b402d 100644
--- a/openair1/PHY/LTE_REFSIG/lte_gold.c
+++ b/openair1/PHY/LTE_REFSIG/lte_gold.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c b/openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c
index 17f95cb9eec30fe163524612a627403ea7a66255..0d1451577623eae8821e42434ccde97d5a7f8aaf 100644
--- a/openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c
+++ b/openair1/PHY/LTE_REFSIG/lte_gold_mbsfn.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_REFSIG/lte_ul_ref.c b/openair1/PHY/LTE_REFSIG/lte_ul_ref.c
index be3902ec47e6725d01125fa02aae633274ffb4db..75599f4b71022a817140bff16a40884bb1fa9787 100644
--- a/openair1/PHY/LTE_REFSIG/lte_ul_ref.c
+++ b/openair1/PHY/LTE_REFSIG/lte_ul_ref.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_REFSIG/mod_table.h b/openair1/PHY/LTE_REFSIG/mod_table.h
index e63be32c6f50c5009dec51ba8249cf463528d58e..5ae3efdea29af47ea67bf8a5f928da12baa4b1b8 100644
--- a/openair1/PHY/LTE_REFSIG/mod_table.h
+++ b/openair1/PHY/LTE_REFSIG/mod_table.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_REFSIG/primary_synch.h b/openair1/PHY/LTE_REFSIG/primary_synch.h
index ff069e046b9809df5c14b34e98a594a5f4636491..f9cf6fc171d156cf197be85d54debc479d66abd1 100644
--- a/openair1/PHY/LTE_REFSIG/primary_synch.h
+++ b/openair1/PHY/LTE_REFSIG/primary_synch.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c
index 43d2410cbb5b9aa7dd7a54578c13038f33f66497..2fd89c8f642207409c6b4f8aaa0e4fc7855850cc 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci.c
+++ b/openair1/PHY/LTE_TRANSPORT/dci.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dci.h b/openair1/PHY/LTE_TRANSPORT/dci.h
index d98984b2a1c2847e2bc6b324cc78ea84a7cf61e8..e65352f5a014c654659f8eaa636f511b43b2a77a 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci.h
+++ b/openair1/PHY/LTE_TRANSPORT/dci.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c
index a0b4cba24e6ba05ec64332e9778e55261c6ee210..a77501e14c78357872f489c2f5b3c33e7a958c68 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/defs.h b/openair1/PHY/LTE_TRANSPORT/defs.h
index 0d3d028c8a14779f23635a26c3fb7402e33694de..a21693fea0e9865aa11ec495cecaf3a001006fd4 100644
--- a/openair1/PHY/LTE_TRANSPORT/defs.h
+++ b/openair1/PHY/LTE_TRANSPORT/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c b/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
index 46abdc8169667989f57afe414d99a10069ec369e..83066480b49e966bc485fb9e38323171c504bbc0 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
index 532570adf2a2ce92d341c1cf1397d3c12ecaaf41..6ab784aa18619a5652847ae72fc4e24d71e457a7 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
index 09210c64f079c292f87fee2d5d140e730b3de59e..3dc325861cbdb9c0fd122504c98229dad92cb07b 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
index f0a32e09b8d201b09209e0d316d681c7fb15853f..7425a4ed65893e27d47d3d4f117f1cfdc47316a0 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
index 376ba35ed3556a299c675fd2d8537c68e9fdf2ab..3b9c58ca1bdd03ee55ca7606dadcb665014916a6 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c b/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
index 721a2e8cace044b33bb89f1fd8bc5c3e824bfb78..dd971748cb80e8e31de0cb778b2d462b2a75dfa1 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h b/openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h
index 9d9c458e70cb0e5bcb60d975c47014cc12a1f73d..4a5520c371820317efe36f40ce2c86c8bc0fc710 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_tbs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h b/openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h
index e570ae950b47e1e2b357fe11280819aabb6c0cfb..b2c32b8643643117d910da16473c059306d454a4 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/drs_modulation.c b/openair1/PHY/LTE_TRANSPORT/drs_modulation.c
index b9baf48996dc532387b54b606d719df532919ca9..1b9df8046f81ad1d4d72f2c7ea79a10d8fc0d767 100644
--- a/openair1/PHY/LTE_TRANSPORT/drs_modulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/drs_modulation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/extern.h b/openair1/PHY/LTE_TRANSPORT/extern.h
index b4ca0a8bac792fadee3d05d2dbd38dbf0d4d7b7b..1fc6f7cb28f42453f61668ba70546f20360d33ed 100644
--- a/openair1/PHY/LTE_TRANSPORT/extern.h
+++ b/openair1/PHY/LTE_TRANSPORT/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/group_hopping.c b/openair1/PHY/LTE_TRANSPORT/group_hopping.c
index 6ab739abfcea57f6650340394773f75c5c098f13..992ac3088d316662cd9fbeebd48f6710e8e69e35 100644
--- a/openair1/PHY/LTE_TRANSPORT/group_hopping.c
+++ b/openair1/PHY/LTE_TRANSPORT/group_hopping.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/initial_sync.c b/openair1/PHY/LTE_TRANSPORT/initial_sync.c
index 69351e297fea297816b8745e1cbdd93e398bdffd..bc2a00d8e6c16f587d3af3634a6d375cb3258bb3 100644
--- a/openair1/PHY/LTE_TRANSPORT/initial_sync.c
+++ b/openair1/PHY/LTE_TRANSPORT/initial_sync.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/lte_mcs.c b/openair1/PHY/LTE_TRANSPORT/lte_mcs.c
index 6e253c3b632133586db76bc814235455bfbbfc10..41d9ec72a602e644592a62793bc745debf2b6102 100644
--- a/openair1/PHY/LTE_TRANSPORT/lte_mcs.c
+++ b/openair1/PHY/LTE_TRANSPORT/lte_mcs.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h b/openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h
index 3ea5672336d3e0db3bb8d94829742e794b72e02b..36f965a5ff5903dcc1591dde1d12ff421a1c575d 100644
--- a/openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h
+++ b/openair1/PHY/LTE_TRANSPORT/mcs_tbs_tools.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/pbch.c b/openair1/PHY/LTE_TRANSPORT/pbch.c
index 0582a6395686834531e7dc1481b1a7e06f51c87e..0eee263a10f14aea989bd05f6d8e89bd962a9028 100755
--- a/openair1/PHY/LTE_TRANSPORT/pbch.c
+++ b/openair1/PHY/LTE_TRANSPORT/pbch.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/pcfich.c b/openair1/PHY/LTE_TRANSPORT/pcfich.c
index 8e9038666bd2dc1ce704889c70d71d55310a6267..f289fd3bd078afed7dbb67f65d5cee1859552564 100644
--- a/openair1/PHY/LTE_TRANSPORT/pcfich.c
+++ b/openair1/PHY/LTE_TRANSPORT/pcfich.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/phich.c b/openair1/PHY/LTE_TRANSPORT/phich.c
index 68f625365a01aef6c08482ba308bb31fad56d191..e08ad239bdc9a9c0a83e57dcfca799ebb56d4a4c 100644
--- a/openair1/PHY/LTE_TRANSPORT/phich.c
+++ b/openair1/PHY/LTE_TRANSPORT/phich.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/pilots.c b/openair1/PHY/LTE_TRANSPORT/pilots.c
index 772a47e131898f92c6824661526b393573739776..ba1eee293dc53819458bcb5cef645734806ee61d 100644
--- a/openair1/PHY/LTE_TRANSPORT/pilots.c
+++ b/openair1/PHY/LTE_TRANSPORT/pilots.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c b/openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c
index 7ddd0d9ca8e40aac9338e739f7a1f8be737144f8..a81eb3848070490dcc84414ccee67b2a49440e6c 100644
--- a/openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c
+++ b/openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/pmch.c b/openair1/PHY/LTE_TRANSPORT/pmch.c
index fc5dee1db7ba403c57ef6330d555938f18dbf7c0..fbcec5033366c2888df7e5a97d02d9b59149d3e4 100644
--- a/openair1/PHY/LTE_TRANSPORT/pmch.c
+++ b/openair1/PHY/LTE_TRANSPORT/pmch.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/power_control.c b/openair1/PHY/LTE_TRANSPORT/power_control.c
index e09af40bd95d23f07dfd713d3bbd3ebea2dc4925..339a1faefd09adbd2bd91d056985b77106980f08 100644
--- a/openair1/PHY/LTE_TRANSPORT/power_control.c
+++ b/openair1/PHY/LTE_TRANSPORT/power_control.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c
index 527733cca5a14d35217d37134a932fc6ffabde35..25ecc392e80a3cb64c69e5f6c819f118862043bd 100644
--- a/openair1/PHY/LTE_TRANSPORT/prach.c
+++ b/openair1/PHY/LTE_TRANSPORT/prach.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/prach.h b/openair1/PHY/LTE_TRANSPORT/prach.h
index a0a5dee254490152bf942e11c48fb1804756f020..98e8db2508a582bcf40e2786a960ab70304acdc3 100644
--- a/openair1/PHY/LTE_TRANSPORT/prach.h
+++ b/openair1/PHY/LTE_TRANSPORT/prach.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/print_stats.c b/openair1/PHY/LTE_TRANSPORT/print_stats.c
index 2bc4fca53c13585d0959c5a8eebc37b2a46ecd15..53ca8759532d12c6004baa755601bd0eb2971d2f 100644
--- a/openair1/PHY/LTE_TRANSPORT/print_stats.c
+++ b/openair1/PHY/LTE_TRANSPORT/print_stats.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h
index 4d8b2389fce6e28d23947daf4168ea63c74596c1..eb32aab24e89517be42d0179387418a5df0d8406 100644
--- a/openair1/PHY/LTE_TRANSPORT/proto.h
+++ b/openair1/PHY/LTE_TRANSPORT/proto.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/pss.c b/openair1/PHY/LTE_TRANSPORT/pss.c
index 859e29754603e398626655744ba0af0f9c290d77..cb954dedb4d57de40f0a9d30bc2c163cb6df13e5 100644
--- a/openair1/PHY/LTE_TRANSPORT/pss.c
+++ b/openair1/PHY/LTE_TRANSPORT/pss.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/pucch.c b/openair1/PHY/LTE_TRANSPORT/pucch.c
index 4a72538dc098a3129c8a190abc0c774cdf26fd7b..2ed5694dd190a8c87a95e8d9dc89cec91cdb0085 100644
--- a/openair1/PHY/LTE_TRANSPORT/pucch.c
+++ b/openair1/PHY/LTE_TRANSPORT/pucch.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/rar_tools.c b/openair1/PHY/LTE_TRANSPORT/rar_tools.c
index 7fa684e87aafe08ab3984582534bf92562af0485..1b789e114435269d9b3a3d476c67d7ae4dad9c9e 100644
--- a/openair1/PHY/LTE_TRANSPORT/rar_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/rar_tools.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/srs_modulation.c b/openair1/PHY/LTE_TRANSPORT/srs_modulation.c
index 99ebc0582ebfd68fc60da7cb84db47a6ce24e8a8..1edc98cf2cb6c1bf54456d23843720acb7f0d9d8 100644
--- a/openair1/PHY/LTE_TRANSPORT/srs_modulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/srs_modulation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/sss.c b/openair1/PHY/LTE_TRANSPORT/sss.c
index ecc2661d75fa15082946398e522cc0a0222a9b4a..e1e6463b3700cff2edd8fcca9bab496a877f3f65 100644
--- a/openair1/PHY/LTE_TRANSPORT/sss.c
+++ b/openair1/PHY/LTE_TRANSPORT/sss.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/sss.h b/openair1/PHY/LTE_TRANSPORT/sss.h
index 88f9b1ceb4630850b861d2d736d7408b908ea4bb..5b79f956104c7db33d74a914efd123ad46b7e26f 100644
--- a/openair1/PHY/LTE_TRANSPORT/sss.h
+++ b/openair1/PHY/LTE_TRANSPORT/sss.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/uci.h b/openair1/PHY/LTE_TRANSPORT/uci.h
index d645b343fa44220d4f448edd63cdd1c185dd3386..03580cf4c983f7032388c0fee68cd19202c21b98 100644
--- a/openair1/PHY/LTE_TRANSPORT/uci.h
+++ b/openair1/PHY/LTE_TRANSPORT/uci.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/uci_tools.c b/openair1/PHY/LTE_TRANSPORT/uci_tools.c
index ef6a6767d783a708908fa46d5e9f06d0af01b144..1cccc4aaac34bc39571c009f1c9587048974c3d7 100644
--- a/openair1/PHY/LTE_TRANSPORT/uci_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/uci_tools.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c
index 0dbe0874b7da4886af30949054bc8f4f6a390207..606f2d8dfc66d2a38e18dc5cd807a586cdc326ff 100644
--- a/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c
+++ b/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
index 5774bc50be03990768789881011c33ecdeab5927..25dae3ed63646da5a632e3eed86b6b56f7916284 100644
--- a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+++ b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
index 9c3fcae306e49fbfb2184f35ff47ef1a596f408f..606b2692d5bbe35b9b0d729099f90f8451faf465 100644
--- a/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c
index 46a49fb793c4f2d204d0c8efbea4c9be02f785ae..e9780ee92b20f2f5dbe9a455215d0b6a135fb088 100644
--- a/openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/ulsch_modulation.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/LTE_TRANSPORT/vars.h b/openair1/PHY/LTE_TRANSPORT/vars.h
index d6dadbfcbf465703eebc571d242d3f525b5ab6b7..c40633aff372927efa691e9d70db0a6ae8248b74 100644
--- a/openair1/PHY/LTE_TRANSPORT/vars.h
+++ b/openair1/PHY/LTE_TRANSPORT/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/defs.h b/openair1/PHY/MODULATION/defs.h
index 3c2e1cad050e4f3a7830829437f4cc1ec4e5a068..8d45c15e0031ddca60c3be49667f1c1c32d40d6a 100644
--- a/openair1/PHY/MODULATION/defs.h
+++ b/openair1/PHY/MODULATION/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/extern.h b/openair1/PHY/MODULATION/extern.h
index 80e61fcdce9a3f78a48137f8cc75e38e519bbe3a..f5be5682aa4feb8d65c2bf6d865b463801fe950a 100644
--- a/openair1/PHY/MODULATION/extern.h
+++ b/openair1/PHY/MODULATION/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/kHz_7_5.h b/openair1/PHY/MODULATION/kHz_7_5.h
index 321991d4a27cad6d7c9d8e3659e88bc671adc082..2c07627b662deaa9c8c918eede763240d5247a23 100644
--- a/openair1/PHY/MODULATION/kHz_7_5.h
+++ b/openair1/PHY/MODULATION/kHz_7_5.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/ofdm_mod.c b/openair1/PHY/MODULATION/ofdm_mod.c
index 11b32525580adaef65871d3935897c27f40796aa..61e5f9fb5bc20c7bbd436419d7a8e9584351ceeb 100755
--- a/openair1/PHY/MODULATION/ofdm_mod.c
+++ b/openair1/PHY/MODULATION/ofdm_mod.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/prach625Hz.h b/openair1/PHY/MODULATION/prach625Hz.h
index 0c79fea9f4e3e82fcb4a67e7c3f6258c15bff2c2..5a114181e66ecccf9d06244e0457b01097447d06 100644
--- a/openair1/PHY/MODULATION/prach625Hz.h
+++ b/openair1/PHY/MODULATION/prach625Hz.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/slot_fep.c b/openair1/PHY/MODULATION/slot_fep.c
index d97401903d5457c9866b7f59d973884effef1652..feb2d885b2c1279c5a649dd0b12f82c10a0c3bc7 100644
--- a/openair1/PHY/MODULATION/slot_fep.c
+++ b/openair1/PHY/MODULATION/slot_fep.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/slot_fep_mbsfn.c b/openair1/PHY/MODULATION/slot_fep_mbsfn.c
index cca3c7f2616bdfbb538e507232aa16c4dacd06d6..94dc4b3ef162cc3b8d3e421de3e89d9745bf81e5 100644
--- a/openair1/PHY/MODULATION/slot_fep_mbsfn.c
+++ b/openair1/PHY/MODULATION/slot_fep_mbsfn.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/slot_fep_ul.c b/openair1/PHY/MODULATION/slot_fep_ul.c
index b6b606e9681e2bff853f6d968d88f1674c6fe99e..32bae2c0360a5c1316c47ccda5cd66f86d012676 100644
--- a/openair1/PHY/MODULATION/slot_fep_ul.c
+++ b/openair1/PHY/MODULATION/slot_fep_ul.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/ul_7_5_kHz.c b/openair1/PHY/MODULATION/ul_7_5_kHz.c
index 0e7c1785fa4f42f9ad099c6dac81c97c639636cb..4a50ad395ea618e6ab79d6f9ea843addad170768 100755
--- a/openair1/PHY/MODULATION/ul_7_5_kHz.c
+++ b/openair1/PHY/MODULATION/ul_7_5_kHz.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/MODULATION/vars.h b/openair1/PHY/MODULATION/vars.h
index bbbdde96332366272a780c9578236d81129a3efc..5fa9b967768535c3a24cdb33af1478dfb1da535c 100644
--- a/openair1/PHY/MODULATION/vars.h
+++ b/openair1/PHY/MODULATION/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/8bit_rxdemux.c b/openair1/PHY/TOOLS/8bit_rxdemux.c
index 691125ff014ea41c0a5e2808bc77f77994ee625a..c9406c10cefd49ceba97a7465863d230c4dd98dd 100644
--- a/openair1/PHY/TOOLS/8bit_rxdemux.c
+++ b/openair1/PHY/TOOLS/8bit_rxdemux.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/8bit_txmux.c b/openair1/PHY/TOOLS/8bit_txmux.c
index d9d14055de6bc656059490f286a6057720ccfe59..b31da10198f23bb1e52b5e2da8ae2ba5aaf38878 100644
--- a/openair1/PHY/TOOLS/8bit_txmux.c
+++ b/openair1/PHY/TOOLS/8bit_txmux.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/angle.c b/openair1/PHY/TOOLS/angle.c
index 5d75893f44fc5c1af29f3df5d2ae2e692c87f434..f2c71ea742358ef4c1bf00b719da354c24534264 100644
--- a/openair1/PHY/TOOLS/angle.c
+++ b/openair1/PHY/TOOLS/angle.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/cadd_sv.c b/openair1/PHY/TOOLS/cadd_sv.c
index 1ca91b7969c714eab6f063d797b775388586e5df..2fa052f6c941b2d156fe5d75414f1f22deefe2b2 100644
--- a/openair1/PHY/TOOLS/cadd_sv.c
+++ b/openair1/PHY/TOOLS/cadd_sv.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/cadd_vv.c b/openair1/PHY/TOOLS/cadd_vv.c
index 70ec37e50bfd9c63f9a6fef23700f1b629e32499..3bc349463e91f2099fede576e8c26060f3ab30e4 100644
--- a/openair1/PHY/TOOLS/cadd_vv.c
+++ b/openair1/PHY/TOOLS/cadd_vv.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/cdot_prod.c b/openair1/PHY/TOOLS/cdot_prod.c
index ee8425fd1aa02d7ffb8ec29811abdfdc07cd8df7..2e52e63f7ef774a4cf0580e278e4c2f15bec08c8 100644
--- a/openair1/PHY/TOOLS/cdot_prod.c
+++ b/openair1/PHY/TOOLS/cdot_prod.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/cmult_mm.c b/openair1/PHY/TOOLS/cmult_mm.c
index f7ae7b1ab2d4441fc5ff9dae28d1b74093529962..328958af29605645183c7421dca863829eed3ab1 100644
--- a/openair1/PHY/TOOLS/cmult_mm.c
+++ b/openair1/PHY/TOOLS/cmult_mm.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/cmult_sv.c b/openair1/PHY/TOOLS/cmult_sv.c
index c9d3a8a50e744202322fed5dca05a94be514d743..31ad77be82fdc679ebf1e30078c445b1ded0e79a 100644
--- a/openair1/PHY/TOOLS/cmult_sv.c
+++ b/openair1/PHY/TOOLS/cmult_sv.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/cmult_vv.c b/openair1/PHY/TOOLS/cmult_vv.c
index 900d661341ab2b8879f1c49e877b4bf1e8bf7418..d7b72755087cb3e3b343e79140a9935d208e9b56 100755
--- a/openair1/PHY/TOOLS/cmult_vv.c
+++ b/openair1/PHY/TOOLS/cmult_vv.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/cmult_vvh.c b/openair1/PHY/TOOLS/cmult_vvh.c
index 7e360d9728f28489f8fcff11de68d297291b71e1..64cf163d09c84c09c2afb1afd3aecd467c861a07 100644
--- a/openair1/PHY/TOOLS/cmult_vvh.c
+++ b/openair1/PHY/TOOLS/cmult_vvh.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/costable.h b/openair1/PHY/TOOLS/costable.h
index c0c65bb90bc5826fc603e12eafe03717019c7583..86627a470799ac0b87522ad3f880326adcdf070d 100644
--- a/openair1/PHY/TOOLS/costable.h
+++ b/openair1/PHY/TOOLS/costable.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/dB_routines.c b/openair1/PHY/TOOLS/dB_routines.c
index 8a7aac7e27ebd72645ef78766774f51f4226556d..ae792c4dd602a5e928694ef10179abde424890e3 100755
--- a/openair1/PHY/TOOLS/dB_routines.c
+++ b/openair1/PHY/TOOLS/dB_routines.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/dB_routines.h b/openair1/PHY/TOOLS/dB_routines.h
index 2a79a70f0a5ba8f369baaff5a9c3469d87e6c42b..36040dc28ab5272d34ae0a79c32bb4b49e147a2d 100644
--- a/openair1/PHY/TOOLS/dB_routines.h
+++ b/openair1/PHY/TOOLS/dB_routines.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/defs.h b/openair1/PHY/TOOLS/defs.h
index 0ea1af57e4ffd6f3798b56a38c0284bbb08b32f1..6960fcda4c8793ff4920a0cc99edc60c5dddff42 100644
--- a/openair1/PHY/TOOLS/defs.h
+++ b/openair1/PHY/TOOLS/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/extern.h b/openair1/PHY/TOOLS/extern.h
index 7a5b283a8e0cc470b2f898e1378c7abed5b61d1e..5c046434e6d3aba25071fc4e96063125122ce7c0 100644
--- a/openair1/PHY/TOOLS/extern.h
+++ b/openair1/PHY/TOOLS/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/file_output.c b/openair1/PHY/TOOLS/file_output.c
index bdfc45f50ac679c91e1b7236178c7478b2374305..e3a92696fee13db1f7d6994acda7d536d78ab336 100755
--- a/openair1/PHY/TOOLS/file_output.c
+++ b/openair1/PHY/TOOLS/file_output.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/invSqrt.c b/openair1/PHY/TOOLS/invSqrt.c
index 2220142b8bc54e3f735301a712a2653305d62325..40a576eb30a0f986089b57c968010b737fe1673f 100644
--- a/openair1/PHY/TOOLS/invSqrt.c
+++ b/openair1/PHY/TOOLS/invSqrt.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/log2_approx.c b/openair1/PHY/TOOLS/log2_approx.c
index 24cb411d0ddd1a2f3e0510c1631731b1dfb307f8..bfff65cb039d29f82db6182ed2eaaec596635fe8 100644
--- a/openair1/PHY/TOOLS/log2_approx.c
+++ b/openair1/PHY/TOOLS/log2_approx.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/lte_dfts.c b/openair1/PHY/TOOLS/lte_dfts.c
index 22649ae7b348dd060874b4b28e26628cd4c22adc..c031d5d384d751e55e9b484cc3d86872589ccdd9 100644
--- a/openair1/PHY/TOOLS/lte_dfts.c
+++ b/openair1/PHY/TOOLS/lte_dfts.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/lte_phy_scope.c b/openair1/PHY/TOOLS/lte_phy_scope.c
index 99035b046fd5f4af8516872302d0ededba1fc0da..49cafa19b591216fea2b9b8f3b0480940b1d2e45 100644
--- a/openair1/PHY/TOOLS/lte_phy_scope.c
+++ b/openair1/PHY/TOOLS/lte_phy_scope.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/lte_phy_scope.h b/openair1/PHY/TOOLS/lte_phy_scope.h
index f41f501838d2fd5aeed75bc447cd9eac2fbcbbf5..877934fc7a0d24edc58f9ff2d5d3df89d1910b1b 100644
--- a/openair1/PHY/TOOLS/lte_phy_scope.h
+++ b/openair1/PHY/TOOLS/lte_phy_scope.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/lut.c b/openair1/PHY/TOOLS/lut.c
index 344e38995b96347faff31520fea52b3f8c18e82d..5e6602c7f278e381cd12948b0ffee41e2a8117dd 100644
--- a/openair1/PHY/TOOLS/lut.c
+++ b/openair1/PHY/TOOLS/lut.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/memory_routines.c b/openair1/PHY/TOOLS/memory_routines.c
index b4a4676a6dee606698cb3d9ecdff8a9d47c6124e..4da4d89cb65484551bc9907444c17d96d9f3552c 100755
--- a/openair1/PHY/TOOLS/memory_routines.c
+++ b/openair1/PHY/TOOLS/memory_routines.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/signal_energy.c b/openair1/PHY/TOOLS/signal_energy.c
index f9de85674e6a94eaba89ef4212c78e06ba80f4c4..323a1831dc17cbf1f72fc7df9004fb83a2127113 100755
--- a/openair1/PHY/TOOLS/signal_energy.c
+++ b/openair1/PHY/TOOLS/signal_energy.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/smbv.c b/openair1/PHY/TOOLS/smbv.c
index 426fb5b68e7cea8de3d9e642294d9dda2760ca32..b7de63f483198a47bfa20ed00b4a67e4f80655ed 100644
--- a/openair1/PHY/TOOLS/smbv.c
+++ b/openair1/PHY/TOOLS/smbv.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/smbv.h b/openair1/PHY/TOOLS/smbv.h
index 916083ff01e4877be582c5603f26e5d7ed7c05fc..c52b50f038b5e3974a6520473bdb656f225c5568 100644
--- a/openair1/PHY/TOOLS/smbv.h
+++ b/openair1/PHY/TOOLS/smbv.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/sqrt.c b/openair1/PHY/TOOLS/sqrt.c
index 51a907126363d8cd3ac7dbc247d258140ac32a69..247cfa138f9796a2705eee459d6941e6acccfc2e 100755
--- a/openair1/PHY/TOOLS/sqrt.c
+++ b/openair1/PHY/TOOLS/sqrt.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/time_meas.c b/openair1/PHY/TOOLS/time_meas.c
index 675de01d31e7b1de429d5984995856cc032a1af2..ba1014e9a01d8cc8a3d228abe15aaca0cf33acdb 100644
--- a/openair1/PHY/TOOLS/time_meas.c
+++ b/openair1/PHY/TOOLS/time_meas.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/time_meas.h b/openair1/PHY/TOOLS/time_meas.h
index 900c5b3f9a7c9c70bf3283eba7b352e4680c38ce..a3df8970535976cdbe1b235dd6ad56e4a588d38c 100644
--- a/openair1/PHY/TOOLS/time_meas.h
+++ b/openair1/PHY/TOOLS/time_meas.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/twiddle12288.h b/openair1/PHY/TOOLS/twiddle12288.h
index 412746a13db7039fecad38944ce352a1ea7a66d4..bc1226c67eaa7044a63aa6ff2f75ed4bdd74024b 100644
--- a/openair1/PHY/TOOLS/twiddle12288.h
+++ b/openair1/PHY/TOOLS/twiddle12288.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/twiddle1536.h b/openair1/PHY/TOOLS/twiddle1536.h
index 864b5b1aea39ed4c4e4d533ed55f16d2962a45bd..b74534aabf873df97ed2796256af5968530a5a1b 100644
--- a/openair1/PHY/TOOLS/twiddle1536.h
+++ b/openair1/PHY/TOOLS/twiddle1536.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/twiddle24576.h b/openair1/PHY/TOOLS/twiddle24576.h
index d3f5622f98896f8f0a5d1a139ce6470b72f4c79b..46cdb97a5bf56331ae6ddb40c611d6fa750c6dfe 100644
--- a/openair1/PHY/TOOLS/twiddle24576.h
+++ b/openair1/PHY/TOOLS/twiddle24576.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/twiddle6144.h b/openair1/PHY/TOOLS/twiddle6144.h
index d1241ab5fac494c6de1542150f293ddbd8c9e667..3f9c3684dcbdc5a261837fa63975104399be5e84 100644
--- a/openair1/PHY/TOOLS/twiddle6144.h
+++ b/openair1/PHY/TOOLS/twiddle6144.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/TOOLS/vars.h b/openair1/PHY/TOOLS/vars.h
index f6edc6bb34037d3ea2e3c6d471da45b67b2d77c6..7f3cc6e31ff6ae71a4b26df646d96d938b94c362 100644
--- a/openair1/PHY/TOOLS/vars.h
+++ b/openair1/PHY/TOOLS/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/defs.h b/openair1/PHY/defs.h
index 1fee82a3faacb30f6fa8da0c26cdd8a83495091a..398861cabfc95eb2840b3be8b71951a32c4cc71a 100755
--- a/openair1/PHY/defs.h
+++ b/openair1/PHY/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/extern.h b/openair1/PHY/extern.h
index 8631d759cfb84be76025eded23c0ea9ffaf44483..a7450e3e21cf14eec465082758db07d2c218d200 100755
--- a/openair1/PHY/extern.h
+++ b/openair1/PHY/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/impl_defs_lte.h b/openair1/PHY/impl_defs_lte.h
index 66b30ffda092203e089227248effe59422118af6..a0ef6c005a622d71121a26f47f904876f6c3eaa6 100644
--- a/openair1/PHY/impl_defs_lte.h
+++ b/openair1/PHY/impl_defs_lte.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/impl_defs_top.h b/openair1/PHY/impl_defs_top.h
index a0302fd5260ca8cf7a39097156d8df772da249eb..c84b7d3ece8544bb34e0c5b8b3134ea0e025bb66 100755
--- a/openair1/PHY/impl_defs_top.h
+++ b/openair1/PHY/impl_defs_top.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/spec_defs.h b/openair1/PHY/spec_defs.h
index ac0ee07428ea5fa31582fbaa55d0e63430c377e6..c8a1e86e5e9ce4661d3ea049aa860b2b8fcf15ed 100755
--- a/openair1/PHY/spec_defs.h
+++ b/openair1/PHY/spec_defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/spec_defs_top.h b/openair1/PHY/spec_defs_top.h
index f0ec7b4548392fe481bbc593e3007f4fb0d1ea2f..8f647f1eacc676087f545725ff0b778e445d6a19 100755
--- a/openair1/PHY/spec_defs_top.h
+++ b/openair1/PHY/spec_defs_top.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/sse_intrin.h b/openair1/PHY/sse_intrin.h
index cfd3d0b653afc88ded000a4e3ff00f4252d1c303..dbeb21dff1284cce5a2a6b937e45a9faa6dcbc7f 100644
--- a/openair1/PHY/sse_intrin.h
+++ b/openair1/PHY/sse_intrin.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/types.h b/openair1/PHY/types.h
index dedc15adb06053546da72b9d2429e2f4e4982f87..7a362c5270da20aba256613dc87e4bdf24be1907 100755
--- a/openair1/PHY/types.h
+++ b/openair1/PHY/types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/PHY/vars.h b/openair1/PHY/vars.h
index c7a8d1d78e53f157b7720a6fd8fee1badb84101d..294105affa07d212288718f18e7abd14a0d738d1 100755
--- a/openair1/PHY/vars.h
+++ b/openair1/PHY/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/defs.h b/openair1/SCHED/defs.h
index 485577449449c47392baa7dba08c1bcb1206f809..bebe476dcd2fd3ab194549d5cfdb39fd2dfb2ecd 100644
--- a/openair1/SCHED/defs.h
+++ b/openair1/SCHED/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/extern.h b/openair1/SCHED/extern.h
index a9f826ce8a29459baa4dce789189e9fba44d9eef..dd3892a290a43320795ee27cd1c640f17332d458 100644
--- a/openair1/SCHED/extern.h
+++ b/openair1/SCHED/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/phy_procedures_emos.h b/openair1/SCHED/phy_procedures_emos.h
index 81b2a7062f5af2a11ad347b2db63a0ecabab393b..b34730bddb17d93e0b79a2725b70dbbc0ca78e24 100644
--- a/openair1/SCHED/phy_procedures_emos.h
+++ b/openair1/SCHED/phy_procedures_emos.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/phy_procedures_lte_common.c b/openair1/SCHED/phy_procedures_lte_common.c
index e92396989a0acecd0f620dad94491df354976f6a..ce659a60f809605716452283577c9629de4802fe 100755
--- a/openair1/SCHED/phy_procedures_lte_common.c
+++ b/openair1/SCHED/phy_procedures_lte_common.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c
index 2fd7aa52c82a87ba1d51c336560507ef210eb74d..165f2fbac61ebda4df560c9588465d505dfcd84d 100755
--- a/openair1/SCHED/phy_procedures_lte_eNb.c
+++ b/openair1/SCHED/phy_procedures_lte_eNb.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/phy_procedures_lte_ue.c b/openair1/SCHED/phy_procedures_lte_ue.c
index 54fee5a1a48333aa8ef1ee3be4f5a7ba9712f78a..7dcd71ce472b982b823b5f91751e17063f5850a6 100755
--- a/openair1/SCHED/phy_procedures_lte_ue.c
+++ b/openair1/SCHED/phy_procedures_lte_ue.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/pucch_pc.c b/openair1/SCHED/pucch_pc.c
index 3cfb5f9bcebcf2575830b6fd9fbf91df549230a1..feeff7159886cec6f01ce65fa45f20f1bf181009 100644
--- a/openair1/SCHED/pucch_pc.c
+++ b/openair1/SCHED/pucch_pc.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/pusch_pc.c b/openair1/SCHED/pusch_pc.c
index 5a3390d6777fe393d3d64a8a13051800477b296c..2af8771afef6bc48bf61d306e8ef777fe1cd7860 100644
--- a/openair1/SCHED/pusch_pc.c
+++ b/openair1/SCHED/pusch_pc.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/rt_compat.h b/openair1/SCHED/rt_compat.h
index a6a43891ebd0ebd0ef5a365859810bd980bdd42e..14b5e8cb5260ea59fcd2007c2a5a8d2e5aa6b088 100755
--- a/openair1/SCHED/rt_compat.h
+++ b/openair1/SCHED/rt_compat.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SCHED/vars.h b/openair1/SCHED/vars.h
index 7dcff8d727c886a4f48ed7a7d62e7f24e8c8c686..532251a2f0d9bcb0f0d9288ae3a75f7ad82dcd2f 100644
--- a/openair1/SCHED/vars.h
+++ b/openair1/SCHED/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c b/openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c
index ba66382f9689bf767aa09a346335d33f987a486b..765952133a5c3b784ac5f4867d35029b315eff98 100644
--- a/openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c
+++ b/openair1/SIMULATION/ETH_TRANSPORT/bypass_session_layer.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/defs.h b/openair1/SIMULATION/ETH_TRANSPORT/defs.h
index cfc3aa0774bd16948735cd931c6f6851f05daec0..790a0adc2d361a7411698342528b94883157fb84 100755
--- a/openair1/SIMULATION/ETH_TRANSPORT/defs.h
+++ b/openair1/SIMULATION/ETH_TRANSPORT/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c b/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c
index eabf519ae75dcd77757ec2091706659c74a27d6e..8c5516eabd6837e9860efafb93f6edf8c7d5ccb3 100644
--- a/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c
+++ b/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/extern.h b/openair1/SIMULATION/ETH_TRANSPORT/extern.h
index c98e45d5e45178c708780ea04a897934e477b52b..c368fa7229aae576de816b244655a05c662dbeb8 100755
--- a/openair1/SIMULATION/ETH_TRANSPORT/extern.h
+++ b/openair1/SIMULATION/ETH_TRANSPORT/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c b/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c
index 15b36bae9210e22f8377124b7097fd75a568e85f..b919d979d8e36e41e701c2a7fba2b3b3e86ebfa6 100755
--- a/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c
+++ b/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h b/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h
index c847569328dc7cc9473fd39af69ef8a661d66ff5..0ac2ceb336e8a200fb4f0b6c047f6d6f55a11b97 100755
--- a/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h
+++ b/openair1/SIMULATION/ETH_TRANSPORT/multicast_link.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c b/openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c
index aaa8e9c32a6f24c79b3990815ef5c1efbbb4ff74..d7fc98348c5d6a67bc054f617b39905fd984e91b 100644
--- a/openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c
+++ b/openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c
index 3e964e965e8d9042f999cf8ba1f129501e093aad..e76b50f61bd6dfa5e8785b858d7a13c935e85ec2 100644
--- a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c
+++ b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h
index 9fd1598961eb37dd0866fbfd2e4948e2249239c6..6fc14fdc99669e1056d3bd998ed5ce216885da6e 100644
--- a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h
+++ b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/proto.h b/openair1/SIMULATION/ETH_TRANSPORT/proto.h
index 1f0c7133a4e7bc1cb8e36aaa6f2d407b27a4129a..aa87a53ab7c5fee4b48b14c22136580a6b81246e 100644
--- a/openair1/SIMULATION/ETH_TRANSPORT/proto.h
+++ b/openair1/SIMULATION/ETH_TRANSPORT/proto.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/socket.c b/openair1/SIMULATION/ETH_TRANSPORT/socket.c
index b8ec14b9f38cfe8d4d3fc7b39fe9386699bc62d4..39195c220660a9e5bbb5fb886f3e15b168fc22c7 100755
--- a/openair1/SIMULATION/ETH_TRANSPORT/socket.c
+++ b/openair1/SIMULATION/ETH_TRANSPORT/socket.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/socket.h b/openair1/SIMULATION/ETH_TRANSPORT/socket.h
index ed1510d693dcecc958a086ae0f0f348ca8af179a..a1cc11e5c2eaeca8b18785d2206bb47fe152cf8a 100755
--- a/openair1/SIMULATION/ETH_TRANSPORT/socket.h
+++ b/openair1/SIMULATION/ETH_TRANSPORT/socket.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/vars.h b/openair1/SIMULATION/ETH_TRANSPORT/vars.h
index ab585813d3c5da14cdeef4dffd716c0c98639018..fecf347d28eb8187a0942134169590486f07e3c8 100755
--- a/openair1/SIMULATION/ETH_TRANSPORT/vars.h
+++ b/openair1/SIMULATION/ETH_TRANSPORT/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/LTE_Configuration.c b/openair1/SIMULATION/LTE_PHY/LTE_Configuration.c
index abe19e0fd9dc8584cc84f706d64ddaacebaae1b4..cf6f81597fd9a10a8f46aa52f5238931250db1ff 100644
--- a/openair1/SIMULATION/LTE_PHY/LTE_Configuration.c
+++ b/openair1/SIMULATION/LTE_PHY/LTE_Configuration.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/LTE_Configuration.h b/openair1/SIMULATION/LTE_PHY/LTE_Configuration.h
index 2ff38f7b0af59d8904ea1cb37d8796e923d41447..ee5eeb5ae524bcfcecdb3161949488e815b10a11 100644
--- a/openair1/SIMULATION/LTE_PHY/LTE_Configuration.h
+++ b/openair1/SIMULATION/LTE_PHY/LTE_Configuration.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c
index 16cdd9b6e7897e5893681056ac19857bd8c98d58..28e7bc8216ecd57ff465250e9a0261c5c1b5d062 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/framegen.c b/openair1/SIMULATION/LTE_PHY/framegen.c
index 21124eba8db3ba00c78656fb9c2eab37aa6947bc..578fec7d0ed8e4aedfabac33ec27a6382041603a 100644
--- a/openair1/SIMULATION/LTE_PHY/framegen.c
+++ b/openair1/SIMULATION/LTE_PHY/framegen.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/gpib_send.c b/openair1/SIMULATION/LTE_PHY/gpib_send.c
index db7f89552ba7382b6f96d94c188207ebac14a84a..fd9543aa217f2225127be8259b55f9394090a44a 100644
--- a/openair1/SIMULATION/LTE_PHY/gpib_send.c
+++ b/openair1/SIMULATION/LTE_PHY/gpib_send.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/gpib_send.h b/openair1/SIMULATION/LTE_PHY/gpib_send.h
index 2bccfcfcd8ad7530718c5032d4f2addd078e898b..4cc568edc855bac6e07399fe8dc74e0a2fde34f9 100644
--- a/openair1/SIMULATION/LTE_PHY/gpib_send.h
+++ b/openair1/SIMULATION/LTE_PHY/gpib_send.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/mbmssim.c b/openair1/SIMULATION/LTE_PHY/mbmssim.c
index 474d37a2ec74d3f6a9497979a66e39ee3c4099de..862edaa864493c8af5af0e6942382455da3f3e93 100644
--- a/openair1/SIMULATION/LTE_PHY/mbmssim.c
+++ b/openair1/SIMULATION/LTE_PHY/mbmssim.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/pbchsim.c b/openair1/SIMULATION/LTE_PHY/pbchsim.c
index 67080836b7c56652f2c43f02cf3a021743090650..5aa3fac997461ebd69f63d67fccf35f1530b5b01 100644
--- a/openair1/SIMULATION/LTE_PHY/pbchsim.c
+++ b/openair1/SIMULATION/LTE_PHY/pbchsim.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/pdcchsim.c b/openair1/SIMULATION/LTE_PHY/pdcchsim.c
index 1852e349ec168b83f49dd4f8f40df2b1baf092af..caa7e1248d48e7dcc0078b45bffb1cb53f1d9d3c 100644
--- a/openair1/SIMULATION/LTE_PHY/pdcchsim.c
+++ b/openair1/SIMULATION/LTE_PHY/pdcchsim.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/prachsim.c b/openair1/SIMULATION/LTE_PHY/prachsim.c
index 77f3b8accf30a781eef7725ca63da073a26583f2..eeca52a274da992602981381e3dd2721d26b6d8d 100644
--- a/openair1/SIMULATION/LTE_PHY/prachsim.c
+++ b/openair1/SIMULATION/LTE_PHY/prachsim.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h b/openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h
index 45368dad82b52a16f17effdfb7650611837d09cd..0fd3dd752d6e1a908c5a70cee2e0e4abeabbb2cd 100644
--- a/openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h
+++ b/openair1/SIMULATION/LTE_PHY/pucchsignalgegerator.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c b/openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c
index 78dd47e00bd04e6cc635308c04c50e21e0c7222a..ce04cb9539a4ef7235cb562d7a8cd87c868b74c1 100644
--- a/openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c
+++ b/openair1/SIMULATION/LTE_PHY/pucchsignalgenerator.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/pucchsim.c b/openair1/SIMULATION/LTE_PHY/pucchsim.c
index 1f7dfb37893bd1d7f32a19ebaee7c6b492edd330..919bec144dd428f1f9d8858ab056c85e162ba45c 100644
--- a/openair1/SIMULATION/LTE_PHY/pucchsim.c
+++ b/openair1/SIMULATION/LTE_PHY/pucchsim.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/scansim.c b/openair1/SIMULATION/LTE_PHY/scansim.c
index 24167984b20d1a640e8f3a8a7fbca39b0504054e..c2ceb1c58d53813dd243e1d85a19323321e1627e 100644
--- a/openair1/SIMULATION/LTE_PHY/scansim.c
+++ b/openair1/SIMULATION/LTE_PHY/scansim.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/signalanalyzer.c b/openair1/SIMULATION/LTE_PHY/signalanalyzer.c
index 26dd530a2a07841b1a244d017cf58386b354028b..2167f52abb3e9bfa2615068d904d7c38743f2e3b 100644
--- a/openair1/SIMULATION/LTE_PHY/signalanalyzer.c
+++ b/openair1/SIMULATION/LTE_PHY/signalanalyzer.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/signalanalyzer.h b/openair1/SIMULATION/LTE_PHY/signalanalyzer.h
index 0ecad3324f8e4a956886f8818c6387f3ed7a2dca..d3d82c8aaa8cba0609be99bbf6d7794a838be81f 100644
--- a/openair1/SIMULATION/LTE_PHY/signalanalyzer.h
+++ b/openair1/SIMULATION/LTE_PHY/signalanalyzer.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/syncsim.c b/openair1/SIMULATION/LTE_PHY/syncsim.c
index 6cd90f93115750d33a16256dc0ddb61c959ca391..a5f046da9352a4105acaafe8e291e24ab13271f4 100644
--- a/openair1/SIMULATION/LTE_PHY/syncsim.c
+++ b/openair1/SIMULATION/LTE_PHY/syncsim.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/test.c b/openair1/SIMULATION/LTE_PHY/test.c
index 6a794a6c203b071b93f137e8105ddab08422cc9b..abaf917f7a7d7e11879b94cf634b1549b5b07813 100644
--- a/openair1/SIMULATION/LTE_PHY/test.c
+++ b/openair1/SIMULATION/LTE_PHY/test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c b/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c
index faa6c2c08d12da076390a51fb28dac56754327b3..e2a99dd7a401c93d754914955e39c3f1ae70bef9 100644
--- a/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c
+++ b/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h b/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h
index 5de212dfe06f7d7126b3a9a66e7d1365671f1308..d8d143817ce3ce294a93e85a386ded2485199dc4 100644
--- a/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h
+++ b/openair1/SIMULATION/LTE_PHY/ulsignalgenerator.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c
index deda4b4fa7bd72af1f4adeb0ddb2191985ca5461..dd697899b8cc79a231f7501c90c88923bb71d0d7 100644
--- a/openair1/SIMULATION/LTE_PHY/ulsim.c
+++ b/openair1/SIMULATION/LTE_PHY/ulsim.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/LTE_PHY/ulsim2.c b/openair1/SIMULATION/LTE_PHY/ulsim2.c
index 883c0092486c2b126c0698b8080628eb741abc7a..b6b1852c071d4a2c3563c9cbbff6021e56552325 100644
--- a/openair1/SIMULATION/LTE_PHY/ulsim2.c
+++ b/openair1/SIMULATION/LTE_PHY/ulsim2.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/RF/adc.c b/openair1/SIMULATION/RF/adc.c
index b588b0a1edf7b2828c6b07c2ddaa24d8f99b2e07..6dc1c7f8e655fad37f5ca3bd6fbf736a5408855f 100755
--- a/openair1/SIMULATION/RF/adc.c
+++ b/openair1/SIMULATION/RF/adc.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/RF/dac.c b/openair1/SIMULATION/RF/dac.c
index 41e7eb4fe5752792bf69db525a18989a8b99b74b..22e286a496f28aa0e3972ca47e7dc74511287170 100755
--- a/openair1/SIMULATION/RF/dac.c
+++ b/openair1/SIMULATION/RF/dac.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/RF/defs.h b/openair1/SIMULATION/RF/defs.h
index c58f7cd8d057af22fca5f4a6b395bc7b39c8a30e..984dfa6ca8485b6a298c343a7ca4c063c230576f 100644
--- a/openair1/SIMULATION/RF/defs.h
+++ b/openair1/SIMULATION/RF/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/RF/rf.c b/openair1/SIMULATION/RF/rf.c
index 115c73083401edc3ffcabd2c0b80fde8c43d0a7e..1f240595aa62475e9722b140fee1ef42f19ac265 100644
--- a/openair1/SIMULATION/RF/rf.c
+++ b/openair1/SIMULATION/RF/rf.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/abstraction.c b/openair1/SIMULATION/TOOLS/abstraction.c
index b451e4784b97073cf19252715c19407ad1e013ba..d63d0b0fe9cf8a970190e8dc48db1a9829a8d811 100644
--- a/openair1/SIMULATION/TOOLS/abstraction.c
+++ b/openair1/SIMULATION/TOOLS/abstraction.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/ch_desc_proto.c b/openair1/SIMULATION/TOOLS/ch_desc_proto.c
index 4d9b2bf923d42313d4914574b2fb31c606c5aaf0..80a491888c2cc900aa5c40b0945592fcfbfd8ede 100755
--- a/openair1/SIMULATION/TOOLS/ch_desc_proto.c
+++ b/openair1/SIMULATION/TOOLS/ch_desc_proto.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/defs.h b/openair1/SIMULATION/TOOLS/defs.h
index d553faddc8e8ea3132ec7c944c124ad6ad604e44..187ffcb241b815521e6cedfabc8aa6cb9c9db53b 100644
--- a/openair1/SIMULATION/TOOLS/defs.h
+++ b/openair1/SIMULATION/TOOLS/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/gauss.c b/openair1/SIMULATION/TOOLS/gauss.c
index a99e5d71737843f73c7634357698a5574e54591d..9c3a431bef999afc9bfdfdea39507196a0941ba3 100644
--- a/openair1/SIMULATION/TOOLS/gauss.c
+++ b/openair1/SIMULATION/TOOLS/gauss.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/llr_quantization.c b/openair1/SIMULATION/TOOLS/llr_quantization.c
index bb76774e1e854d2baf412cd06b18dcc1bdb03f5e..e8b4696ba670215677ed30a6d4b2917f3dd4d5e8 100644
--- a/openair1/SIMULATION/TOOLS/llr_quantization.c
+++ b/openair1/SIMULATION/TOOLS/llr_quantization.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/multipath_channel.c b/openair1/SIMULATION/TOOLS/multipath_channel.c
index 7a21db2a576107a06f0deab96a636a750dba42e8..9a72ca642337e8a43a134ce538c02ace9ae2f3a1 100644
--- a/openair1/SIMULATION/TOOLS/multipath_channel.c
+++ b/openair1/SIMULATION/TOOLS/multipath_channel.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/multipath_tv_channel.c b/openair1/SIMULATION/TOOLS/multipath_tv_channel.c
index 8b0b7b85ba86cd0b5cfae2351a4ea40989d69dc0..b1bd091ca7edc9810acb6790f1069ac616fd9eca 100644
--- a/openair1/SIMULATION/TOOLS/multipath_tv_channel.c
+++ b/openair1/SIMULATION/TOOLS/multipath_tv_channel.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/random_channel.c b/openair1/SIMULATION/TOOLS/random_channel.c
index f79368c81e0c85ca7e90cb5d65493ade910fdedd..9233d94132c3283a31aff7e8b46a83f32a0362cd 100644
--- a/openair1/SIMULATION/TOOLS/random_channel.c
+++ b/openair1/SIMULATION/TOOLS/random_channel.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/rangen_double.c b/openair1/SIMULATION/TOOLS/rangen_double.c
index c060f5171debc7b5fa8604e3abad3b46f746fed2..24de0468c37e0d06345d52dd31d426a02ec4a81e 100644
--- a/openair1/SIMULATION/TOOLS/rangen_double.c
+++ b/openair1/SIMULATION/TOOLS/rangen_double.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/scm_corrmat.h b/openair1/SIMULATION/TOOLS/scm_corrmat.h
index 91c2bf4bb16e450106bda8e7eaca273029af9ec9..61fd6a6e11074bf59cd5a4630aa1c353975385f3 100644
--- a/openair1/SIMULATION/TOOLS/scm_corrmat.h
+++ b/openair1/SIMULATION/TOOLS/scm_corrmat.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair1/SIMULATION/TOOLS/taus.c b/openair1/SIMULATION/TOOLS/taus.c
index f810f9e2c3b38859c8f1bac6935e236b74097e05..9a2a6f44b35c0c144f9c5351e1923929e3907243 100644
--- a/openair1/SIMULATION/TOOLS/taus.c
+++ b/openair1/SIMULATION/TOOLS/taus.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/as_message.h b/openair2/COMMON/as_message.h
index ae761b206a03060f2ae714f220f35e0434457e48..30810a325eace63c944b947bfb8c0a6487094e80 100644
--- a/openair2/COMMON/as_message.h
+++ b/openair2/COMMON/as_message.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
-*******************************************************************************/
 
 /*****************************************************************************
 
diff --git a/openair2/COMMON/commonDef.h b/openair2/COMMON/commonDef.h
index 47fef519b598a7d21168b532c7154cf4e052f084..e33e64ec063ef031cdb58e0339c42067660e3cfd 100644
--- a/openair2/COMMON/commonDef.h
+++ b/openair2/COMMON/commonDef.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
-*******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 /*
 
 Source      commonDef.h
diff --git a/openair2/COMMON/gtpv1_u_messages_def.h b/openair2/COMMON/gtpv1_u_messages_def.h
index 3ec9be54e329f11b2ac78672c6fd39d03c831d2f..0e93a917ab9711b571e92ffd8c24a3ad910e8f4c 100755
--- a/openair2/COMMON/gtpv1_u_messages_def.h
+++ b/openair2/COMMON/gtpv1_u_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/gtpv1_u_messages_types.h b/openair2/COMMON/gtpv1_u_messages_types.h
index 9c385ae3f6cf17546eaf440c8ab6c1d2e8839a86..2a6dd1bf2cdb626f17f5e274e7a3260e2c3a74eb 100755
--- a/openair2/COMMON/gtpv1_u_messages_types.h
+++ b/openair2/COMMON/gtpv1_u_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/intertask_interface_conf.h b/openair2/COMMON/intertask_interface_conf.h
index 3d20c317bd5f7d240556c60ef5562e1e7963fbaf..9d6a7f9d99526eb2ac47c752d6d7cb9643ce2e2e 100644
--- a/openair2/COMMON/intertask_interface_conf.h
+++ b/openair2/COMMON/intertask_interface_conf.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/mac_messages_def.h b/openair2/COMMON/mac_messages_def.h
index 2854517a7cb420872f28cd95d49efd5a153fe77f..64aca9911cac77e0eaecd3a630342213190ec933 100644
--- a/openair2/COMMON/mac_messages_def.h
+++ b/openair2/COMMON/mac_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/mac_messages_types.h b/openair2/COMMON/mac_messages_types.h
index e0eb258104d5222d81c7d9399a64fdcb40af20d8..ecc8c6753387fcae5dd3df3ec24942faebfdfb08 100644
--- a/openair2/COMMON/mac_messages_types.h
+++ b/openair2/COMMON/mac_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/mac_primitives.h b/openair2/COMMON/mac_primitives.h
index df5c488b706baaa79aef0cfb7508263186d86046..a8fc149f4760ddfa7d9134c06e854872cace6938 100644
--- a/openair2/COMMON/mac_primitives.h
+++ b/openair2/COMMON/mac_primitives.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/mac_rlc_primitives.h b/openair2/COMMON/mac_rlc_primitives.h
index 602062977d93ea1f951caf061022f200703e63d3..62913bd8424480406d2f171dda422cf72871439f 100644
--- a/openair2/COMMON/mac_rlc_primitives.h
+++ b/openair2/COMMON/mac_rlc_primitives.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/mac_rrc_primitives.h b/openair2/COMMON/mac_rrc_primitives.h
index 72c77b34343fb5b541b9194a8cb354fa6b5d47b3..b7f1450909da272358f19df87dac1ac7b15feccc 100644
--- a/openair2/COMMON/mac_rrc_primitives.h
+++ b/openair2/COMMON/mac_rrc_primitives.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/messages_def.h b/openair2/COMMON/messages_def.h
index 86297be314894e595f05891bf76d78bd4cad5bc7..246aa855ecfc6278b25a73a2026621ad01fe57e7 100644
--- a/openair2/COMMON/messages_def.h
+++ b/openair2/COMMON/messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/messages_types.h b/openair2/COMMON/messages_types.h
index 669c2e935a916beddb190736f8a26d61ec14de85..b1ff6c3b183a0e669f82e78be9615592f5aa306f 100644
--- a/openair2/COMMON/messages_types.h
+++ b/openair2/COMMON/messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/nas_messages_def.h b/openair2/COMMON/nas_messages_def.h
index f18453991e304ef793ad0db496d9f87a67929cf1..0e70564aa90acffa7a27afc32c6ae3df3560b3f9 100644
--- a/openair2/COMMON/nas_messages_def.h
+++ b/openair2/COMMON/nas_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/nas_messages_types.h b/openair2/COMMON/nas_messages_types.h
index 4f6159c0946959665b784c1b822f1080e5b838fe..2251444a011fffbdf74dd919ee64de2295e7c7de 100644
--- a/openair2/COMMON/nas_messages_types.h
+++ b/openair2/COMMON/nas_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/networkDef.h b/openair2/COMMON/networkDef.h
index 2eb376a9c7b8be9e242b93f26ac0a23ce124bd8c..46716bee24714ab2273744c4634a0924d9320207 100644
--- a/openair2/COMMON/networkDef.h
+++ b/openair2/COMMON/networkDef.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
-
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-   included in this distribution in the file called "COPYING". If not,
-   see <http://www.gnu.org/licenses/>.
-
-  Contact Information
-  OpenAirInterface Admin: openair_admin@eurecom.fr
-  OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
-
-  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
-*******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
 
 /*****************************************************************************
 
diff --git a/openair2/COMMON/openair_defs.h b/openair2/COMMON/openair_defs.h
index da0db25d2a9154bc401dfd7fe7eaefac0913ece4..0a6b88ce332a201aea191996bf822ad5206270f5 100755
--- a/openair2/COMMON/openair_defs.h
+++ b/openair2/COMMON/openair_defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/openair_types.h b/openair2/COMMON/openair_types.h
index 502af95de9e72492da7e9f666ec551b5ffbae5ac..47f217038d40f15fa9a420296018a22e89de80ed 100755
--- a/openair2/COMMON/openair_types.h
+++ b/openair2/COMMON/openair_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/pdcp_messages_def.h b/openair2/COMMON/pdcp_messages_def.h
index a6e032a0d7aaa51e5968346fffa86842a395d7cb..28cda8bc1b00c251c967becce2b8c75111049219 100644
--- a/openair2/COMMON/pdcp_messages_def.h
+++ b/openair2/COMMON/pdcp_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/pdcp_messages_types.h b/openair2/COMMON/pdcp_messages_types.h
index 4eb6063a5e70b9b86db95c6695ee3d643c431811..fc239f529f1e610a4555cd841bc93553dd6e2fa1 100644
--- a/openair2/COMMON/pdcp_messages_types.h
+++ b/openair2/COMMON/pdcp_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/phy_messages_def.h b/openair2/COMMON/phy_messages_def.h
index 80464299ce66a53f23649d413873d2ff714d070f..bc63c28ac35f091cc2d0748721c3334e215f222e 100644
--- a/openair2/COMMON/phy_messages_def.h
+++ b/openair2/COMMON/phy_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/phy_messages_types.h b/openair2/COMMON/phy_messages_types.h
index 6dd647a17c7aeb4c6185a498d443d2e1b4737d74..b8ef212f3121efea706e80e239ebcc8c82a6dba7 100644
--- a/openair2/COMMON/phy_messages_types.h
+++ b/openair2/COMMON/phy_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/platform_constants.h b/openair2/COMMON/platform_constants.h
index e7f0b7bcb741333a58498bf2fd93ea24d2ad0896..ed052fc608db4e22c2beec6509204ef97ef29d07 100755
--- a/openair2/COMMON/platform_constants.h
+++ b/openair2/COMMON/platform_constants.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/platform_types.h b/openair2/COMMON/platform_types.h
index 7b1c02c2e7460e1593b732eed3a9626cca970ecf..a1af19fd0a1a1e5417d74470eb483dc7f9c44431 100755
--- a/openair2/COMMON/platform_types.h
+++ b/openair2/COMMON/platform_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/ral_messages_def.h b/openair2/COMMON/ral_messages_def.h
index 96543e6ad8938281d5c25d8798f99ecea7cc856c..59719663fef00cbafe3078e10885b1a578db907c 100755
--- a/openair2/COMMON/ral_messages_def.h
+++ b/openair2/COMMON/ral_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/ral_messages_types.h b/openair2/COMMON/ral_messages_types.h
index 5b54a03d7746609617348e5bc88513451841e2ba..234304004d2ef45b09695e2d50447ac568ceb93d 100755
--- a/openair2/COMMON/ral_messages_types.h
+++ b/openair2/COMMON/ral_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/rlc_messages_def.h b/openair2/COMMON/rlc_messages_def.h
index aed40228569b5bf8aa37d1130209210db191ecf9..990648eff6fa954afa14322eb62f266afa59ce97 100755
--- a/openair2/COMMON/rlc_messages_def.h
+++ b/openair2/COMMON/rlc_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/rlc_messages_types.h b/openair2/COMMON/rlc_messages_types.h
index 2918675fa1c1483413bc0509955e6f1c2a545c23..1399dadade4b19cc260a76c177b915946507e076 100755
--- a/openair2/COMMON/rlc_messages_types.h
+++ b/openair2/COMMON/rlc_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/rrc_messages_def.h b/openair2/COMMON/rrc_messages_def.h
index 76073933fbb7e4a0079239263475ec51e635d564..27d3a6bdd432a54776a8f2fbe0e16eb127403ad4 100644
--- a/openair2/COMMON/rrc_messages_def.h
+++ b/openair2/COMMON/rrc_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h
index 2d6f3cdb86d6ef642734c7902800b334a9b9491b..816b9368952c08bfd9ffe6d01fd0ad3ce49fe100 100644
--- a/openair2/COMMON/rrc_messages_types.h
+++ b/openair2/COMMON/rrc_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/rrm_config_structs.h b/openair2/COMMON/rrm_config_structs.h
index 9fa74dd14eeeceb4f09d19c9d9ca1dcc9e8e67c0..55443f497e6e668480bc36e4f199186753cf0a2e 100755
--- a/openair2/COMMON/rrm_config_structs.h
+++ b/openair2/COMMON/rrm_config_structs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/rrm_constants.h b/openair2/COMMON/rrm_constants.h
index 25c584711c4ab9f5cd59ba250536111570e5797c..e12608feb2725f727893e1153a71645e6836b4c3 100755
--- a/openair2/COMMON/rrm_constants.h
+++ b/openair2/COMMON/rrm_constants.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/rtos_header.h b/openair2/COMMON/rtos_header.h
index 92ed57e8229ec010f40ff6bad3efa51465979ae7..ea2783ee6fb55159f8fbc9961f5abad720003a10 100755
--- a/openair2/COMMON/rtos_header.h
+++ b/openair2/COMMON/rtos_header.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/s1ap_messages_def.h b/openair2/COMMON/s1ap_messages_def.h
index ae81968018fb4e344571bfc4d24e2dfc3306db66..ce51ac78cad021f60a16bd746fdafc20e561e39f 100644
--- a/openair2/COMMON/s1ap_messages_def.h
+++ b/openair2/COMMON/s1ap_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/s1ap_messages_types.h b/openair2/COMMON/s1ap_messages_types.h
index 7849e418d168198a4989ded4057d10b1e5d1b940..c39725b737f1bb6c0750e1317046366b50679207 100644
--- a/openair2/COMMON/s1ap_messages_types.h
+++ b/openair2/COMMON/s1ap_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/sctp_messages_def.h b/openair2/COMMON/sctp_messages_def.h
index d3273ba03d28b4151c066f5420d07eb2f8bbc802..8053f47ec9cfea0a222ccce14b389833ed8b93c1 100644
--- a/openair2/COMMON/sctp_messages_def.h
+++ b/openair2/COMMON/sctp_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/sctp_messages_types.h b/openair2/COMMON/sctp_messages_types.h
index 0b365bd38b15a2e2728d5324d24bdef3c6784d69..490e39a8c7212c6d805f7df5b8d0262ce019e79d 100644
--- a/openair2/COMMON/sctp_messages_types.h
+++ b/openair2/COMMON/sctp_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/tasks_def.h b/openair2/COMMON/tasks_def.h
index 1da78c6131c3757313a07bdd9d08a054e79a3f3b..5e0f8bd21189d74171df69ec34a4ee7bd9bbaece 100644
--- a/openair2/COMMON/tasks_def.h
+++ b/openair2/COMMON/tasks_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/udp_messages_def.h b/openair2/COMMON/udp_messages_def.h
index 43dc61f94fdbab7c2ab96a2fd109dbd575339c35..a6341ec8809d861e897f7bc647fca1c78325dea8 100755
--- a/openair2/COMMON/udp_messages_def.h
+++ b/openair2/COMMON/udp_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/udp_messages_types.h b/openair2/COMMON/udp_messages_types.h
index fe3ebbafd708bf99c1b468ed23d2939f9e166b5c..9491fab65f5e0002561cb88ec58a9936282363da 100755
--- a/openair2/COMMON/udp_messages_types.h
+++ b/openair2/COMMON/udp_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/x2ap_messages_def.h b/openair2/COMMON/x2ap_messages_def.h
index 8518adcc8e5ddc4edc0611f4dd6b42e77fafcd1e..4e5bef69d52930a775a3a04b178852673757fb4a 100644
--- a/openair2/COMMON/x2ap_messages_def.h
+++ b/openair2/COMMON/x2ap_messages_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/COMMON/x2ap_messages_types.h b/openair2/COMMON/x2ap_messages_types.h
index 0e936c98cb8a3344d71f62fd03f7e4a076e32977..4e22149f3b4bf990d45d95ef78feff4d90ff11b4 100644
--- a/openair2/COMMON/x2ap_messages_types.h
+++ b/openair2/COMMON/x2ap_messages_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/ENB_APP/enb_app.c b/openair2/ENB_APP/enb_app.c
index 4c55b050709b2012ffabaa3a106a06f398f2d553..70fb5ad61f676294814e7a84fe6a1dd400a0a513 100644
--- a/openair2/ENB_APP/enb_app.c
+++ b/openair2/ENB_APP/enb_app.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/ENB_APP/enb_app.h b/openair2/ENB_APP/enb_app.h
index 78580e27bfd11a940dcde4ea01669e2691acfa0b..30e3373eac073be790766a64bb30701d1ad9f2e4 100644
--- a/openair2/ENB_APP/enb_app.h
+++ b/openair2/ENB_APP/enb_app.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c
index b5eeb63e091a257daf64c143b37a9c4d1a4feba1..07e0ffa6406da3494da46822a28a470a78e2f179 100755
--- a/openair2/ENB_APP/enb_config.c
+++ b/openair2/ENB_APP/enb_config.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/ENB_APP/enb_config.h b/openair2/ENB_APP/enb_config.h
index 0fb82dcde3d7f51469517add9e8e09cc8644020d..113681dafe62cd476c14ace0c09dc1644a1b4b62 100755
--- a/openair2/ENB_APP/enb_config.h
+++ b/openair2/ENB_APP/enb_config.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c
index b19e7f72e89cd09737f83190cd1a19cb4edac231..e3f6d8e78c13fc86f900a86a14ef2dfff7b8d1e0 100644
--- a/openair2/LAYER2/MAC/config.c
+++ b/openair2/LAYER2/MAC/config.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h
index c5c4156c000339e3b94ea33a8264e4407cdce00a..a0a43b6d7951ea3f4eb9fa1cebb9aa2dad5e34d7 100644
--- a/openair2/LAYER2/MAC/defs.h
+++ b/openair2/LAYER2/MAC/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 041cabb686d2425bd0c8ce86caae5b26f532e609..329c40be05e51ae85e005995f016c0a0294336ea 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
index bdcbae6b7fd42e264ac6fa9e695df0bba9eaf2f8..361c0f461fb22c26922305927039dcb3d6c519c2 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c
index 963942d7dc90aac470b7ad9d6e5abc987d804e99..dd0890783e2116fd09dc9f8b97d9d552028fbf2e 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
index e8738f9be0513c7c422cbfb0d216cdc4545f491e..52e0f60d65bdd7a7ede16b57c908cd5159b9a125 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_mch.c b/openair2/LAYER2/MAC/eNB_scheduler_mch.c
index ce3386b2cd0dee51053458e177e9e05fa86f155c..e894f3a6621f11bbafe29198922ab998cb91c5d8 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_mch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_mch.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
index d5415e0413d40b34b7b464d97290412f4d4f4e38..34169d902e3a75d800b6ad8885b68025eb440586 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index 8b79090f3d255d576ea5c8ff6d96fa71b4c36666..1018c6e7d8483ff60121c33eb9007f337573ef0d 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/extern.h b/openair2/LAYER2/MAC/extern.h
index f29fefbea72d9a2670c1c52541dabdaf6f9cc0e4..ca847acf4c5978fef7e0cdc908e9626cc7d71cb7 100644
--- a/openair2/LAYER2/MAC/extern.h
+++ b/openair2/LAYER2/MAC/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/l1_helpers.c b/openair2/LAYER2/MAC/l1_helpers.c
index 89314b820093beca3190c3feb7924b9e2b9e888b..3b4c78ea9253b66a42860beaeb9a95ec0cd538d2 100644
--- a/openair2/LAYER2/MAC/l1_helpers.c
+++ b/openair2/LAYER2/MAC/l1_helpers.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/lte_transport_init.c b/openair2/LAYER2/MAC/lte_transport_init.c
index 47493f508685be18a0ff2c5e59ca012d55ccf8a7..fa446a4aeebd4ed75194814ef1169744a538c32e 100755
--- a/openair2/LAYER2/MAC/lte_transport_init.c
+++ b/openair2/LAYER2/MAC/lte_transport_init.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/main.c b/openair2/LAYER2/MAC/main.c
index 8a73c9298fd6012f107097595d2c683400ffdab7..5db78a30c294095f19a9fb0850eba44fca6d8822 100644
--- a/openair2/LAYER2/MAC/main.c
+++ b/openair2/LAYER2/MAC/main.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/openair2_proc.c b/openair2/LAYER2/MAC/openair2_proc.c
index 5e0b8d5c026cd99ed41cd68c57d4ea26f74b84bf..bb4a994a8ab97e6f68f79808550867a90093098c 100644
--- a/openair2/LAYER2/MAC/openair2_proc.c
+++ b/openair2/LAYER2/MAC/openair2_proc.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/pre_processor.c b/openair2/LAYER2/MAC/pre_processor.c
index e4f113c77a456a611fff028d4819c55b6996b9c8..5a4caf82c40f98c3afaaadf1d9a96fe8fd7f3e57 100644
--- a/openair2/LAYER2/MAC/pre_processor.c
+++ b/openair2/LAYER2/MAC/pre_processor.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/proto.h b/openair2/LAYER2/MAC/proto.h
index 331d635371c0f679eb71e82cf505e499ee072035..d02e42ee16407b8aff87ffbb3ce098ded65cacf7 100644
--- a/openair2/LAYER2/MAC/proto.h
+++ b/openair2/LAYER2/MAC/proto.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/ra_procedures.c b/openair2/LAYER2/MAC/ra_procedures.c
index 6f61f22848c04deac8f463cd77f382e0141900eb..43ec8b05ec88c15ea71cb86fa024b5507786e1f2 100644
--- a/openair2/LAYER2/MAC/ra_procedures.c
+++ b/openair2/LAYER2/MAC/ra_procedures.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c
index acf284bd37d96e9ba133d306eebd4652810fc9e4..2e97f83fac72920610829cacebb77c1e6190bcd1 100644
--- a/openair2/LAYER2/MAC/rar_tools.c
+++ b/openair2/LAYER2/MAC/rar_tools.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c
index 0a474d14b81d8d4d52d21e32350e6e229d912f62..ee6340cb43a4b7dfb6483725b3e57cffeba8d328 100644
--- a/openair2/LAYER2/MAC/ue_procedures.c
+++ b/openair2/LAYER2/MAC/ue_procedures.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/MAC/vars.h b/openair2/LAYER2/MAC/vars.h
index 60023bbae2f2ecf1f0ac0482fc8f67d038b7fac6..88da64de5a0634109a3621320d081ac143f18b0e 100644
--- a/openair2/LAYER2/MAC/vars.h
+++ b/openair2/LAYER2/MAC/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
index df27aa2ee04cf5d50bc7f00f9abffd5b9e8e092d..f25e921570a7638d34fef297b60e7f8579d103ff 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
index ee1ef82c932981f35a8a356195ac6896c694d1de..9e5b15f5a322667c1c755f2ffca6d2b47a1639fc 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c
index facb9c88443fbad798f4b4c03ce6b296d7a98933..e858008803faf21e3c3b3792adc40a3555b726b9 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h
index 84d3e9cea510fc1e5da8f114d2d091cb377f40ee..90c4805ddebb6d81f6f92d08c3bcab0a815181e5 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitives_proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
index 785a287d58cb1f7763725785531a1fadd7696edc..787d463b32c1840f935469e9b92f7a26b495aac3 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c
index 524dd2022b81cb0a0a6dcdac4de2deb67bb40e07..365013c42d906a5f8b63c05c81eae0fa5575b43d 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c
index 7ecf4833321bbe51725f4d8b02ffbb3b650b2f04..fb530f686a2b1ac303a73a5e0a24cbf0b66543fd 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h
index 185b50f86671657b88ac2e444d266660ac75f8a2..1913fd69f1c387c8b90e433f6f68877748b4724b 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_primitives.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h
index e7ed7dde9bc22b122bc4f079ff3f91e5087331a4..3b83140af297e61ed284700326620f1da9453461 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c
index 131f56b968bb7fc009898e1aee0d3105d59de1eb..15a1cf57d29bf906645cc00647800ab156d71867 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_security.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c
index fcfcfb58ae8fd3b595eb937998d940f645b99624..9615726bc0d06d48a81be4a1b67c14a235272f5f 100755
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h
index a17d9ecc6c95d203de4208e7831773c46ac9d949..1766613e1fb844e450c2f91546555b3d0deca8ca 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_sequence_manager.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c
index 4f0d11e23586f58e9985eacf24b324bbaf6610e6..8786a916909ff227e2cf646bbc0fc58eadd657ac 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c
index 0790244fbb3aefa8834bf606231211ccb57f7a64..ef2cf1afafce8dfb032ecc59ca48ec7cb673eaed 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h
index f5a7141a33c86e3f0d0bc7bec14906fefcc74eb2..41f73a7045b2c7589e5a7e81df268c34144b793b 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
index e8dcae676256c84da338669d3ca7fe19126c58bc..ec303172b01f05051fcd0f2927b60bfd9e5caaf1 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h
index 0e944d76bc6ae82ca7b1f86f7c8b0ff0cc4db945..70cbb3b12e47148bbb0757edb8c3d4971c7526cb 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h
index 63cc6d8e9e77fa84e5516a835ebe868cd69bc3fd..3bc97ee65067ea726edf6206f965deb50892c056 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_constants.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h
index ea661b3881e3af954f8de1524534cc0926d03092..15bba038ea9aa6e7e2aef9e05a846149cb232d2b 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_entity.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c
index 5d981b417ad5e484dd3178fa9d53ae91bc6840cd..8bffde184e6e3b14e59a0e5ca60ffd8a09af7e23 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h
index 19cc5c2a8e9a3f2547f75246a0b1171467f7300c..111de0416e85d3e02f4e7d630e03f0c97593b957 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c
index ade7becaf1ff8f55316538c4b236eef1574e8190..eb2d0c5acac5732dff177ff4606b942e86b59f98 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h
index e9633213a77261ab03fdf2cbf916238c81a3ed4d..ed2f7f29360df79e44deebb5eab4dd5069dd0e0c 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h
index f6edc6bb34037d3ea2e3c6d471da45b67b2d77c6..7f3cc6e31ff6ae71a4b26df646d96d938b94c362 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
index badbd0d71b1ca0346ded9f8775c4455cde22c6b2..2581437f912fc0d5ea0c3c9f834d8dddb0d1d0c5 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h
index d4cb8a4373b6e5132b147c1d23865192fcb19a45..c5fbc9edea6a6ca92e10289da7693032ea95014d 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c
index e85f627a4b050423ec7bb417b3fc6a681a352a53..f41b96653c05172fe13e662b977918baacde49b9 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h
index 18a342356496205fd1f2191bd245f497f535012a..66e492649db0c5665bf47215833583b56f5bc08a 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
index ec0da054c84e9861d6a2f8108db92766c64b04b1..9c318a0346e00a83a5c60b7c4cdb1c2778feadba 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h
index e1d01d180c5d965d55f1b0ef2ded93924ce8d0d9..aa6c4b878dab6ebf1bb2d8a6c6b52ca76159a03e 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c
index 4a96a25306d9cc8aad90107cf8307cf766176666..a580181f6e329d1cb8434c3760731dbccb8820a8 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h
index 2f57c3859e22d12310ec5f23f5ab14899211c3b7..6c6bb0e6c694ab8ab2d1037f7465e9c4d640b091 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c
index d5c53c3b6b56dfa8139e82f57ccf52e37584fa74..e2dda28f957654dbb2295cf190253469fa0a13a0 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h
index 99de4b1f7686cbd52ce1f21e4afdc8c27c599520..eba9dd6455de060a60a037eb57bed9ba4e6a9668 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c
index cb00704175d87147a6da256f7ce00c3129062590..59f5180e2c34c8005262c7f246dc5085256fe6f6 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h
index 5b83dfebfdfad179ac548331812a15741123280a..db171d3e3ec1eb2d6ca3b0c843d4c36fbfde6464 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segments_holes.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
index 84d86c1a91024846c4cbfb4b6a034bc8f3d6b418..9c46297ad6873a68d3df03f790c113ce52b230ef 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h
index 85bdd196b7ae2941a175e7430d7eb3abd0f0c8bd..6a44401701c03c1b3f02a51ef4d536a02439d79f 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h
index d887168fb8ff170f17f14a3f3655c3a112cfb89d..738952d3c610966973590d7243724fe76b786f4b 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_structs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c
index a174b7fa932f5eaa046593603aa4b62127ef4549..13f96e1f3fa1db3b1051243c5c3040d5bb20d790 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h
index 3e77bacca278e2fc6d2e131e7269ea00186278bb..a78a391869c736461029c4b7f23af114b33c71cd 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c
index a30590bb8327096e22cc229a552ee6f9fd344619..746bde2659fc26512fb84ec3d362d0df9426a29c 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h
index 079a0f4565cd79345e4f552f273eaa733171ce6f..2ef993e9eeabae63024b13e9025aab805ac05e49 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_poll_retransmit.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c
index f15ae8132f3307cd5832f7a40b4bfc4fc1181d75..a05700abc12019fc45ebc017236eca50ab079880 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h
index 35f79e86378482d243955cdec8829e9a7aad3cf8..11bcc92b09c69a35132ba9d13abc09b60374eeca 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_reordering.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c
index cd04c185a3c3486ba651102d35f35cb48ac8798f..716e592ce7e9da57d3915502ab058ea7c70af9e3 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h
index cf6ffc06bcf244a397300ba445803ca095f5b630..3881085b0edcec11ce3a07196479d9e586f3bc3a 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_timer_status_prohibit.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c
index 5255ef8b356bb6cb77dccb8b0273b9e730b79320..89a6657d62f8dbd9106b83219005e405e2c59ed6 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h
index d7716777cf3bca2445b116007aa0945f4174d444..a9a306cad34c3b1e3cf40b696c9ccf4f8f592e03 100755
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_windows.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c
index c0bb945d18ebee5f6e07f11ba5709f7cab265cc9..9f57a6a0cd3c156b45d962ed91a79d7a9e9e2b10 100755
--- a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c
+++ b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h
index a55971ae9b6148a0c22143e128ab92fa82652fb4..d772d1d4be273a78d2f68834df44aae9c104238c 100755
--- a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h
+++ b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h
index 2e9e8820c26e8bef760272c2c5382ed4f08785c8..fa716f81bea2d78513de0f7d626cb6efac92cf81 100755
--- a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h
+++ b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_entity.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c
index 4a5a4dd259643acb405ab0dfcc118e4530859fcd..6b1b487286f2de5a0d1b2d927c1f6d524ecf2ce4 100755
--- a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c
+++ b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h
index b4f9d0bcbcefe6434faa7f4273a354bff07fde7f..48322c98b8edcfe575ecc98e6806b1c3361356fd 100755
--- a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h
+++ b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h
index 32ed6980b15fa6861a54b572812f36a6c7697cdd..e59d2972bc62e8e5e2a7fd2e211c0b31a31462fb 100755
--- a/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h
+++ b/openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_structs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c
index 834e45e7d7ce298e494b00797755d774fd512316..8aab33f54c69677b4e844e0de8c2232879d9d651 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h
index d9b50127664f734d1c8372e2a5332d688d34ab88..2289ed639ceb2d88388681b9706751dc5b86a4bb 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h
index afafa734e2b56a38c81066bb1f39bcb2c94098b3..d25a394e8b0b915dc3153bd560e53369fb5cebd2 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_constants.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
index 8e735ca5f39bffe272dac357806cddd79bdfe878..a91e384a5573e3c59e313dd9a6d182cde7a0af6e 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h
index 98f4b0d4e2c8d9b86e642205dcec2b5117fb6d65..b9a5166ed22adbac7e29986e6e4a464da0c96117 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
index b78feb66e011c5a601c731dfc46a3e4738355d09..b2930e62966a59650ee330ab67514d2d4da7f838 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h
index b31d803c64c6b526d50d8ed08826673089e96cca..dce80d2d98d21bd2978bffaea1b5d01167fc4afd 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h
index 8aed136494ec89fe719b741918986f6e3b732a4b..07fb15bfefa808c05001b10ad9f7ab55d490f82f 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c
index ab7b3a8497ce23992f9311c5925466a75bb45e39..27b35de67d9831037170db8d78649088db7d01a0 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h
index 04e3a094998a8a5ee6e3814e3128415de5f4a373..645311f45196be970bbe50781a7fb1604e07b5ca 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_fsm.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c
index 5dfd7c47f3ff52ce4a3259b41d53b6a77deb78b8..24c0ee82910f14f1b4a63d9df2df53f1e54ea525 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h
index 7a2c13e5e4ad91fd14ee87210ef85fce3b3497cb..adba9c133cc250de0bac138de81d8da581067d60 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c
index 0cbd74fbf43ac43d68ee204a5661d0b9d83b5c83..085f37e4c1bbeb5e5767bb14ef2d8ffc8b4273a6 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h
index 560957a50fe97c36ba226f49af3a2688600fab8a..b230a6cb405160b85b0c86be6d2968dfb045d104 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c
index e57ae55eecdc6958ef08877dd7f29f2be238a51a..a31f99091652ee742330547965d729dbfad6230a 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h
index ec9d72851c49c319f7cb47898c186086cb10c232..45c8b3d16df99579c6b154ba7fbe0a80b6a682f6 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h
index 3d518861ce69279571a00ede6b2b0938b3768ff8..535998bfd106b768fe5c2f59a1f23320a3cec980 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_structs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c
index aaa4c80e55b750ee9ad94a32672cc27eb44a3504..04afcff0ff76ab17f529a6da24c383d9bf160ae1 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h
index 185ba9886d45f7190325cb1d6d1c302823aa041c..ae64c28278772066401b7bc8eeaba6dc7c94c2a3 100755
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c
index 7fea51ff72548fd7098b52914beb9fbb6bd679ea..139490a6807b75b3b97abe3f634e4d8511f30297 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h
index 407d0d76b6da4fe5b47363399119c95c6bd59c88..790dc1ee5071e00933f7f41c7fa427bea0964b67 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/rlc.c b/openair2/LAYER2/RLC/rlc.c
index 67c8803c93ceb4308cdd8f0040ed8078bb649d03..e19c6b0b0abbb05e0287d6d6d6718550a3b9bf2f 100644
--- a/openair2/LAYER2/RLC/rlc.c
+++ b/openair2/LAYER2/RLC/rlc.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/rlc.h b/openair2/LAYER2/RLC/rlc.h
index 627d48c311ad19954a30a5a46c14fe0aec123ad0..392ae88cf8577c94dbf639c6b2c726e02432d5b8 100755
--- a/openair2/LAYER2/RLC/rlc.h
+++ b/openair2/LAYER2/RLC/rlc.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/rlc_def.h b/openair2/LAYER2/RLC/rlc_def.h
index c0c56299a908f92085844178e3a92345d11f2f20..1205ad2891031a52a4e3dc54229caf719a3298ca 100755
--- a/openair2/LAYER2/RLC/rlc_def.h
+++ b/openair2/LAYER2/RLC/rlc_def.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/rlc_def_lte.h b/openair2/LAYER2/RLC/rlc_def_lte.h
index ee7859e03c6aaae84b320bdbb227000d91d728be..01bf2ac4861bed73746fd55eb7c2a4ffaf903279 100644
--- a/openair2/LAYER2/RLC/rlc_def_lte.h
+++ b/openair2/LAYER2/RLC/rlc_def_lte.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/rlc_mac.c b/openair2/LAYER2/RLC/rlc_mac.c
index 83ef0716ea8e3dcb377647e3f97c2b9241a7434f..73f323f14b2013844ca2d7239436c1a011925cc1 100644
--- a/openair2/LAYER2/RLC/rlc_mac.c
+++ b/openair2/LAYER2/RLC/rlc_mac.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/rlc_mpls.c b/openair2/LAYER2/RLC/rlc_mpls.c
index a8d875984c413c1fff9ae51b099548598272eea7..263b92b0635a5436cfea6c4cb9e6234c49e5416c 100644
--- a/openair2/LAYER2/RLC/rlc_mpls.c
+++ b/openair2/LAYER2/RLC/rlc_mpls.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/rlc_primitives.h b/openair2/LAYER2/RLC/rlc_primitives.h
index 40fa39aedd33f454fedadbec698140ad5ec1b3d3..d77d131345b5e29b4582556eedefeba2fa365df3 100755
--- a/openair2/LAYER2/RLC/rlc_primitives.h
+++ b/openair2/LAYER2/RLC/rlc_primitives.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/RLC/rlc_rrc.c b/openair2/LAYER2/RLC/rlc_rrc.c
index a2be5cc3cd355ecd5e289aeecea0a78bf18a3aca..05ad79d7d4fd85d7bc5fb34844071ba990ae8e05 100644
--- a/openair2/LAYER2/RLC/rlc_rrc.c
+++ b/openair2/LAYER2/RLC/rlc_rrc.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/layer2_top.c b/openair2/LAYER2/layer2_top.c
index 9acfb1ed942e558c306ef35250b84a26caa846f9..4cd1f50d035de7a40a3e92374ff6b300c9333989 100644
--- a/openair2/LAYER2/layer2_top.c
+++ b/openair2/LAYER2/layer2_top.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/openair2_proc.c b/openair2/LAYER2/openair2_proc.c
index 83441d7cb76a4e757f9c940a44c9c0a48f580477..35684d239aa548b0d5937ccd205dc621c7d60255 100644
--- a/openair2/LAYER2/openair2_proc.c
+++ b/openair2/LAYER2/openair2_proc.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/register.c b/openair2/LAYER2/register.c
index 02b299d2ccb690789fc2536c62d40011c6ca7d58..ac93364452da663b1ea0f4c7a5f9bb3654808cbc 100644
--- a/openair2/LAYER2/register.c
+++ b/openair2/LAYER2/register.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/LAYER2/register.h b/openair2/LAYER2/register.h
index 84113a37c5851730c97c17b1d8efd88c19f1f2e0..09c464ae56386c3d4df1ab5b355b15cf3155f85f 100644
--- a/openair2/LAYER2/register.h
+++ b/openair2/LAYER2/register.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/Makefile b/openair2/Makefile
index 19ce431a2e78e595bedc09e8ff3a68eb96dbe33a..799fde93c011c6e3077d14ad152d4180c2c40324 100755
--- a/openair2/Makefile
+++ b/openair2/Makefile
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/openair2/NAS/nas_ue_task.h b/openair2/NAS/nas_ue_task.h
index 99410fb3356943e9ca8d709a9df8f323305228bf..6695ab0ac528745871524c0a0f90baf8fc21cfa7 100644
--- a/openair2/NAS/nas_ue_task.h
+++ b/openair2/NAS/nas_ue_task.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c b/openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c
index 4026f024ede51149a2b863f2d8a892a38ffea4d3..43b8ec3614977bae093d7382e5a1eff7a9ca2cba 100755
--- a/openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c
+++ b/openair2/NETWORK_DRIVER/LITE/RB_TOOL/rb_tool.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/classifier.c b/openair2/NETWORK_DRIVER/LITE/classifier.c
index 5db3ded758ed9c9edbc855664851c1a327b03426..4025e28e196e661e1ec7abca8cd61ae6dd11ead1 100755
--- a/openair2/NETWORK_DRIVER/LITE/classifier.c
+++ b/openair2/NETWORK_DRIVER/LITE/classifier.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/common.c b/openair2/NETWORK_DRIVER/LITE/common.c
index c428d760dbad4391142f187ac11bd00afa4643ac..7aca4b8d5f8aa24669e8b9c74b722c7d674e65de 100755
--- a/openair2/NETWORK_DRIVER/LITE/common.c
+++ b/openair2/NETWORK_DRIVER/LITE/common.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/constant.h b/openair2/NETWORK_DRIVER/LITE/constant.h
index 4bed95b08f7feefb2a7b6797848470c8bb8ae9b3..82cef8e8c1cf4442d9eb2dfdbf1b8cadb192d6fe 100755
--- a/openair2/NETWORK_DRIVER/LITE/constant.h
+++ b/openair2/NETWORK_DRIVER/LITE/constant.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/device.c b/openair2/NETWORK_DRIVER/LITE/device.c
index 0ccba3e6baf0418d074727dc9468ecbf5afadf91..9b772d6eef0f46a3aa35438c73ca29deda1199ad 100755
--- a/openair2/NETWORK_DRIVER/LITE/device.c
+++ b/openair2/NETWORK_DRIVER/LITE/device.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/ioctl.c b/openair2/NETWORK_DRIVER/LITE/ioctl.c
index df2d74f53ab907e08952c71e6311a012ddb1b423..ad3a4eefac07e7881d0833e0ccbac7a14c376b06 100755
--- a/openair2/NETWORK_DRIVER/LITE/ioctl.c
+++ b/openair2/NETWORK_DRIVER/LITE/ioctl.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/ioctl.h b/openair2/NETWORK_DRIVER/LITE/ioctl.h
index 578792e5ab09cf687c8548d46f0a90a1d01f6983..3b5d55823a1bfa8d462022d16ff4cb2fc6c07c54 100755
--- a/openair2/NETWORK_DRIVER/LITE/ioctl.h
+++ b/openair2/NETWORK_DRIVER/LITE/ioctl.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/local.h b/openair2/NETWORK_DRIVER/LITE/local.h
index 7d13063555a6a8d1cdbc008ede5e984ae2fb65bf..7268f69b5d91ffad0c1ff9e7f03282f7ba7ead3d 100755
--- a/openair2/NETWORK_DRIVER/LITE/local.h
+++ b/openair2/NETWORK_DRIVER/LITE/local.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/netlink.c b/openair2/NETWORK_DRIVER/LITE/netlink.c
index bf8030f667abe9076671327196a5a5b5c9c05ec7..2339540cae4614f0fc7f00648517a8a259bcf352 100755
--- a/openair2/NETWORK_DRIVER/LITE/netlink.c
+++ b/openair2/NETWORK_DRIVER/LITE/netlink.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/proto_extern.h b/openair2/NETWORK_DRIVER/LITE/proto_extern.h
index 16d4e14401d4d0bbb9a81c6b1d5091880a0161c8..36039ed984e83677c9d8764cb259d24af8f7a297 100755
--- a/openair2/NETWORK_DRIVER/LITE/proto_extern.h
+++ b/openair2/NETWORK_DRIVER/LITE/proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/sap.h b/openair2/NETWORK_DRIVER/LITE/sap.h
index 00aed03764a514060ea3378a2dffa8d481c8b09d..ffe778fe3466ca29e973deba97bbdc1d16ccabc4 100755
--- a/openair2/NETWORK_DRIVER/LITE/sap.h
+++ b/openair2/NETWORK_DRIVER/LITE/sap.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/LITE/tool.c b/openair2/NETWORK_DRIVER/LITE/tool.c
index 37910bc6c2dd4ef5b380b9b2edcbe54a39f7b23e..492d674c0656341fc5956ee62a931e5da6f6e288 100755
--- a/openair2/NETWORK_DRIVER/LITE/tool.c
+++ b/openair2/NETWORK_DRIVER/LITE/tool.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c b/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c
index 0c0107a37ee73c173a98c0faa4f5cb475a68a7fa..fb005b3589eb933809a56c9eb876c7b200219e88 100644
--- a/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c
+++ b/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/classifier.c b/openair2/NETWORK_DRIVER/MESH/classifier.c
index 7c6ab220ef035efb655d1f416e65f95ff7c71784..2c55c0ca79e53929313e6ba278d644508023fdd5 100755
--- a/openair2/NETWORK_DRIVER/MESH/classifier.c
+++ b/openair2/NETWORK_DRIVER/MESH/classifier.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/common.c b/openair2/NETWORK_DRIVER/MESH/common.c
index fa29b919550646b4226ed4ef7aebeb224a72426f..37862046c94f19e378be87aa04646bddc3fa3aac 100755
--- a/openair2/NETWORK_DRIVER/MESH/common.c
+++ b/openair2/NETWORK_DRIVER/MESH/common.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/constant.h b/openair2/NETWORK_DRIVER/MESH/constant.h
index 4f05f77734beb555d2953fd5efe0ac34aa40760c..a6f053b65860e7376b0b596242e46595ca565d8d 100755
--- a/openair2/NETWORK_DRIVER/MESH/constant.h
+++ b/openair2/NETWORK_DRIVER/MESH/constant.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/device.c b/openair2/NETWORK_DRIVER/MESH/device.c
index c7492064db2cfff84f3d9fc5da124a7b64fe777f..51b71d6d8e5002d7499f0dedf485b6a70d95ee49 100755
--- a/openair2/NETWORK_DRIVER/MESH/device.c
+++ b/openair2/NETWORK_DRIVER/MESH/device.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/ioctl.c b/openair2/NETWORK_DRIVER/MESH/ioctl.c
index 08e445ef6c99dcf3b0da6e266d5be6b7faebd908..89f63ece779efda6df30b6c83c0784f8be166251 100755
--- a/openair2/NETWORK_DRIVER/MESH/ioctl.c
+++ b/openair2/NETWORK_DRIVER/MESH/ioctl.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/local.h b/openair2/NETWORK_DRIVER/MESH/local.h
index 853996047008d65728b8472a1dc1fb618f1f972b..1171eb3b5a5252346f3ffd77049a1aa894676239 100755
--- a/openair2/NETWORK_DRIVER/MESH/local.h
+++ b/openair2/NETWORK_DRIVER/MESH/local.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/mesh.c b/openair2/NETWORK_DRIVER/MESH/mesh.c
index b53caf219ecd10d479e9f40743e36af0ba5c2d7f..9f49a4b4cda29e5b8878d080ea19f1864f2205a1 100755
--- a/openair2/NETWORK_DRIVER/MESH/mesh.c
+++ b/openair2/NETWORK_DRIVER/MESH/mesh.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/netlink.c b/openair2/NETWORK_DRIVER/MESH/netlink.c
index ac6b9014cfa99be8c8c5e2098bc9b56a0179ecd1..e8fd851c23a37dc7626a7220d866054fc4a75911 100644
--- a/openair2/NETWORK_DRIVER/MESH/netlink.c
+++ b/openair2/NETWORK_DRIVER/MESH/netlink.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/proto_extern.h b/openair2/NETWORK_DRIVER/MESH/proto_extern.h
index 7dd52c7682b57e4a47b96210a918f89c1a9fcdb3..ea468584450e7804477cdcf09f4423d1a567fb84 100755
--- a/openair2/NETWORK_DRIVER/MESH/proto_extern.h
+++ b/openair2/NETWORK_DRIVER/MESH/proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h b/openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h
index 2900ac8be21b3b33ebc0f3a33d5459683874f7db..a1787b1df77a58f5225c01e2b9a0328cecd6f96d 100755
--- a/openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h
+++ b/openair2/NETWORK_DRIVER/MESH/rrc_nas_primitives.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/sap.h b/openair2/NETWORK_DRIVER/MESH/sap.h
index 7320f749dfce0209bb1cb42aefa817e44f7497da..4241744d862acfe01c6b20183d3b1a3bb1bb751a 100755
--- a/openair2/NETWORK_DRIVER/MESH/sap.h
+++ b/openair2/NETWORK_DRIVER/MESH/sap.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/MESH/tool.c b/openair2/NETWORK_DRIVER/MESH/tool.c
index 3b32535d246dcd9098371441ed4e9216d8152dee..54acd68ba79ff54a50ad441921040f9426e14c4c 100755
--- a/openair2/NETWORK_DRIVER/MESH/tool.c
+++ b/openair2/NETWORK_DRIVER/MESH/tool.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/UE_IP/common.c b/openair2/NETWORK_DRIVER/UE_IP/common.c
index 47d2786fa4ff03a66965ebe37b45ea19e5a9e9f5..17ce737e6a2ed7535c29cb4318eb68f14fde8a0b 100755
--- a/openair2/NETWORK_DRIVER/UE_IP/common.c
+++ b/openair2/NETWORK_DRIVER/UE_IP/common.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/UE_IP/constant.h b/openair2/NETWORK_DRIVER/UE_IP/constant.h
index 2dfc810080b6051bb1d3f54d619530e80099facd..0345d2dfad6bf4b7b57ae7072de4e49393cc32cf 100755
--- a/openair2/NETWORK_DRIVER/UE_IP/constant.h
+++ b/openair2/NETWORK_DRIVER/UE_IP/constant.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/UE_IP/device.c b/openair2/NETWORK_DRIVER/UE_IP/device.c
index c02165174ff5e5c945448c6058d6bf2c3aae393c..a0e32726d96a5a7d8e9824f15708c6a5e757ffaf 100755
--- a/openair2/NETWORK_DRIVER/UE_IP/device.c
+++ b/openair2/NETWORK_DRIVER/UE_IP/device.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/UE_IP/local.h b/openair2/NETWORK_DRIVER/UE_IP/local.h
index 5dd428c4cf2fbc18927e11e19df654a9cfbccc6f..f00d26385d272b55ba443839a23610c04de04de9 100755
--- a/openair2/NETWORK_DRIVER/UE_IP/local.h
+++ b/openair2/NETWORK_DRIVER/UE_IP/local.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/UE_IP/netlink.c b/openair2/NETWORK_DRIVER/UE_IP/netlink.c
index a3efbb214044236265ac53a30950133802f05385..17870218c94f6192a57307d40a9edb78239543d4 100755
--- a/openair2/NETWORK_DRIVER/UE_IP/netlink.c
+++ b/openair2/NETWORK_DRIVER/UE_IP/netlink.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/UE_IP/proto_extern.h b/openair2/NETWORK_DRIVER/UE_IP/proto_extern.h
index 260af062f83df6bcbc5ef87ebeab150ff80ed049..4eac01b680ac31e7ae7cb0be0654468149bdae29 100755
--- a/openair2/NETWORK_DRIVER/UE_IP/proto_extern.h
+++ b/openair2/NETWORK_DRIVER/UE_IP/proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/NETWORK_DRIVER/UE_IP/sap.h b/openair2/NETWORK_DRIVER/UE_IP/sap.h
index 170ddf38c6111a51deef817061a9a400c1e4340b..086390cdc4e4c8409f259963ca1281b19a4f2fd0 100755
--- a/openair2/NETWORK_DRIVER/UE_IP/sap.h
+++ b/openair2/NETWORK_DRIVER/UE_IP/sap.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/PHY_INTERFACE/defs.h b/openair2/PHY_INTERFACE/defs.h
index a33e1586f3842701f0a706eca387cbc646c08f82..20acba99e436dbc02d0006fa6f062c42cbcaad4c 100755
--- a/openair2/PHY_INTERFACE/defs.h
+++ b/openair2/PHY_INTERFACE/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/PHY_INTERFACE/extern.h b/openair2/PHY_INTERFACE/extern.h
index e90423be0e7c976c705716722676eba7f6617359..b1700b769734aabacea8c906d7ed2f0e0e28fb3b 100644
--- a/openair2/PHY_INTERFACE/extern.h
+++ b/openair2/PHY_INTERFACE/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/PHY_INTERFACE/mac_phy_primitives.c b/openair2/PHY_INTERFACE/mac_phy_primitives.c
index 0b7fecf66e56ab56309e6c3fcf321386c471706e..52b4a1b03974bef8ffb02fdfb855664fe0eafcb9 100644
--- a/openair2/PHY_INTERFACE/mac_phy_primitives.c
+++ b/openair2/PHY_INTERFACE/mac_phy_primitives.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/PHY_INTERFACE/mac_phy_primitives.h b/openair2/PHY_INTERFACE/mac_phy_primitives.h
index 774f393c589ddb820641396b12719bb51baed91a..a52ce6c8cb6ffdb0ecda1a28fd3a47cbb148fbbc 100644
--- a/openair2/PHY_INTERFACE/mac_phy_primitives.h
+++ b/openair2/PHY_INTERFACE/mac_phy_primitives.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/PHY_INTERFACE/vars.h b/openair2/PHY_INTERFACE/vars.h
index 8e33fafc0178fdc60c5005d47c34f0f442343660..561ab426e715d77e921aa186b70cc6be5df90fa1 100644
--- a/openair2/PHY_INTERFACE/vars.h
+++ b/openair2/PHY_INTERFACE/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c
index fe71e4bd4cdee5e589117df0b5b72a9bbc18f7c6..732d2aa54adff971b7b52948d378ef2cdda8eeb1 100644
--- a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c
+++ b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h
index 15807ddb83e8be8ce7c7aa464f043ffc6c2963d7..f694a68c584631d2d4e1650de420390f984f5ed0 100644
--- a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h
+++ b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/L2_interface.c b/openair2/RRC/LITE/L2_interface.c
index 16811fe70fb68de91e46c12bfd3640b850c2f841..6a64095e92a48020d95612add215cde07d726e81 100644
--- a/openair2/RRC/LITE/L2_interface.c
+++ b/openair2/RRC/LITE/L2_interface.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
index 8823a87130465dda8de6704d486e1e9434d02f83..110dc6442da1e98b1d368f901f843b12f6363485 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.h b/openair2/RRC/LITE/MESSAGES/asn1_msg.h
index d1516feccc7488a1e4885f5eef9b12f5d8a1ceeb..b5747cb94bc28d908bc9ab2c321246207535c070 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.h
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/defs.h b/openair2/RRC/LITE/defs.h
index 75db59add648eeebffcfca4fba500439dbeff7ab..bae3dc887a7adfe1cfc5163d420a7b00d0f9dc48 100644
--- a/openair2/RRC/LITE/defs.h
+++ b/openair2/RRC/LITE/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/extern.h b/openair2/RRC/LITE/extern.h
index 40e5e3e262ab6ae6cf940bf264b1fca988b2927a..64863b796f20800605a7334bba684376e65c8b28 100644
--- a/openair2/RRC/LITE/extern.h
+++ b/openair2/RRC/LITE/extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/proto.h b/openair2/RRC/LITE/proto.h
index 9fbfadbd85e93d4518c2fac8855225852b67c6ea..5d77698c8e4a5b3a5465f50c2c91d7b0c3780687 100644
--- a/openair2/RRC/LITE/proto.h
+++ b/openair2/RRC/LITE/proto.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_2_rrm_msg.c b/openair2/RRC/LITE/rrc_2_rrm_msg.c
index 64318c8063ea585536c2ab3f16b5293e226f2637..0dcdce6b129d89443a97f0e3bc4bb453623294c0 100644
--- a/openair2/RRC/LITE/rrc_2_rrm_msg.c
+++ b/openair2/RRC/LITE/rrc_2_rrm_msg.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_UE.c b/openair2/RRC/LITE/rrc_UE.c
index 9682f2f5878d915e1d576092fb9c44e978e4ea53..a919a055f287ef9b7916c92759c475e9e2dc4aec 100644
--- a/openair2/RRC/LITE/rrc_UE.c
+++ b/openair2/RRC/LITE/rrc_UE.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_UE_ral.c b/openair2/RRC/LITE/rrc_UE_ral.c
index 401d7257f9bc5695b49d1381f6957ad53ef18a76..ed1e6ca2056f7e7e7cdc8f0d568116464de570db 100755
--- a/openair2/RRC/LITE/rrc_UE_ral.c
+++ b/openair2/RRC/LITE/rrc_UE_ral.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_UE_ral.h b/openair2/RRC/LITE/rrc_UE_ral.h
index 6ad8e24023a7a22f6133df4bcd9ca71759875053..a06ae637cde4a10e2c87747a0ae502401ffd7224 100755
--- a/openair2/RRC/LITE/rrc_UE_ral.h
+++ b/openair2/RRC/LITE/rrc_UE_ral.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_common.c b/openair2/RRC/LITE/rrc_common.c
index 1d0e855a824b31e43b3b8cb89ffe52f0d3e2629a..e2d8a6c69b2a00b7b894c43706fef230bed9e2e3 100644
--- a/openair2/RRC/LITE/rrc_common.c
+++ b/openair2/RRC/LITE/rrc_common.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_config.c b/openair2/RRC/LITE/rrc_config.c
index e33c2a71b9bf656651c49e0752862704aa60d6df..cd91e6c2f35c5fbf0fbb7884137ecd49cdbb1085 100644
--- a/openair2/RRC/LITE/rrc_config.c
+++ b/openair2/RRC/LITE/rrc_config.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c
index 47c6055c628297750d0335b09bee3256e6d33d91..f19c3bced4b9d9d7796b520a8de0a8fed4b87d74 100644
--- a/openair2/RRC/LITE/rrc_eNB.c
+++ b/openair2/RRC/LITE/rrc_eNB.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_eNB_GTPV1U.c b/openair2/RRC/LITE/rrc_eNB_GTPV1U.c
index ef7076023529105640f52dfd26f05ea96f55ea62..b85933ad47525290d2ccbaeeb01f05672c57fe52 100755
--- a/openair2/RRC/LITE/rrc_eNB_GTPV1U.c
+++ b/openair2/RRC/LITE/rrc_eNB_GTPV1U.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_eNB_GTPV1U.h b/openair2/RRC/LITE/rrc_eNB_GTPV1U.h
index 70f9876164624b767e6a51a281ac51466bc85238..388f71c136bcfa7f9f355f2dd4ba4efbd56c62b6 100755
--- a/openair2/RRC/LITE/rrc_eNB_GTPV1U.h
+++ b/openair2/RRC/LITE/rrc_eNB_GTPV1U.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_eNB_S1AP.c b/openair2/RRC/LITE/rrc_eNB_S1AP.c
index 60b514ba2c85ef6baf83190bdc5250c1bc232682..5c41658862149af84f0fd0a5ab48ed3a4070264d 100644
--- a/openair2/RRC/LITE/rrc_eNB_S1AP.c
+++ b/openair2/RRC/LITE/rrc_eNB_S1AP.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_eNB_S1AP.h b/openair2/RRC/LITE/rrc_eNB_S1AP.h
index 0f6e01d5b60138b4444edc0a1bd0b987c48fa07d..ea797e8c20de80664e889f94cd11a5e65b48e81c 100644
--- a/openair2/RRC/LITE/rrc_eNB_S1AP.h
+++ b/openair2/RRC/LITE/rrc_eNB_S1AP.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_eNB_UE_context.c b/openair2/RRC/LITE/rrc_eNB_UE_context.c
index 2bd2f1d69c3ffee39a27c7ab99ee0550362ebff6..066247176339c7c6e58b532a5dda8b1a1123fa60 100644
--- a/openair2/RRC/LITE/rrc_eNB_UE_context.c
+++ b/openair2/RRC/LITE/rrc_eNB_UE_context.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_eNB_UE_context.h b/openair2/RRC/LITE/rrc_eNB_UE_context.h
index 6a575cd7004d14b22cdad09e06788818b70701ef..084baa9cc4aa3961a5e86717721c7dc15a4552fb 100644
--- a/openair2/RRC/LITE/rrc_eNB_UE_context.h
+++ b/openair2/RRC/LITE/rrc_eNB_UE_context.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_eNB_ral.c b/openair2/RRC/LITE/rrc_eNB_ral.c
index ab9ff08705154e22b5b4584b28d540d0ca84388f..d1a0f02e46821763e0f2eb4bd1f28a8821a0f051 100755
--- a/openair2/RRC/LITE/rrc_eNB_ral.c
+++ b/openair2/RRC/LITE/rrc_eNB_ral.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_eNB_ral.h b/openair2/RRC/LITE/rrc_eNB_ral.h
index 31c1d031cacfa4d07e70f14f441451d2aa32bf0c..da69b47023d13966546fc487242870283f5a0147 100755
--- a/openair2/RRC/LITE/rrc_eNB_ral.h
+++ b/openair2/RRC/LITE/rrc_eNB_ral.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_rrm_interface.c b/openair2/RRC/LITE/rrc_rrm_interface.c
index 9e539bf4df442b413024bf415fe51218f72b0dcf..29f97ed29602ae72c3fba06cf673ecf3f243e41d 100644
--- a/openair2/RRC/LITE/rrc_rrm_interface.c
+++ b/openair2/RRC/LITE/rrc_rrm_interface.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_rrm_interface.h b/openair2/RRC/LITE/rrc_rrm_interface.h
index eccadf03bf78912cd0282695f6c1fccb8044b733..5d83f8679b3ff8b6c172a8f23f816d32ec38b737 100644
--- a/openair2/RRC/LITE/rrc_rrm_interface.h
+++ b/openair2/RRC/LITE/rrc_rrm_interface.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrc_types.h b/openair2/RRC/LITE/rrc_types.h
index 854f43e747ab3368d957a86c31e541536c0e8542..cd9b7815f6cf47bedc0b5e72c9245960e7709f08 100644
--- a/openair2/RRC/LITE/rrc_types.h
+++ b/openair2/RRC/LITE/rrc_types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/rrm_2_rrc_msg.c b/openair2/RRC/LITE/rrm_2_rrc_msg.c
index 6cc08421dde4e12a2d7d3d2fd87d8a56905b68cf..cc4446520189fe978465ddc9f809073d237e5d3b 100644
--- a/openair2/RRC/LITE/rrm_2_rrc_msg.c
+++ b/openair2/RRC/LITE/rrm_2_rrc_msg.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/utils.c b/openair2/RRC/LITE/utils.c
index cf1252c30a3ade20d01b96f53995f1ac332252cf..1bf653038441192ac2cc030bd6eac6b37b9846a0 100644
--- a/openair2/RRC/LITE/utils.c
+++ b/openair2/RRC/LITE/utils.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/LITE/vars.h b/openair2/RRC/LITE/vars.h
index 92525194e8c9a62c3877cad88fa9d3df38637c08..122dea1df2504ac576919c40b1cc002e4c078104 100644
--- a/openair2/RRC/LITE/vars.h
+++ b/openair2/RRC/LITE/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/NAS/nas_config.c b/openair2/RRC/NAS/nas_config.c
index d6c12a09e668377c7d3a2c88fbaf77ee26c08a38..400be1a60477df8de133222548955b005f072f2c 100644
--- a/openair2/RRC/NAS/nas_config.c
+++ b/openair2/RRC/NAS/nas_config.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/NAS/nas_config.h b/openair2/RRC/NAS/nas_config.h
index 654cb978c5a378bb51cc12634324478ec1c8cfa8..93ee5a196d5b1e4712a6023b678b73d250d7ccfa 100755
--- a/openair2/RRC/NAS/nas_config.h
+++ b/openair2/RRC/NAS/nas_config.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/NAS/rb_config.c b/openair2/RRC/NAS/rb_config.c
index 2779a70420776ec427f6cf91ca82ac41aac3d203..9a7f8a88dac1cfce46cb2ddc13a9eb383d59255b 100644
--- a/openair2/RRC/NAS/rb_config.c
+++ b/openair2/RRC/NAS/rb_config.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRC/NAS/rb_config.h b/openair2/RRC/NAS/rb_config.h
index 9a9bd011f0805670ccd53978beaa49dc645d9787..e8d807f882c22ec703f5d77f21f4d6caebd24e38 100644
--- a/openair2/RRC/NAS/rb_config.h
+++ b/openair2/RRC/NAS/rb_config.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/platform.h b/openair2/RRM_4_RRC_LITE/src/platform.h
index 2d3ed51435acce182ad1e6d60856e9c4e3eb765f..42bab6dc8b362388f4309a9d06ec8e7b0d85f358 100755
--- a/openair2/RRM_4_RRC_LITE/src/platform.h
+++ b/openair2/RRM_4_RRC_LITE/src/platform.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/platform_constants.h b/openair2/RRM_4_RRC_LITE/src/platform_constants.h
index 40d936f44a4c686ce9c4f65baeec88f85927d59e..ecf072ac4c2dc9fd32568c705bf387acc781df21 100755
--- a/openair2/RRM_4_RRC_LITE/src/platform_constants.h
+++ b/openair2/RRM_4_RRC_LITE/src/platform_constants.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/platform_defines.h b/openair2/RRM_4_RRC_LITE/src/platform_defines.h
index 9f185a04a8c9c85acbde8c1188a5363fab1404d3..ff3e7c042891e413412f2948b38f0fd458c50ff3 100755
--- a/openair2/RRM_4_RRC_LITE/src/platform_defines.h
+++ b/openair2/RRM_4_RRC_LITE/src/platform_defines.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.cpp
index 4408039e1c07e10544df5e77a30a3ceac8a68e22..04b97887e4bdb33c2365f0fd45d1d4f365ce5526 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.h
index 867b22c0408c03e03716eb9302a1491d7958411a..ee1eb8f38a587242763a1c8fe4c8feea2bc7f3d4 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Asn1Utils.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Command.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/Command.cpp
index cc5bcb68d8b9cd73606e72e4182fe831d0618625..7bd92ad9b6b383ce803d4b0ee19239708a009a3a 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Command.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Command.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Command.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/Command.h
index c5ddc45756dba736f4214cbf696e8d2d069ecb3d..107cc97717c142c7069ef03869432d479a799e9f 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Command.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Command.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.cpp
index ae3c752efa92f9d1a13eadd9197724d4eef2cb13..73824db9a9ea6065026050efa0db0d0c8fdbe6b3 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.h
index e561a9ea7ee6a39d7202356ed1fa6505fc5450a7..eb897ce89435561de2d822c88fdcc259b33a69c5 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/DataRadioBearer.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.cpp
index b3e486fe85221de4454af64f118298a28f8ac867..8a4498861bd5d73830c6424af01613e8e4bcf39f 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.h
index 3e8bf11ad3c3d9110ae14e379d965e2514f2e953..c1c761032d2f0f2e7b4e489be1fc819015048a14 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/ENodeB.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Exceptions.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/Exceptions.h
index b18730bf38f633d3d39b7a1aef08748b711af2dc..a236d5e09e4a64bbba7fc54993ee55b66db40e67 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Exceptions.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Exceptions.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.cpp
index 3b810a833b25fd44da9ac36b1589134782fa7cf4..607bfd042a670b0c3e817f17c0483b3d4f27f541 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.h
index 2420f39f431b930602a99a15d3283757a5c0cc89..c9d572cbf1b522b8fc1b65fba631b351353e197b 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/LogicalChannel.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.cpp
index 2e92d95240e6f26c26dedc6c85f72714459edc35..7400700800f0e9770efb3f5ca554fe03a3173395 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.h
index 41dbf9bebe22bfb09d866a6ad26aa615e04cb032..6d2be81694bba7eabcd699e3a110041b5d1abb0e 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Mobile.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.cpp
index 179fba1c7f16267116b6e6c54b03723242bfc0d1..76a32516e49541acd777763ae31311ce91a40a52 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.h
index fc944f57a232d564569c0a1ccd670c80ed15105f..16cf600c040b13cd2c0674f893e39d747faffb66 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioBearer.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.cpp
index 7cd631cc02024e4871ae7de713662b0aa22dedc1..efcffdcf7ddde0ba6c9318bde07127593eb57512 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.h
index 7eeb564d29fee51c25eb29783ab2c95e216b61a5..263c486c2e7b36901a0ae821f612d6b606bb5032 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/RadioResources.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.cpp
index f3a197b1352144d4c38a0f6ad7e25db555546aa4..99fa875d67c4986bd589fd61cadbf3559fbf2567 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.h
index b5603e74cb10877d541a0ca6793595b431a1b0b2..e441f9b0d708388abb31da6631950e7e0e0bf103 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/SignallingRadioBearer.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.cpp
index 810fdc1636eafc0edcf1fc97c4343e3ae0018a35..c9ccc3974540fdb4547e559c41f1e79630a761e3 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.h
index 7f9eade1158733bd01051a14d1a92a38afb6f62e..2497a4ea3b4e35aa82426f4f7a7f60fa8c14a9df 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Transaction.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.cpp b/openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.cpp
index ed084245ece361d7da2df147dbbbcc6937961c24..04176f98ee5fa473968f5a39ac06c0deaf226037 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.h b/openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.h
index 2060f6a4a29f6524f12392bf741f4ba5e92909c3..1b15b2e59fd8478eaabaec1c5156e92b5e88d2a4 100755
--- a/openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.h
+++ b/openair2/RRM_4_RRC_LITE/src/radio_resources/Transactions.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/RRM_4_RRC_LITE/src/rrm.cpp b/openair2/RRM_4_RRC_LITE/src/rrm.cpp
index 9c6304da22dce7300ba0c2d8a6de1767e7e756e4..02e3cae2299d0f238364c82749c634f74f472b08 100755
--- a/openair2/RRM_4_RRC_LITE/src/rrm.cpp
+++ b/openair2/RRM_4_RRC_LITE/src/rrm.cpp
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/AT_COMMANDS/parser.c b/openair2/UTIL/AT_COMMANDS/parser.c
index c8cdba12092d6f308b6bf34a79fa44f3b65bb11f..0a5a530a31079025c36ba33a2f71f5d6b91d3cae 100755
--- a/openair2/UTIL/AT_COMMANDS/parser.c
+++ b/openair2/UTIL/AT_COMMANDS/parser.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/AT_COMMANDS/parser.h b/openair2/UTIL/AT_COMMANDS/parser.h
index 443b602221d5fc11848b610ed50848cd915f9e2b..d232c076aacc270a72ff1f1f7a92e85e7948aca1 100755
--- a/openair2/UTIL/AT_COMMANDS/parser.h
+++ b/openair2/UTIL/AT_COMMANDS/parser.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/BIGPHYS/bigphys.c b/openair2/UTIL/BIGPHYS/bigphys.c
index bf99d96a700666be5d10558d46c5308b0c7ab3cf..a32521762123153196de42b2cdb072e2aa4cecee 100755
--- a/openair2/UTIL/BIGPHYS/bigphys.c
+++ b/openair2/UTIL/BIGPHYS/bigphys.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/BIGPHYS/defs.h b/openair2/UTIL/BIGPHYS/defs.h
index 5719cf051198ff01a14aad3e20eb4113a58ed381..a371fb0002cbca3e798115b528f5af1e4615cef2 100644
--- a/openair2/UTIL/BIGPHYS/defs.h
+++ b/openair2/UTIL/BIGPHYS/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/CLI/cli.c b/openair2/UTIL/CLI/cli.c
index 710f9c4d8a4375bc9a02ca19f746907d2917dc5a..9f5f226047c3da2cfdbe338594766b418d20873f 100644
--- a/openair2/UTIL/CLI/cli.c
+++ b/openair2/UTIL/CLI/cli.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/CLI/cli.h b/openair2/UTIL/CLI/cli.h
index 4e9ba75cfee8e22b67583e473f4a02412e765e6b..fc1109b1c6f9ec3cdc41798db1cd1ff12e0aa357 100644
--- a/openair2/UTIL/CLI/cli.h
+++ b/openair2/UTIL/CLI/cli.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/CLI/cli_cmd.c b/openair2/UTIL/CLI/cli_cmd.c
index a7acbbe5e5416330a46e75ba773a509b5e0f9247..8f7db6862c3e063c631d7ded5d2337efcef06b9b 100644
--- a/openair2/UTIL/CLI/cli_cmd.c
+++ b/openair2/UTIL/CLI/cli_cmd.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/CLI/cli_if.h b/openair2/UTIL/CLI/cli_if.h
index f7a3e0c3816d8ad4cba6400bf7fee0751ac3bda5..1ec29d18a54dc87a0994ce5e302e27b2d9a800cb 100644
--- a/openair2/UTIL/CLI/cli_if.h
+++ b/openair2/UTIL/CLI/cli_if.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/CLI/cli_server.c b/openair2/UTIL/CLI/cli_server.c
index df285c52bd62e6b339963d7cd8ddc4d72d565c38..b93679c3848bc12a2c0427c6568565198685fee2 100644
--- a/openair2/UTIL/CLI/cli_server.c
+++ b/openair2/UTIL/CLI/cli_server.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/FIFO/pad_list.c b/openair2/UTIL/FIFO/pad_list.c
index dc0176670d33ba68d41eef532c511798f15e3015..db7e33f1d6a185d2f4fffd7f184397f435064ea5 100755
--- a/openair2/UTIL/FIFO/pad_list.c
+++ b/openair2/UTIL/FIFO/pad_list.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/FIFO/pad_list.h b/openair2/UTIL/FIFO/pad_list.h
index bcaf803cb826896038aa6f9aa9e79f2da53a1099..5d018c3e2454d5867ca46a7164d216564184d148 100755
--- a/openair2/UTIL/FIFO/pad_list.h
+++ b/openair2/UTIL/FIFO/pad_list.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/FIFO/types.h b/openair2/UTIL/FIFO/types.h
index 08810749644034224b7d21d38f2951cf3a4e2ad0..f75460d18b6b9fb008f1fe0e472b0097e53cb391 100644
--- a/openair2/UTIL/FIFO/types.h
+++ b/openair2/UTIL/FIFO/types.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/LISTS/list.c b/openair2/UTIL/LISTS/list.c
index 343b1769d278fb05ec3e86a2b12d8d5cbf1b1309..37450f6b3057659322f72e8f134ed681f3423657 100755
--- a/openair2/UTIL/LISTS/list.c
+++ b/openair2/UTIL/LISTS/list.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/LOG/log.c b/openair2/UTIL/LOG/log.c
index 283a906b5885ec72a5750f054cb0ba882765ed5e..abbdbc01abf341236d01234442c042fbe25699da 100755
--- a/openair2/UTIL/LOG/log.c
+++ b/openair2/UTIL/LOG/log.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/LOG/log.h b/openair2/UTIL/LOG/log.h
index c5d84689bf4085ae3067ff41000ebaec82e54cdc..c6abbfa001033107c8e1c57671f6e000d8514c0e 100755
--- a/openair2/UTIL/LOG/log.h
+++ b/openair2/UTIL/LOG/log.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/LOG/log_extern.h b/openair2/UTIL/LOG/log_extern.h
index 8751254916cc8c709ad7ba0ab404ef077bc6fbbf..fbae5365249de55d63c7a7280b02b230bef168a4 100644
--- a/openair2/UTIL/LOG/log_extern.h
+++ b/openair2/UTIL/LOG/log_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/LOG/log_if.h b/openair2/UTIL/LOG/log_if.h
index b286d027aac3e531c5da47a80547436d8a0bcb1a..1e8934402805835448cfb9a0e975a807cc4bfe90 100644
--- a/openair2/UTIL/LOG/log_if.h
+++ b/openair2/UTIL/LOG/log_if.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/LOG/vcd_signal_dumper.c b/openair2/UTIL/LOG/vcd_signal_dumper.c
index a1223e6ca56bbee22580c647efb65d44868cc9a0..8dfbfd6ef5cb9d9d666a9c4e09591fa164fbee3f 100644
--- a/openair2/UTIL/LOG/vcd_signal_dumper.c
+++ b/openair2/UTIL/LOG/vcd_signal_dumper.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/LOG/vcd_signal_dumper.h b/openair2/UTIL/LOG/vcd_signal_dumper.h
index 7ec2e2445eae99edaf3ec91adbabd7ccb1e7ed3f..68257484f0a1c141d3f1a2392f157d729b09d3f9 100644
--- a/openair2/UTIL/LOG/vcd_signal_dumper.h
+++ b/openair2/UTIL/LOG/vcd_signal_dumper.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MATH/crc_byte.c b/openair2/UTIL/MATH/crc_byte.c
index 18054bf4d8d9335b34a53495e5a51705913ee0ec..d305b10aebad91dd49ed3e63f4b69a94781d4958 100644
--- a/openair2/UTIL/MATH/crc_byte.c
+++ b/openair2/UTIL/MATH/crc_byte.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MATH/oml.c b/openair2/UTIL/MATH/oml.c
index 09e5b1a9c25d819ece4a7bc5b01ae9d6d8d0fc1c..20c287620759413ad911659a4a6be2b603d0e2ba 100644
--- a/openair2/UTIL/MATH/oml.c
+++ b/openair2/UTIL/MATH/oml.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MATH/oml.h b/openair2/UTIL/MATH/oml.h
index 24e951fa685f8d1b69f4c33b4172004f8cb45f63..9b0b8635493fe9697e1a26a75a74fb9c3c4a67a8 100644
--- a/openair2/UTIL/MATH/oml.h
+++ b/openair2/UTIL/MATH/oml.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MATH/random.c b/openair2/UTIL/MATH/random.c
index 0d60a02512bea0ac6535bc8350914e4a01f7c9a1..04c20abaa8d1031d51fae854f568ce60cf120c62 100644
--- a/openair2/UTIL/MATH/random.c
+++ b/openair2/UTIL/MATH/random.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MATH/random_proto_extern.h b/openair2/UTIL/MATH/random_proto_extern.h
index 3844a394efbce2756f313e27744074764df8f4fa..2fd70eb86cd8eb1f9e1a4512f8207dc74087043e 100644
--- a/openair2/UTIL/MATH/random_proto_extern.h
+++ b/openair2/UTIL/MATH/random_proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MATH/taus.c b/openair2/UTIL/MATH/taus.c
index cba74ef1b4e6e89a6cb3f84d59e6b9ecbf254a97..277c2c16f6ab7eda5fad274a6f6036d1773e5492 100755
--- a/openair2/UTIL/MATH/taus.c
+++ b/openair2/UTIL/MATH/taus.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MEM/mem_block.c b/openair2/UTIL/MEM/mem_block.c
index 6b4b3dab18b9cd01a633ef55286b4a4da5c5da2b..f0191a536ad53799859aa78d0e63b6620ef2a6e2 100644
--- a/openair2/UTIL/MEM/mem_block.c
+++ b/openair2/UTIL/MEM/mem_block.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MEM/mem_block.h b/openair2/UTIL/MEM/mem_block.h
index b38e9a2417ea0d73dffdf278d04d069bc21f0ebd..edcb147cee0f33df478070305745d1726043708b 100755
--- a/openair2/UTIL/MEM/mem_block.h
+++ b/openair2/UTIL/MEM/mem_block.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MEM/mem_mngt.c b/openair2/UTIL/MEM/mem_mngt.c
index 43f55d1a05a1ac149fedc5f923fb49372cd49a63..1c4ad605529cb0fd14c3b9f3416fe8379c2d603a 100755
--- a/openair2/UTIL/MEM/mem_mngt.c
+++ b/openair2/UTIL/MEM/mem_mngt.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MEM/mem_mngt_proto_extern.h b/openair2/UTIL/MEM/mem_mngt_proto_extern.h
index 9195aa558ecef831f6eac2fc51aac00cd0f476d3..dd20bc2f25a436459c27048053d241e43f5fcdb3 100755
--- a/openair2/UTIL/MEM/mem_mngt_proto_extern.h
+++ b/openair2/UTIL/MEM/mem_mngt_proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/MEM/mem_pool.h b/openair2/UTIL/MEM/mem_pool.h
index 7b68c88baa7855ddba3b772682b2fe6137dcfd32..5d950008debc57e68cb663a6bd665d33086fcb34 100755
--- a/openair2/UTIL/MEM/mem_pool.h
+++ b/openair2/UTIL/MEM/mem_pool.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG.c b/openair2/UTIL/OCG/OCG.c
index 1170a6db7fd3d7559a2b83eaca84f3ed8d7ca477..54f011260b3c91c2e2c006ff4e65e4d13c8832fe 100644
--- a/openair2/UTIL/OCG/OCG.c
+++ b/openair2/UTIL/OCG/OCG.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG.h b/openair2/UTIL/OCG/OCG.h
index a32bfb14eef6e41f0e7cf979ac86a3f17ea20d19..cf96de7963dab64806482a743426538288d9fbd3 100644
--- a/openair2/UTIL/OCG/OCG.h
+++ b/openair2/UTIL/OCG/OCG.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_call_emu.h b/openair2/UTIL/OCG/OCG_call_emu.h
index 836a10456ce4846a3719f5c8cb164bc0212b6196..25e455764e9fc76e0a1b8f6824a416a2b00b0b4c 100644
--- a/openair2/UTIL/OCG/OCG_call_emu.h
+++ b/openair2/UTIL/OCG/OCG_call_emu.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_config_mobi.c b/openair2/UTIL/OCG/OCG_config_mobi.c
index b84210c0730d40ec726f3ed1daa6f2f297f4b28b..f931fe09294af06dd72fabe9d8bc84de25373b9f 100644
--- a/openair2/UTIL/OCG/OCG_config_mobi.c
+++ b/openair2/UTIL/OCG/OCG_config_mobi.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_config_mobi.h b/openair2/UTIL/OCG/OCG_config_mobi.h
index d1125651a054aa30f2be09f9d5147cabf0e4a3bd..a52c784fc66783b552dc0b8d0a03d96bde807f61 100644
--- a/openair2/UTIL/OCG/OCG_config_mobi.h
+++ b/openair2/UTIL/OCG/OCG_config_mobi.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_create_dir.c b/openair2/UTIL/OCG/OCG_create_dir.c
index 357fce7b20254451e4af1ae2eb7293018c6bd2f6..27258ff1226d9c0d08b0c41716aeeac97079f201 100644
--- a/openair2/UTIL/OCG/OCG_create_dir.c
+++ b/openair2/UTIL/OCG/OCG_create_dir.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_create_dir.h b/openair2/UTIL/OCG/OCG_create_dir.h
index b51306f6240673aa5a20b97e54addb8213b39208..f9f8db1690c7bbb5f7fc2edaa3c7b1d4dd0f6f11 100644
--- a/openair2/UTIL/OCG/OCG_create_dir.h
+++ b/openair2/UTIL/OCG/OCG_create_dir.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_detect_file.c b/openair2/UTIL/OCG/OCG_detect_file.c
index 1ce230fb9736d0cb0171b6d7ee72df7d1ef63d9d..fb18f90bbc2955f2cbec185a425f86fe7ca4f7cd 100644
--- a/openair2/UTIL/OCG/OCG_detect_file.c
+++ b/openair2/UTIL/OCG/OCG_detect_file.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_detect_file.h b/openair2/UTIL/OCG/OCG_detect_file.h
index 237bfa41d2959504326cd8a9043903ae56d8ec50..de877a4fcf1e129b22a95f5a04269b4365635d2f 100644
--- a/openair2/UTIL/OCG/OCG_detect_file.h
+++ b/openair2/UTIL/OCG/OCG_detect_file.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_extern.h b/openair2/UTIL/OCG/OCG_extern.h
index 1dc0b82ab7a16637641a9218e9beafb2363a0c78..e03932e4067b6fae434764baa3d7cda302345972 100644
--- a/openair2/UTIL/OCG/OCG_extern.h
+++ b/openair2/UTIL/OCG/OCG_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_generate_report.c b/openair2/UTIL/OCG/OCG_generate_report.c
index 36db0d2ccbcc4c4c405793ab906454b20815444d..5cf448a15d0de8dff903c6e7d5fad9d79624329f 100644
--- a/openair2/UTIL/OCG/OCG_generate_report.c
+++ b/openair2/UTIL/OCG/OCG_generate_report.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_generate_report.h b/openair2/UTIL/OCG/OCG_generate_report.h
index e8a777f8a45a256447d3d0ad4e11f54c61f8aa07..2a2f26f8270a2cc6da097558c4e4b210e3bc7513 100644
--- a/openair2/UTIL/OCG/OCG_generate_report.h
+++ b/openair2/UTIL/OCG/OCG_generate_report.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_get_opt.c b/openair2/UTIL/OCG/OCG_get_opt.c
index d4d0c877d910f519a6a2cb0d6eadc1547172dd35..1e9d8a784b5c578bb76846d132d73acf04c6d102 100644
--- a/openair2/UTIL/OCG/OCG_get_opt.c
+++ b/openair2/UTIL/OCG/OCG_get_opt.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_get_opt.h b/openair2/UTIL/OCG/OCG_get_opt.h
index a084619a0747cbba385bbf3c1a3a75d2f00113ec..d44e96f5c3fa34b80e5d1925727e6a3870bcdd1f 100644
--- a/openair2/UTIL/OCG/OCG_get_opt.h
+++ b/openair2/UTIL/OCG/OCG_get_opt.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_if.h b/openair2/UTIL/OCG/OCG_if.h
index 7b56003424c999f95aa31a8e2a124b88c799a1f4..5f600539dda7f6660b27854f45a9154ac1658f65 100644
--- a/openair2/UTIL/OCG/OCG_if.h
+++ b/openair2/UTIL/OCG/OCG_if.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_parse_XML.c b/openair2/UTIL/OCG/OCG_parse_XML.c
index 7d6cfad8aeb607b376149a6ee1928aee87549c1c..5397cdbd98bab4ca67369cb812d5c8ab689aefe9 100644
--- a/openair2/UTIL/OCG/OCG_parse_XML.c
+++ b/openair2/UTIL/OCG/OCG_parse_XML.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_parse_XML.h b/openair2/UTIL/OCG/OCG_parse_XML.h
index 6295a7afe673ec8c8439a1d7c3022f7f34e99ab5..25de67e19641589c3bf5cb68f61cf07c2c7ac3d4 100644
--- a/openair2/UTIL/OCG/OCG_parse_XML.h
+++ b/openair2/UTIL/OCG/OCG_parse_XML.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_parse_filename.c b/openair2/UTIL/OCG/OCG_parse_filename.c
index bb860728a78b632132a7194b21774adfc2e8d250..2f2a196fa0810188b172a72e6c9cc6a22ca2c2ac 100644
--- a/openair2/UTIL/OCG/OCG_parse_filename.c
+++ b/openair2/UTIL/OCG/OCG_parse_filename.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_parse_filename.h b/openair2/UTIL/OCG/OCG_parse_filename.h
index ebdb617efed4a74f678c99f7c5dc693d94b23a7b..4c1bd6989d4ce243b62728a427adc8fa5d81d9dd 100644
--- a/openair2/UTIL/OCG/OCG_parse_filename.h
+++ b/openair2/UTIL/OCG/OCG_parse_filename.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_save_XML.c b/openair2/UTIL/OCG/OCG_save_XML.c
index 5ad40815729028f7fc4d9f7dd1b00b046576f6e3..ec94ab9f8e9032715ee834cca6d002309dcf7bde 100644
--- a/openair2/UTIL/OCG/OCG_save_XML.c
+++ b/openair2/UTIL/OCG/OCG_save_XML.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_save_XML.h b/openair2/UTIL/OCG/OCG_save_XML.h
index 0fff43fa34b3b349d92f7b277740a11858b37fcc..d8cc24c9e812d90f17b38fe8391a70f8f9006a95 100644
--- a/openair2/UTIL/OCG/OCG_save_XML.h
+++ b/openair2/UTIL/OCG/OCG_save_XML.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OCG/OCG_vars.h b/openair2/UTIL/OCG/OCG_vars.h
index 34c97dd58dd304b8cb54573bd165fada6742443f..f1aab9b580f33fabc1968680c46065ef8049fffe 100644
--- a/openair2/UTIL/OCG/OCG_vars.h
+++ b/openair2/UTIL/OCG/OCG_vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/TraCIConstants.h b/openair2/UTIL/OMG/TraCIConstants.h
index 90c78e0012550a19018c4b244c6d0ef106425323..1defa16aadbc5e877cb3125d4bc1f6cfb6ce3d5b 100644
--- a/openair2/UTIL/OMG/TraCIConstants.h
+++ b/openair2/UTIL/OMG/TraCIConstants.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/client_traci_OMG.c b/openair2/UTIL/OMG/client_traci_OMG.c
index a4b027116ad94a5ffae4232367b3a10059934c46..b3b43f49b2bd209921619a486f5181cf1b50af9b 100644
--- a/openair2/UTIL/OMG/client_traci_OMG.c
+++ b/openair2/UTIL/OMG/client_traci_OMG.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/client_traci_OMG.h b/openair2/UTIL/OMG/client_traci_OMG.h
index a30f64372eb40a66b96746f0d5f54d33f79450c8..4d8b9e86d16fee66173c2b8cfd4e6ef5680ee608 100644
--- a/openair2/UTIL/OMG/client_traci_OMG.h
+++ b/openair2/UTIL/OMG/client_traci_OMG.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/common.c b/openair2/UTIL/OMG/common.c
index 1e2ea5a1f3e6755410d99dc3b2a84e33a4ad3976..dd12cb302aac4e475d0479371d00858bdf094c08 100644
--- a/openair2/UTIL/OMG/common.c
+++ b/openair2/UTIL/OMG/common.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/defs.h b/openair2/UTIL/OMG/defs.h
index 1e70f1ea47132e4cc1b1f495a9b31f52f2cf6e3f..99de25b17698dc35f20e00ca136d513827a75a9f 100644
--- a/openair2/UTIL/OMG/defs.h
+++ b/openair2/UTIL/OMG/defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/grid.c b/openair2/UTIL/OMG/grid.c
index 69c9f2eb24332b71120474c8ff24d93b5fe65af1..1c3fc0cc5c0081d53c5a5be15502a38f0d9c2cb1 100644
--- a/openair2/UTIL/OMG/grid.c
+++ b/openair2/UTIL/OMG/grid.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/grid.h b/openair2/UTIL/OMG/grid.h
index dd148e3e2a4c2a4ec0c414d8fc5ccdea1d7a0ffb..138eb0b5525231a7ad09357a66606577c4cb4c67 100644
--- a/openair2/UTIL/OMG/grid.h
+++ b/openair2/UTIL/OMG/grid.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/id_manager.c b/openair2/UTIL/OMG/id_manager.c
index ba6b8391e910cad54aa526461f927ab9860ea06d..d37e56210db6f4d94f99c93e203c5106f0982904 100644
--- a/openair2/UTIL/OMG/id_manager.c
+++ b/openair2/UTIL/OMG/id_manager.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/id_manager.h b/openair2/UTIL/OMG/id_manager.h
index ac2be91e43e290f4e38fdb2bfa76dae916ea288a..d255d84dea2dd2c3cc2887b9c4f0b6576b4dfadf 100644
--- a/openair2/UTIL/OMG/id_manager.h
+++ b/openair2/UTIL/OMG/id_manager.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/job.c b/openair2/UTIL/OMG/job.c
index 51efd44e91deb7ba5cf291a263f59aa19d0d5965..e43ed1a3eb41edf32b0cb829b0f162eaf968097a 100644
--- a/openair2/UTIL/OMG/job.c
+++ b/openair2/UTIL/OMG/job.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/mobility_parser.c b/openair2/UTIL/OMG/mobility_parser.c
index f22fea9972f571d19facc7ca5f71fc5766f4b6dd..d011dbe34fb36bec3122a29f0dabb074b3e5fc29 100644
--- a/openair2/UTIL/OMG/mobility_parser.c
+++ b/openair2/UTIL/OMG/mobility_parser.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/mobility_parser.h b/openair2/UTIL/OMG/mobility_parser.h
index 9b2ded837e1ed93c0ec050ba5815bb5eb8228176..834f01d64a3524edd2d535b92b8ac402433a388d 100644
--- a/openair2/UTIL/OMG/mobility_parser.h
+++ b/openair2/UTIL/OMG/mobility_parser.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/omg.c b/openair2/UTIL/OMG/omg.c
index 86e865ab9db0147febe479f0786b0df9170f5a3c..11bdc62071207565f6d47c56c778d9b94123d49e 100644
--- a/openair2/UTIL/OMG/omg.c
+++ b/openair2/UTIL/OMG/omg.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/omg.h b/openair2/UTIL/OMG/omg.h
index 0b6627be6056836e931d6a557745858264ca8f5b..1df5205df74939fdc7e386d64a618176a1f85136 100644
--- a/openair2/UTIL/OMG/omg.h
+++ b/openair2/UTIL/OMG/omg.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/omg_constants.h b/openair2/UTIL/OMG/omg_constants.h
index 8be36532ba8ed338053224330511504abcf6bc44..ba09ac6dd8ce420c1c1e669ca5612f7b39009788 100644
--- a/openair2/UTIL/OMG/omg_constants.h
+++ b/openair2/UTIL/OMG/omg_constants.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/omg_hashtable.c b/openair2/UTIL/OMG/omg_hashtable.c
index 2528c0e80e759d231acc4b360f2d1540f0238519..761750a6340ad25203587e895a8ebfc1f9a385c0 100644
--- a/openair2/UTIL/OMG/omg_hashtable.c
+++ b/openair2/UTIL/OMG/omg_hashtable.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/omg_hashtable.h b/openair2/UTIL/OMG/omg_hashtable.h
index 8c4003e53b5d3dd2b914bc15441db95f10c88eb2..c5437e381cd01bb768e38157e50ae0cff7070a85 100644
--- a/openair2/UTIL/OMG/omg_hashtable.h
+++ b/openair2/UTIL/OMG/omg_hashtable.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/omg_vars.h b/openair2/UTIL/OMG/omg_vars.h
index 3baf3758fb5cf6d30d68b24384f3f12a775a0107..f2715cdf1b7da0833c482a410613f805ab078ec8 100644
--- a/openair2/UTIL/OMG/omg_vars.h
+++ b/openair2/UTIL/OMG/omg_vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/rwalk.c b/openair2/UTIL/OMG/rwalk.c
index 40c7940c1212f937620d206a58bccd5db6df5ed2..1a406d20e890e5daa97604cdae4f97e5695f61c3 100644
--- a/openair2/UTIL/OMG/rwalk.c
+++ b/openair2/UTIL/OMG/rwalk.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/rwalk.h b/openair2/UTIL/OMG/rwalk.h
index 9d512c67adbf1bc4e275c66561572feb732d1a00..6d38a8f799a9b542bd31021b91532dca1f16cea5 100644
--- a/openair2/UTIL/OMG/rwalk.h
+++ b/openair2/UTIL/OMG/rwalk.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/rwp.c b/openair2/UTIL/OMG/rwp.c
index f00d1f0bf2676b72b39540ce930eeca43ef291fe..6766cd95554bd35f2fb19b7111bc62989a5deb1a 100644
--- a/openair2/UTIL/OMG/rwp.c
+++ b/openair2/UTIL/OMG/rwp.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/rwp.h b/openair2/UTIL/OMG/rwp.h
index d35130fb0059925e5cef5d7894392a4c6c229648..ae895b95e3dedf36700f28cde52c3863b15c6c1a 100644
--- a/openair2/UTIL/OMG/rwp.h
+++ b/openair2/UTIL/OMG/rwp.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/socket_traci_OMG.c b/openair2/UTIL/OMG/socket_traci_OMG.c
index fed154aa083e86896b7f743fa8baeb8a05402524..1a62ec04da9f15d014ddfd59fca75b7202194615 100644
--- a/openair2/UTIL/OMG/socket_traci_OMG.c
+++ b/openair2/UTIL/OMG/socket_traci_OMG.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/socket_traci_OMG.h b/openair2/UTIL/OMG/socket_traci_OMG.h
index 1a7f4f5528e554b4b3b4c701e4ba66de369512c6..a8735911486df8818f6a7041d22abb376ff30ac8 100644
--- a/openair2/UTIL/OMG/socket_traci_OMG.h
+++ b/openair2/UTIL/OMG/socket_traci_OMG.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/static.c b/openair2/UTIL/OMG/static.c
index f882ae7fe652de81cc92dc4a7dc069b45893f237..8305c6e9b750316d0a4b022a9046e1f0ed43f014 100644
--- a/openair2/UTIL/OMG/static.c
+++ b/openair2/UTIL/OMG/static.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/static.h b/openair2/UTIL/OMG/static.h
index 18b22123d777ce430139f610fcaa3d0c795811af..1b5cb0f72fb80bceea64f0cef921c3621e266c0b 100644
--- a/openair2/UTIL/OMG/static.h
+++ b/openair2/UTIL/OMG/static.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/steadystaterwp.c b/openair2/UTIL/OMG/steadystaterwp.c
index 9bf11d240f01e5cf74caadbfe080c84966783461..c466f3cd2316a2c044b0e6fbb359e8c276dde3fd 100644
--- a/openair2/UTIL/OMG/steadystaterwp.c
+++ b/openair2/UTIL/OMG/steadystaterwp.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/steadystaterwp.h b/openair2/UTIL/OMG/steadystaterwp.h
index e7f3b184ee149d8de7518558b35b33b243267258..1e274d9e1fc860e81e26ddace594fcab94960bba 100644
--- a/openair2/UTIL/OMG/steadystaterwp.h
+++ b/openair2/UTIL/OMG/steadystaterwp.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/storage_traci_OMG.c b/openair2/UTIL/OMG/storage_traci_OMG.c
index 7b703387f5b0bac86eeda08972f022cb0fcf0a61..f8ccfdc05943c733e9773a06f77f18220e4eb768 100644
--- a/openair2/UTIL/OMG/storage_traci_OMG.c
+++ b/openair2/UTIL/OMG/storage_traci_OMG.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/storage_traci_OMG.h b/openair2/UTIL/OMG/storage_traci_OMG.h
index cf2ecbe999b1443f94b02926ff8a9a2e3bc88338..e1f97615c614c27e84ef39c1ec4bcae73b76f3fb 100644
--- a/openair2/UTIL/OMG/storage_traci_OMG.h
+++ b/openair2/UTIL/OMG/storage_traci_OMG.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/sumo.c b/openair2/UTIL/OMG/sumo.c
index 65e193d8dce8cdd433291c92925e5a707e75faeb..f709a73e2a946305fee222083416c43d543e079e 100644
--- a/openair2/UTIL/OMG/sumo.c
+++ b/openair2/UTIL/OMG/sumo.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/sumo.h b/openair2/UTIL/OMG/sumo.h
index f4950afc5c4239d7095fdb8a3c81ebb7aa92cbd7..71b36bf31084fc5dea8ae3fdfcb3baf4c8ebd2ee 100644
--- a/openair2/UTIL/OMG/sumo.h
+++ b/openair2/UTIL/OMG/sumo.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/trace.c b/openair2/UTIL/OMG/trace.c
index 04c84ed22a73d15e9a502f6cb62bab35f5ef03dc..89a9377f93d2dbb7140a2bbf6e412dee0fd498ca 100644
--- a/openair2/UTIL/OMG/trace.c
+++ b/openair2/UTIL/OMG/trace.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/trace.h b/openair2/UTIL/OMG/trace.h
index b3fe9af6308498f37bafbbcd1c4271e3e98375ed..b3825e2fa800c02054289f980801824f0a05146d 100644
--- a/openair2/UTIL/OMG/trace.h
+++ b/openair2/UTIL/OMG/trace.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/trace_hashtable.c b/openair2/UTIL/OMG/trace_hashtable.c
index 633ba700a103edfe14b240784dc3a3b40ead5d94..2ecb3922193b0d3473d70308160755b884b99fe7 100644
--- a/openair2/UTIL/OMG/trace_hashtable.c
+++ b/openair2/UTIL/OMG/trace_hashtable.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OMG/trace_hashtable.h b/openair2/UTIL/OMG/trace_hashtable.h
index 0f0490318c812de3e3f5bbece383c661e1d647be..cd7feb73fcea8bfa59da55750d3cad303e240f2f 100644
--- a/openair2/UTIL/OMG/trace_hashtable.h
+++ b/openair2/UTIL/OMG/trace_hashtable.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OPT/mac_pcap.h b/openair2/UTIL/OPT/mac_pcap.h
index e6e1dfb8008bac72767743bffbc69ef4a2ae7967..f44c12ec40d388f315467969183c7764d7604f95 100644
--- a/openair2/UTIL/OPT/mac_pcap.h
+++ b/openair2/UTIL/OPT/mac_pcap.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OPT/opt.h b/openair2/UTIL/OPT/opt.h
index 62ec940cc3b24a984d9fb53c5ddc7c3ada8489f3..bb3a099e12031cc96375c804a524167f26c3c3b1 100644
--- a/openair2/UTIL/OPT/opt.h
+++ b/openair2/UTIL/OPT/opt.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OPT/probe.c b/openair2/UTIL/OPT/probe.c
index 5fd34bbcf42db8c419aae171d5e79d83854b33ed..effd0bee852dba5a298099519ea90a5fc55297fd 100644
--- a/openair2/UTIL/OPT/probe.c
+++ b/openair2/UTIL/OPT/probe.c
@@ -52,7 +52,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OPT/socket_sender.c b/openair2/UTIL/OPT/socket_sender.c
index b904e008c5fdb6259362d30a73df044bb16cc7b1..c984895351592182aa3d32a6d9f88697d2c55139 100644
--- a/openair2/UTIL/OPT/socket_sender.c
+++ b/openair2/UTIL/OPT/socket_sender.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OPT/vars.h b/openair2/UTIL/OPT/vars.h
index 2730a971bd5d67ea043dcaf04eab54b3bec1197e..4e0346753721ef59751464272efbc61bcc7194a8 100644
--- a/openair2/UTIL/OPT/vars.h
+++ b/openair2/UTIL/OPT/vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OSA/osa_defs.h b/openair2/UTIL/OSA/osa_defs.h
index 99f8023142a9f17d4e55b152ed7b43e208081881..c11f93d2bb3acb77f68d363ac3266a0f3841df30 100644
--- a/openair2/UTIL/OSA/osa_defs.h
+++ b/openair2/UTIL/OSA/osa_defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OSA/osa_internal.h b/openair2/UTIL/OSA/osa_internal.h
index 9376fc8a39443c7c02031eb41c0681606de31152..a42f925322918c74798aa9828e5f7c7723f24ff5 100644
--- a/openair2/UTIL/OSA/osa_internal.h
+++ b/openair2/UTIL/OSA/osa_internal.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OSA/osa_key_deriver.c b/openair2/UTIL/OSA/osa_key_deriver.c
index 25ed08889e4d78fd22127a603f7cbbf80368bed2..d8b5fba58b79c856fce9d0140c6d9f07bd32d8a9 100644
--- a/openair2/UTIL/OSA/osa_key_deriver.c
+++ b/openair2/UTIL/OSA/osa_key_deriver.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OSA/osa_stream_eea.c b/openair2/UTIL/OSA/osa_stream_eea.c
index 60fd73190213713caf57baa70adf01e7e892743d..0a044e2e01464de3c71a9e454e5b1c56ef9810c1 100644
--- a/openair2/UTIL/OSA/osa_stream_eea.c
+++ b/openair2/UTIL/OSA/osa_stream_eea.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OSA/osa_stream_eia.c b/openair2/UTIL/OSA/osa_stream_eia.c
index 9dc03f3f4431491f4dad324e558d7686a61c78c2..22ad10d25d389c2608f02ae3af998d03870d9f47 100644
--- a/openair2/UTIL/OSA/osa_stream_eia.c
+++ b/openair2/UTIL/OSA/osa_stream_eia.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg.c b/openair2/UTIL/OTG/otg.c
index 5c7708c5c6c7c466975a720646fb35c2fe4cf78a..e167eb7b456e1d559c99ff36f91c5eb28d3fd7de 100644
--- a/openair2/UTIL/OTG/otg.c
+++ b/openair2/UTIL/OTG/otg.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg.h b/openair2/UTIL/OTG/otg.h
index 8fef4c0c8778142093ac6e634e42d539eb26cc2a..4c3f5bf8d97a53f91bedf3a64d7950537705b958 100644
--- a/openair2/UTIL/OTG/otg.h
+++ b/openair2/UTIL/OTG/otg.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_config.h b/openair2/UTIL/OTG/otg_config.h
index 18bb4f59697fd998d16d98782d2243385aba38c4..7e0e0143756f24d34cef28678d30a82cc5a9030a 100644
--- a/openair2/UTIL/OTG/otg_config.h
+++ b/openair2/UTIL/OTG/otg_config.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_defs.h b/openair2/UTIL/OTG/otg_defs.h
index 4f4cc4f6019c9ddfeccb6e719ba0c72b7865344d..c6cee01ec2a29d69e86e3562373ab38b3d31c536 100644
--- a/openair2/UTIL/OTG/otg_defs.h
+++ b/openair2/UTIL/OTG/otg_defs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_externs.h b/openair2/UTIL/OTG/otg_externs.h
index bcaa5d307de606a7cf48a9bdcde5aba53d87c942..7ceccfce350ca60d677e1ef0a5279de56bd6a800 100644
--- a/openair2/UTIL/OTG/otg_externs.h
+++ b/openair2/UTIL/OTG/otg_externs.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_form.c b/openair2/UTIL/OTG/otg_form.c
index 69b25495419e7146674e804c97ee64a7fda96335..db77c6a801be0e2021c658f1eac5adcb3ca951ea 100644
--- a/openair2/UTIL/OTG/otg_form.c
+++ b/openair2/UTIL/OTG/otg_form.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_form.h b/openair2/UTIL/OTG/otg_form.h
index b14920650203f7edc51ad08784fc73bf00ae9806..153ec75b323fb09de56094ec118146ab204f646f 100644
--- a/openair2/UTIL/OTG/otg_form.h
+++ b/openair2/UTIL/OTG/otg_form.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_kpi.c b/openair2/UTIL/OTG/otg_kpi.c
index f69c6940ff805e57ecd4a8f5333a7e16b1e8caeb..3aa55df05faddbd28535377d3de180c8f58d79d6 100644
--- a/openair2/UTIL/OTG/otg_kpi.c
+++ b/openair2/UTIL/OTG/otg_kpi.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_kpi.h b/openair2/UTIL/OTG/otg_kpi.h
index d2c2fcec8a672ce97db4ad04ca452bb1a7ace9de..c4ea232d873431b73904d71db91426977d0d6d2f 100644
--- a/openair2/UTIL/OTG/otg_kpi.h
+++ b/openair2/UTIL/OTG/otg_kpi.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_models.c b/openair2/UTIL/OTG/otg_models.c
index b1327e8a08733806ef7e4e6e07f9e202d039aa70..e67116044464eaba43e9f96a864b69b7350f3604 100644
--- a/openair2/UTIL/OTG/otg_models.c
+++ b/openair2/UTIL/OTG/otg_models.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_models.h b/openair2/UTIL/OTG/otg_models.h
index a0a776f8a727c9b12b8989ea1fe9822ee3242e8a..51944fc15eccca997b4010759d3b6b64e43ca5f9 100644
--- a/openair2/UTIL/OTG/otg_models.h
+++ b/openair2/UTIL/OTG/otg_models.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_rx.c b/openair2/UTIL/OTG/otg_rx.c
index b5f0fd416ba3b7cfa72ee3d0348bb8ff41cd869b..8331dd84771703efa2057c450d80c3d284af42dc 100644
--- a/openair2/UTIL/OTG/otg_rx.c
+++ b/openair2/UTIL/OTG/otg_rx.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_rx.h b/openair2/UTIL/OTG/otg_rx.h
index 6b3536a9c09b1487d71214fdcc49d65e88dd5dab..21c6fd85cbae995430d692e4ed9127e1ccb3a244 100644
--- a/openair2/UTIL/OTG/otg_rx.h
+++ b/openair2/UTIL/OTG/otg_rx.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_rx_socket.c b/openair2/UTIL/OTG/otg_rx_socket.c
index 29590e33fc5d7fb71843f08ccba28ee1b7975dca..e9d2e8a86324366da2184c55a8b65f7327edbbe3 100644
--- a/openair2/UTIL/OTG/otg_rx_socket.c
+++ b/openair2/UTIL/OTG/otg_rx_socket.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_rx_socket.h b/openair2/UTIL/OTG/otg_rx_socket.h
index d9e33c9eea050609411a24d80eb337da1b3a7cc9..012826927036260698e43bef3db0215c151610b6 100644
--- a/openair2/UTIL/OTG/otg_rx_socket.h
+++ b/openair2/UTIL/OTG/otg_rx_socket.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_tx.c b/openair2/UTIL/OTG/otg_tx.c
index d6f6507644da87d76adac3f28ac9e5636fbd77a4..e70bccbc736ffe40ca522c5b8013a9d53ce7d059 100644
--- a/openair2/UTIL/OTG/otg_tx.c
+++ b/openair2/UTIL/OTG/otg_tx.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_tx.h b/openair2/UTIL/OTG/otg_tx.h
index b5cd7741a4cab921f148ef8575c0fbe12b8f068e..26013dfe4742b72cb11ee5b12a02473637583ac4 100644
--- a/openair2/UTIL/OTG/otg_tx.h
+++ b/openair2/UTIL/OTG/otg_tx.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_tx_socket.c b/openair2/UTIL/OTG/otg_tx_socket.c
index 7eac7d0195046ad3b7437dc5e9db547dc1a08bc7..60b9df020c72d6383a55bbfbc6d2974ba08669c7 100644
--- a/openair2/UTIL/OTG/otg_tx_socket.c
+++ b/openair2/UTIL/OTG/otg_tx_socket.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_tx_socket.h b/openair2/UTIL/OTG/otg_tx_socket.h
index 61668015dffe91b97771c96bb24e99aacae0d989..2c5372773f6672c1034bca4dd11dd05d39821a2b 100644
--- a/openair2/UTIL/OTG/otg_tx_socket.h
+++ b/openair2/UTIL/OTG/otg_tx_socket.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/otg_vars.h b/openair2/UTIL/OTG/otg_vars.h
index 9ce0afb82d073e849230e8805e3c1fb1b36cbc08..cc4c56ce9eb8241c3709f32accec8449cd74be02 100644
--- a/openair2/UTIL/OTG/otg_vars.h
+++ b/openair2/UTIL/OTG/otg_vars.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/OTG/traffic_config.h b/openair2/UTIL/OTG/traffic_config.h
index 59b609cca713495ae3d46bbfe7d76ce4ff479354..3e982b1742385a9ab236ee48672a89f6ce5d1940 100644
--- a/openair2/UTIL/OTG/traffic_config.h
+++ b/openair2/UTIL/OTG/traffic_config.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/TIMER/umts_timer.c b/openair2/UTIL/TIMER/umts_timer.c
index 4e59e1e82f7560e9afbecbcb589366f903c01c41..9562aee67d943c361ece3482d7cbb79c77cb4163 100755
--- a/openair2/UTIL/TIMER/umts_timer.c
+++ b/openair2/UTIL/TIMER/umts_timer.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/TIMER/umts_timer.h b/openair2/UTIL/TIMER/umts_timer.h
index e5668f67882c6f37798dfdc1433a0babe091d80a..a857244ddf78bb8a24af6cbfd50b6a39deaf36b2 100755
--- a/openair2/UTIL/TIMER/umts_timer.h
+++ b/openair2/UTIL/TIMER/umts_timer.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/TIMER/umts_timer_proto_extern.h b/openair2/UTIL/TIMER/umts_timer_proto_extern.h
index cb0223b11116a5b74e51ac493327044480b308f5..ca50d3193f0268eb3dcf965911c52d85e698d913 100755
--- a/openair2/UTIL/TIMER/umts_timer_proto_extern.h
+++ b/openair2/UTIL/TIMER/umts_timer_proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/TIMER/umts_timer_struct.h b/openair2/UTIL/TIMER/umts_timer_struct.h
index d6e15fabac11b5e79f9b22ade85656e9fc39e6bd..46b7216cd95e7e7c685784dd6b379c1e72f97508 100755
--- a/openair2/UTIL/TIMER/umts_timer_struct.h
+++ b/openair2/UTIL/TIMER/umts_timer_struct.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/TRACE/fifo_printf.c b/openair2/UTIL/TRACE/fifo_printf.c
index e3b85337d3475547d603552aafb1896cb16748fc..2c5f5202f933e41e140e4efd73ac02e9ba3ed394 100755
--- a/openair2/UTIL/TRACE/fifo_printf.c
+++ b/openair2/UTIL/TRACE/fifo_printf.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/TRACE/fifo_printf.h b/openair2/UTIL/TRACE/fifo_printf.h
index ee0778fbda263d3238095c139be9be029ecd0210..84571e355c9c3cb53a0f16c16e21ff96dd5e886f 100755
--- a/openair2/UTIL/TRACE/fifo_printf.h
+++ b/openair2/UTIL/TRACE/fifo_printf.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/TRACE/fifo_printf_proto_extern.h b/openair2/UTIL/TRACE/fifo_printf_proto_extern.h
index f9e6e278f9860d5b90bab91a0a765db7c04387a1..66456af305f431b7440f393f5df10fee6f3d0389 100755
--- a/openair2/UTIL/TRACE/fifo_printf_proto_extern.h
+++ b/openair2/UTIL/TRACE/fifo_printf_proto_extern.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/UTIL/TRACE/print.h b/openair2/UTIL/TRACE/print.h
index aff035a242bbf6f3f27208d0d69af4373abdbf8f..2c465e0fa52507d447aebe89cdb3f99ff9c90944 100755
--- a/openair2/UTIL/TRACE/print.h
+++ b/openair2/UTIL/TRACE/print.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/X2AP/x2ap.c b/openair2/X2AP/x2ap.c
index 4ce72caf556ac3372968f4e6b1814f928b7d0a05..69b70964a4ec12b5371839939dd79ab80e904764 100644
--- a/openair2/X2AP/x2ap.c
+++ b/openair2/X2AP/x2ap.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/X2AP/x2ap.h b/openair2/X2AP/x2ap.h
index 16c07eb672d72db97f0032cb06a52f7b046cdf87..561f0953c3078e2f2af12d9ff372c5f0038566b9 100644
--- a/openair2/X2AP/x2ap.h
+++ b/openair2/X2AP/x2ap.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/X2AP/x2ap_common.c b/openair2/X2AP/x2ap_common.c
index 9d9d7bc6568ec2ff108eaf5fb0d21c5c235e0d67..55658359975e2dfff52a6dc1926e26464eaac2cd 100755
--- a/openair2/X2AP/x2ap_common.c
+++ b/openair2/X2AP/x2ap_common.c
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/openair2/X2AP/x2ap_common.h b/openair2/X2AP/x2ap_common.h
index fe7b710d96a3710b8f6778489f7cecfb5b44d48f..04ad77f8e37a6448dcf7945d3f8a8b58978c23ff 100755
--- a/openair2/X2AP/x2ap_common.h
+++ b/openair2/X2AP/x2ap_common.h
@@ -21,7 +21,7 @@
   Contact Information
   OpenAirInterface Admin: openair_admin@eurecom.fr
   OpenAirInterface Tech : openair_tech@eurecom.fr
-  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
index 6ebf709ec9d725bdcab9ea2fafe0430bf9ab1ba8..d515a206ae8e0683ff5ba4529107fe6fbb0b6f5a 100644
--- a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
+++ b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h
index 39518173db14dc2db0d15943daa9c4f65534470a..15e1d39da744b508138763344ede60c2267f33fe 100644
--- a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h
+++ b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/COMMON/common_lib.c b/targets/ARCH/COMMON/common_lib.c
index 63f086ff1d5416329c96ba31de19140304a9fdcb..8b91a74b4923ec5cc7d3f30c6dc87875a7c6d228 100644
--- a/targets/ARCH/COMMON/common_lib.c
+++ b/targets/ARCH/COMMON/common_lib.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h
index a6851b0dbe89e7c511e804c5697ace51a31b45ba..8cc7926d4571158f210eb976dd3df102f4d2a510 100644
--- a/targets/ARCH/COMMON/common_lib.h
+++ b/targets/ARCH/COMMON/common_lib.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
index 6dd457d9b5f25d628070a44e7afda55aa54477de..ce90d2cff967e03d90d3c82bc401f3b93a156768 100644
--- a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
+++ b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
index 628fcb377c7f0fbdea48ad82bec3ab8f68b326dc..eabec94ebcba082f1c72929664e452919f7cd5bd 100644
--- a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
+++ b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DEFS/openair_device.h b/targets/ARCH/EXMIMO/DEFS/openair_device.h
index 3ca2f093f794d39ad4a2f5743c35427f2730bdf8..2be7b7f08881f2e55d65e5de046af8228991ee96 100755
--- a/targets/ARCH/EXMIMO/DEFS/openair_device.h
+++ b/targets/ARCH/EXMIMO/DEFS/openair_device.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DEFS/pcie_interface.h b/targets/ARCH/EXMIMO/DEFS/pcie_interface.h
index 9c47d9b3922ce3806b40cfb3ae49882cece66fd7..925787cabfbb955e1cb20d17b0d73ecb0c5a5694 100644
--- a/targets/ARCH/EXMIMO/DEFS/pcie_interface.h
+++ b/targets/ARCH/EXMIMO/DEFS/pcie_interface.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h b/targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h
index 7467bd0357090eafb4917560b64972e6c02962ee..ffba2d61c4d509fa434816d58c3a5bbf28d7b237 100755
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/defs.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c
index e02173d9d223c0ac0fa4ead805ab43b846c6595e..eb23d1afb8bb27ffc55a986d75ac2fc06fdb2e26 100644
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h b/targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h
index b0bbd5c89ba342fe49c0463d313e06c62457f2e4..90d1eaa64c4ff7f22f53b08717d413629a00c46d 100755
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/extern.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c
index 99edddab89f3befe8e2edcf4b389986aa46ef4bc..4427f4c8af49fc9d65461b0980d28218e5b31d03 100755
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c
index 1e48a1f8c121b2946eac365df6f527338644099d..c8b9217ce395e0367a7454f171bd850f7eaa897a 100644
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/irq.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c
index 988238bea97ca8303a72d25118e05f465069b6ae..4ef187b07361de2c5722d29e817dd1b7e0db8726 100755
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h b/targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h
index e3a3a7abfc212e5855d32742b3664abfd3001504..7220946e6b28e36ffcba66b15b375f8917d064ed 100755
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/vars.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h b/targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h
index 7467bd0357090eafb4917560b64972e6c02962ee..ffba2d61c4d509fa434816d58c3a5bbf28d7b237 100755
--- a/targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h
+++ b/targets/ARCH/EXMIMO/DRIVER/exmimo3/defs.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c
index d0d1a4fa08672104a0b2059d4bfee3acc6bbcb3c..1cc6abf9f7b4be1e866f31b32b503eb2306be10e 100644
--- a/targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c
+++ b/targets/ARCH/EXMIMO/DRIVER/exmimo3/exmimo_fw.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h b/targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h
index b0bbd5c89ba342fe49c0463d313e06c62457f2e4..90d1eaa64c4ff7f22f53b08717d413629a00c46d 100755
--- a/targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h
+++ b/targets/ARCH/EXMIMO/DRIVER/exmimo3/extern.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c
index 99edddab89f3befe8e2edcf4b389986aa46ef4bc..4427f4c8af49fc9d65461b0980d28218e5b31d03 100755
--- a/targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c
+++ b/targets/ARCH/EXMIMO/DRIVER/exmimo3/fileops.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c
index 1e48a1f8c121b2946eac365df6f527338644099d..c8b9217ce395e0367a7454f171bd850f7eaa897a 100644
--- a/targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c
+++ b/targets/ARCH/EXMIMO/DRIVER/exmimo3/irq.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c b/targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c
index 679f83d4268b756eb8af78782124d3c056e7b8a6..b25ff1cfa89f06bd5ea30ae1fa4ac70a081fc04a 100755
--- a/targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c
+++ b/targets/ARCH/EXMIMO/DRIVER/exmimo3/module_main.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h b/targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h
index e3a3a7abfc212e5855d32742b3664abfd3001504..7220946e6b28e36ffcba66b15b375f8917d064ed 100755
--- a/targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h
+++ b/targets/ARCH/EXMIMO/DRIVER/exmimo3/vars.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c
index 2e1a8f2587c6d29e86ade1776604ac40b1bfb362..2a25dd39fe9687906e6bd39c8fa87c3beae1eea2 100644
--- a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c
+++ b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_dev.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c
index 060db51b2b2592d9a340738704c79466500f8d8e..b22b224e041dea4558ccde76a44b38fe67fe8a14 100644
--- a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c
+++ b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h
index ab81f78f8a9a133ad1a27f9a2783cf14a56baeb1..f19f0cfc422ed423764ae33e388130750e64f9d6 100644
--- a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h
+++ b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_drv.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c
index 4eb0ed7058a7080d6582047f52e4b80eb25aabb8..15f4deacd28f454a05da4e6df92cc552dac16a96 100644
--- a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c
+++ b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_fifos.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c
index 30ecf2a56a9524fe97bd26a274a8953068c522e5..8ade1d69a03dc82f9c31beaa3fe9fab6ea4afeef 100644
--- a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c
+++ b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_ioctl.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c
index a4af653862ef1720ec446a144fbcc7beef5ad224..c2860f0b1810de4ae007990bb88db61f0998abc6 100644
--- a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c
+++ b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_mmap.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c
index a07194f77069e7296a06cf5aaed27ac9515b5ef5..478f8bb36316731092d0aea85a10c59637cbe154 100644
--- a/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c
+++ b/targets/ARCH/EXMIMO/DRIVER/telecomparistech/em1_rw.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/example.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/example.c
index 87d006dbbffad1b5bbc47683b6472bf7273c5482..5fbe19eacddb016194fa3bd6aa83583e93b6ffbb 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/LIB/example.c
+++ b/targets/ARCH/EXMIMO/USERSPACE/LIB/example.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c
index 9413295d46b1ec0350ebddf48e67c6e03d142ac8..84b2d8e8e22336f8acd8dfbbd99d3cc4ce203a97 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c
+++ b/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h b/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h
index bad05ca1c5748d05ff31db4cbf84dddce04fa48f..dd48683ad03d162702addcda06f5ff67577cdc09 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h
+++ b/targets/ARCH/EXMIMO/USERSPACE/LIB/gain_control.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
index 71c10090391a6cb4144bc5f8ffd9c5d01b42bde1..df9900d3bc98720090143b73c2989a30ad0868ea 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
+++ b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h
index f40b7ae88c0ca73498cac16d414dd4e41e2efa85..ae2ff8a36b08a445d0ab2e3f1169720afde6faf5 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h
+++ b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h
index 793f585ae4e79960573219da5c388ed0b73f5574..238c4ee60652066f1f1b9d0b6ececb87951987ff 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h
+++ b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elf.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h
index a83f89c794b075802ab5dbb757f6224850159475..dfd16118c699846318903cb7171546cf5d4b60c2 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h
+++ b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/elftypes.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c
index 17cca70a8aa3116024f190e2dd8a9728290b414f..692742c7cf82e41f3df0c8e78d3f7387b46679f2 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c
+++ b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h
index c44570d8a1660b6accd0dd23aa46f738acb42a4b..ea2abec2166b694a1783588dd65902d9792357d3 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h
+++ b/targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc
index c451647f49e5e86c0ecbfafc8ce63e0eeac80631..a007618e43ff1d3f5db9f727ff76376407310bf3 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc
+++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc
index 46181284015bf2f82baf155e9031300569703b17..4d0eef921bf103c1e5f14806e78fc47e2d70d1b7 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc
+++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc
index bdf50e14597b5aeb9ba6b77a7fcc53967b2e9d4e..708910b4f74c7608d9129126a5155fbbc57f6409 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc
+++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc
index ec10e5d893aae38f53effb11e49c0436baf50af6..a26b6a0a670b1e74b76d1e763cdf185a945684c5 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc
+++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc
index 4066cef7c9ded5ee74c640ec5e0ce17bf164adcd..75cdef67b2d1d0495e072e74ca083e10d4462207 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc
+++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc
index 5a0eb8c716aeca5c841ee6cb80912e1253cf3768..03b4b5324df74b54c60437d1e2abfa4524fa9014 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc
+++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc
index 98dcb6f2f3d780eb379efb4d1bcd7bf47b59c750..058a8bba3e69d6906c6e2d98740afd1828b4a0dc 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc
+++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
index 192ed503e2e3408170720f0476f4a5e25943424c..e57f55720b14fbb7605fc41e6ab091a61cc7755d 100644
--- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/COMMON/create_tasks.c b/targets/COMMON/create_tasks.c
index 537dbd91f6a3c0d2328e843aaccf2278b6c6e2cc..148843dbbcf68cad111c408939905d83946cf352 100644
--- a/targets/COMMON/create_tasks.c
+++ b/targets/COMMON/create_tasks.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/COMMON/create_tasks.h b/targets/COMMON/create_tasks.h
index 5d27c64abe937b2deb85d193d68f96a1df4d2ac7..4e6f5817d8815ac61251210dd49ad72b019d823e 100644
--- a/targets/COMMON/create_tasks.h
+++ b/targets/COMMON/create_tasks.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf
index bd9014670e8626b901c604e89e1a757e10079a9d..21303ebc71eb0d5e176ecf952dbe90a99f07185d 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf
@@ -130,7 +130,7 @@ eNBs =
     };
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.17";
+    mme_ip_address      = ( { ipv4       = "192.168.12.62";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -139,11 +139,11 @@ eNBs =
 
     NETWORK_INTERFACES :
     {
-        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.213/24";
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth1";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.82/24";
 
-        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.213/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth1";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.82/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
     };
 
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash b/targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash
index 83e2eb9aea0774432c532155b687470f4ac5aad4..b6151fc6776ac959e74707dafb588f93bcbda66b 100755
--- a/targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/networks.bash b/targets/PROJECTS/GENERIC-LTE-EPC/networks.bash
index 4b4173e6cb03cad59e16b282c602a7ab3eda8a06..81c4b7b1a61cd4bf23de13e0c85f11e678208d95 100755
--- a/targets/PROJECTS/GENERIC-LTE-EPC/networks.bash
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/networks.bash
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash b/targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash
index e0e97d81459c100797b9c019e78d8eb0bf6c73fd..880382699cb7b8dc10d44e0a7aec49a31cb276e1 100755
--- a/targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash b/targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash
index b76a26797621c032894b6f67d5433bfde3276d01..8ae7b10b67f3160dab9616bd62a113a677e59cf0 100755
--- a/targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/utils.bash b/targets/PROJECTS/GENERIC-LTE-EPC/utils.bash
index 76646782900ac06f51b324aeecc923e01f371bd9..aa9bb333d46bb44ff3383eeda473aeced8a3147b 100755
--- a/targets/PROJECTS/GENERIC-LTE-EPC/utils.bash
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/utils.bash
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash b/targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash
index 57b935c0db117c2a09f75cc5adc40d791322c224..1fad3fe87918dff665a9bec972949649c425a7b5 100755
--- a/targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/targets/RT/USER/TOOLS/thread_ipc.c b/targets/RT/USER/TOOLS/thread_ipc.c
index d6b86d2efb94fe4a2439d2afe80341add3aa7c77..36a61298ef8013a53ee2f407c226ffedcb6a4b3f 100644
--- a/targets/RT/USER/TOOLS/thread_ipc.c
+++ b/targets/RT/USER/TOOLS/thread_ipc.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/TOOLS/thread_ipc.h b/targets/RT/USER/TOOLS/thread_ipc.h
index 2a8fcc5185d0358bf4410adaa7325aa486aa1ae1..99439b2b8d511fe030067e29fc2da5ac6b8b9e05 100644
--- a/targets/RT/USER/TOOLS/thread_ipc.h
+++ b/targets/RT/USER/TOOLS/thread_ipc.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/UE_transport_IQ.c b/targets/RT/USER/UE_transport_IQ.c
index e986046d811ebe5fab312889aebb47a52156f913..a52e3654aec845ab9666e7402fc0db65f2db81d1 100644
--- a/targets/RT/USER/UE_transport_IQ.c
+++ b/targets/RT/USER/UE_transport_IQ.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/condtest.c b/targets/RT/USER/condtest.c
index 7244c4799232b2726612b276570de9e13bee858e..6ff2fe4516a4201a53b094274dcd683ed128b58a 100644
--- a/targets/RT/USER/condtest.c
+++ b/targets/RT/USER/condtest.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/eNB_transport_IQ.c b/targets/RT/USER/eNB_transport_IQ.c
index eaad2ebb24f59118c4aae512b8682d45af14f81f..07533ff59cfd66b7ee3755797e5bd99338f31bb3 100644
--- a/targets/RT/USER/eNB_transport_IQ.c
+++ b/targets/RT/USER/eNB_transport_IQ.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/emos-raw.c b/targets/RT/USER/emos-raw.c
index 9e6861f1e604b8d99f6a2624042905cb3f443c9d..b436e8450263b1207c76709eb18db94ff5c4f6cd 100644
--- a/targets/RT/USER/emos-raw.c
+++ b/targets/RT/USER/emos-raw.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index 2faa4e796d04f2a32cb008ddc8190d7cdeccaf61..b96a7ae5292099fd5bc964e57b2a89e2502699be 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c
index 7c82b7976ceaaec0760b44343356753201bb9776..31701d877fb0eeab408814bfc62d6f4708c0adb1 100644
--- a/targets/RT/USER/lte-ue.c
+++ b/targets/RT/USER/lte-ue.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/msg_many.h b/targets/RT/USER/msg_many.h
index f9d7e6a8d5db9aa1c78c6b6ca90961ec765365d2..82e5eb13718c1d0e40d7f2bf65a0d6b015d0964e 100644
--- a/targets/RT/USER/msg_many.h
+++ b/targets/RT/USER/msg_many.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/rrh.c b/targets/RT/USER/rrh.c
index ff4776754b0229a786f390377eebaf7811babfaa..6da21190e50041d84301ae0ae87bba2e9ed19d83 100644
--- a/targets/RT/USER/rrh.c
+++ b/targets/RT/USER/rrh.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/rrh_gw.c b/targets/RT/USER/rrh_gw.c
index 2ff213b14708ef412f3191c26f28459233b6a1f3..39b726ae07472a200c274f307005e399903848db 100644
--- a/targets/RT/USER/rrh_gw.c
+++ b/targets/RT/USER/rrh_gw.c
@@ -22,7 +22,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/rrh_gw.h b/targets/RT/USER/rrh_gw.h
index 37852c3b11fdcd8788221b62b5345d23a5912f03..69546dbe07e9fbf41de6b943fa1239457bd56aab 100644
--- a/targets/RT/USER/rrh_gw.h
+++ b/targets/RT/USER/rrh_gw.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/rrh_gw_externs.h b/targets/RT/USER/rrh_gw_externs.h
index 47cb50605b8a9012eabbf3192fc9a4ef9ebc7cde..8d2d1d7e5e8484a8bc697efc297d7404e24355a0 100644
--- a/targets/RT/USER/rrh_gw_externs.h
+++ b/targets/RT/USER/rrh_gw_externs.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/rt_wrapper.c b/targets/RT/USER/rt_wrapper.c
index 62329d0f1b098ee464ed1e16c1183c7ad7ec6fb2..0242dab3d82a18382e12ac69c31b872e09b8b267 100644
--- a/targets/RT/USER/rt_wrapper.c
+++ b/targets/RT/USER/rt_wrapper.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/rt_wrapper.h b/targets/RT/USER/rt_wrapper.h
index abe6e79a9116c89c773f658710bef115ac698382..88a3d96efa88f70246146fd0279a3b39c103242e 100644
--- a/targets/RT/USER/rt_wrapper.h
+++ b/targets/RT/USER/rt_wrapper.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 
diff --git a/targets/RT/USER/sched_dlsch.c b/targets/RT/USER/sched_dlsch.c
index c13be0b7d46c01721758f573fc286f9fab10d4c3..d582e79310486bfbcd7fb4447dbb13e46b25e2cd 100644
--- a/targets/RT/USER/sched_dlsch.c
+++ b/targets/RT/USER/sched_dlsch.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/sched_rx_pdsch.c b/targets/RT/USER/sched_rx_pdsch.c
index a32c4f2e59b5080def42172eb3e430b76069f410..be1ffbd752611f818ccf96bd6aa75a4ae32e3cfe 100644
--- a/targets/RT/USER/sched_rx_pdsch.c
+++ b/targets/RT/USER/sched_rx_pdsch.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/sched_ulsch.c b/targets/RT/USER/sched_ulsch.c
index 2a698928ffa97c0690534c8b9667a2eccfc66b81..3ab0c312f5b5c04ddfece7694aab2aebdaca88b7 100644
--- a/targets/RT/USER/sched_ulsch.c
+++ b/targets/RT/USER/sched_ulsch.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/sleeptest.c b/targets/RT/USER/sleeptest.c
index 694f9ddb4f719b4db06d9af85bb91450d9e42116..369f335307676d2a78226de6efb5d6902baa22fe 100644
--- a/targets/RT/USER/sleeptest.c
+++ b/targets/RT/USER/sleeptest.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/RT/USER/synctest.c b/targets/RT/USER/synctest.c
index a4390640be9639b99e3a6c7e2d7c64f3cef0fb79..e365ad672801373bbb54db51428d684227061b5a 100644
--- a/targets/RT/USER/synctest.c
+++ b/targets/RT/USER/synctest.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SCRIPTS/install_asn1c_0.9.24.modified.bash b/targets/SCRIPTS/install_asn1c_0.9.24.modified.bash
index 3821d656c9e3cfca005788c51bcd699d6f9f150f..dc6f1aef25e5700c1ea54a4f732d140024ad7036 100755
--- a/targets/SCRIPTS/install_asn1c_0.9.24.modified.bash
+++ b/targets/SCRIPTS/install_asn1c_0.9.24.modified.bash
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
 #
diff --git a/targets/SIMU/PROC/Process.c b/targets/SIMU/PROC/Process.c
index a2c62608487ae641b77defb4067777a02fa9eacd..28d4970cc0c7cba112703f0411fcc2d5336ce4ef 100644
--- a/targets/SIMU/PROC/Process.c
+++ b/targets/SIMU/PROC/Process.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/PROC/Process.h b/targets/SIMU/PROC/Process.h
index 1f8eb4358b076cd02892220e3f5ab590b107e7b5..4bf6c7a73981247ff57b8502915eff57f85a6ca6 100644
--- a/targets/SIMU/PROC/Process.h
+++ b/targets/SIMU/PROC/Process.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/PROC/Tsync.h b/targets/SIMU/PROC/Tsync.h
index e87b4cc6fc309c725dc80cb31a491ffbfbf05120..6488759440a3841d6c43e193728140c4cca7c5ec 100644
--- a/targets/SIMU/PROC/Tsync.h
+++ b/targets/SIMU/PROC/Tsync.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/PROC/channel_sim_proc.c b/targets/SIMU/PROC/channel_sim_proc.c
index 2af751378158cfc78aeb19f1c6af662bce2abcbf..334d3f5549e599fb29ffd09d3df5f7f2aceb7063 100644
--- a/targets/SIMU/PROC/channel_sim_proc.c
+++ b/targets/SIMU/PROC/channel_sim_proc.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/PROC/channel_sim_proc.h b/targets/SIMU/PROC/channel_sim_proc.h
index 3d1ac4e8b089ce597e863f98c31a63d8fe6d78b4..49e732de989b12323e79803e880174858cc155ec 100644
--- a/targets/SIMU/PROC/channel_sim_proc.h
+++ b/targets/SIMU/PROC/channel_sim_proc.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/PROC/interface.h b/targets/SIMU/PROC/interface.h
index e24e97066a126902bc0d8563d2321058669d066f..0688226ca6da586bd809af83b73b5310997d6d35 100644
--- a/targets/SIMU/PROC/interface.h
+++ b/targets/SIMU/PROC/interface.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/channel_sim.c b/targets/SIMU/USER/channel_sim.c
index 69f41841a29883d3b2522e8482f5d28fbc3a41a2..aeddfaddbe83591006d30fa727da9f7d25aa02bb 100644
--- a/targets/SIMU/USER/channel_sim.c
+++ b/targets/SIMU/USER/channel_sim.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/cor_SF_sim.c b/targets/SIMU/USER/cor_SF_sim.c
index 339a00ff6981833323bebfb161ae7160fb8cdbc0..73a6f023cc588517b7e8273df00cac673203d0ba 100644
--- a/targets/SIMU/USER/cor_SF_sim.c
+++ b/targets/SIMU/USER/cor_SF_sim.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/cor_SF_sim.h b/targets/SIMU/USER/cor_SF_sim.h
index 2afd3e664f82c0ffee79e2d3083574aefbec4c2e..193eef90f12ed715875d212ee721e47d10c56069 100644
--- a/targets/SIMU/USER/cor_SF_sim.h
+++ b/targets/SIMU/USER/cor_SF_sim.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/event_handler.c b/targets/SIMU/USER/event_handler.c
index 956f34555057dfaa941985501858a776bcd41728..4072c6bfe776f493f2d4c78de4f5b1e78c622bf4 100644
--- a/targets/SIMU/USER/event_handler.c
+++ b/targets/SIMU/USER/event_handler.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/event_handler.h b/targets/SIMU/USER/event_handler.h
index 46136de75126cb0bf9752dffa5a4e6de63e130ff..748d4efc2c8078cb9ae32fee67745c972f887641 100644
--- a/targets/SIMU/USER/event_handler.h
+++ b/targets/SIMU/USER/event_handler.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/init_lte.c b/targets/SIMU/USER/init_lte.c
index 33c70ed4c82b04f2c4f547175e34c4bcc4017bf2..d798b0968a1d6a36a7dba32c5187c6add11d96b9 100644
--- a/targets/SIMU/USER/init_lte.c
+++ b/targets/SIMU/USER/init_lte.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/init_lte.h b/targets/SIMU/USER/init_lte.h
index 83e58bc734963ee1e4280ab4fb888bcd1f696890..b00f1f8a3c8064c677188078a724240d21c2bbcb 100644
--- a/targets/SIMU/USER/init_lte.h
+++ b/targets/SIMU/USER/init_lte.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/oaisim.c b/targets/SIMU/USER/oaisim.c
index cd87d304955616d6aaf07a26b19af8cf0046a2df..c1d4d64ef69b5414b336f0fc363918545575cee9 100644
--- a/targets/SIMU/USER/oaisim.c
+++ b/targets/SIMU/USER/oaisim.c
@@ -21,7 +21,7 @@
  Contact Information
  OpenAirInterface Admin: openair_admin@eurecom.fr
  OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+ OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/oaisim.h b/targets/SIMU/USER/oaisim.h
index 15eaebda26f87d082e322d81476203636ff836da..216acaa653aec2654c2b427e03add4c3dc99f4cb 100644
--- a/targets/SIMU/USER/oaisim.h
+++ b/targets/SIMU/USER/oaisim.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/oaisim_config.c b/targets/SIMU/USER/oaisim_config.c
index 92d14797fa32b7b6d9067dc837a00b263dbc3e43..51a5a03eacca12b99a88c32f93f1361e47d51ba4 100644
--- a/targets/SIMU/USER/oaisim_config.c
+++ b/targets/SIMU/USER/oaisim_config.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/oaisim_config.h b/targets/SIMU/USER/oaisim_config.h
index 7d580bd237425383066ce002c62aa49f27a6c107..a50a8d242690a3cc5e28e70dbd4568771a60f90f 100644
--- a/targets/SIMU/USER/oaisim_config.h
+++ b/targets/SIMU/USER/oaisim_config.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/oaisim_functions.c b/targets/SIMU/USER/oaisim_functions.c
index 54d7aca589402fff08b28e027e9ca5d71063dee6..ebdb3c00d3266c6b5a3de93e4241a095277efd0d 100644
--- a/targets/SIMU/USER/oaisim_functions.c
+++ b/targets/SIMU/USER/oaisim_functions.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/oaisim_functions.h b/targets/SIMU/USER/oaisim_functions.h
index 693272b688854704edf8c3c6ef0713991bd48aa8..346e95eaf8b9af406b22d5aa81bc319526e8e811 100644
--- a/targets/SIMU/USER/oaisim_functions.h
+++ b/targets/SIMU/USER/oaisim_functions.h
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/oaisim_pad.c b/targets/SIMU/USER/oaisim_pad.c
index 1ab933b6882ba455979b6e2ee39f3c0703b9a4b5..b54709b9253a48dfc535c16fd6033124d137ee60 100644
--- a/targets/SIMU/USER/oaisim_pad.c
+++ b/targets/SIMU/USER/oaisim_pad.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/SIMU/USER/sinr_sim.c b/targets/SIMU/USER/sinr_sim.c
index ba57ec3344bcd43e4b0625c10b0a1bc80b803514..8bdc4a505775274ed76766596294496dc7221091 100644
--- a/targets/SIMU/USER/sinr_sim.c
+++ b/targets/SIMU/USER/sinr_sim.c
@@ -21,7 +21,7 @@
    Contact Information
    OpenAirInterface Admin: openair_admin@eurecom.fr
    OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 
    Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/TEST/OAI/case01.py b/targets/TEST/OAI/case01.py
index 4a9594fdcaa91baafd180fb76133f83bf4ba65dd..f2211bf6acea37a5dc615c76f36b885d61bdcf02 100644
--- a/targets/TEST/OAI/case01.py
+++ b/targets/TEST/OAI/case01.py
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/TEST/OAI/case02.py b/targets/TEST/OAI/case02.py
index d3d9577c4e2355ee198434f7068bc93139ba6d2c..e3a48499016534641e996fcee67cb09e54137597 100644
--- a/targets/TEST/OAI/case02.py
+++ b/targets/TEST/OAI/case02.py
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/TEST/OAI/case03.py b/targets/TEST/OAI/case03.py
index e75b96a03fd8700685d40f94ce3cb6d5916006eb..ece67bcba06f80fdde48e636ed1c244b57b3cd40 100644
--- a/targets/TEST/OAI/case03.py
+++ b/targets/TEST/OAI/case03.py
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/TEST/OAI/case04.py b/targets/TEST/OAI/case04.py
index 8b17265970091f94997945d2df73f8c02f809b4d..857190313dad4c5b8823c68009ea06247f504b30 100644
--- a/targets/TEST/OAI/case04.py
+++ b/targets/TEST/OAI/case04.py
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/TEST/OAI/case05.py b/targets/TEST/OAI/case05.py
index 0d3fe0229f6e35cf5afd9b14953bfa57c4ff1ac6..c73ae969ebcd2697332fec12654a0b4320d44dd7 100644
--- a/targets/TEST/OAI/case05.py
+++ b/targets/TEST/OAI/case05.py
@@ -22,7 +22,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/TEST/OAI/test01.py b/targets/TEST/OAI/test01.py
index f1c048fdcff5484ce4aaa745dc73cb49b50410eb..c382dd5c719cf1c06e8bf2826f5a932da9258ad8 100644
--- a/targets/TEST/OAI/test01.py
+++ b/targets/TEST/OAI/test01.py
@@ -23,7 +23,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
   
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 
diff --git a/targets/build_helper.bash b/targets/build_helper.bash
index c51a99bac83f9f299de888cc87568899b7895fe9..2d30029eb4097a814eff4d46dcc97573c9f1e2b0 100755
--- a/targets/build_helper.bash
+++ b/targets/build_helper.bash
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/targets/build_oai.bash b/targets/build_oai.bash
index c6c7edd56a69021c70eca08503ebcc89028dd92b..58e1659d56851a90ee62f5b26e481968edbbbedb 100755
--- a/targets/build_oai.bash
+++ b/targets/build_oai.bash
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #
diff --git a/targets/perf_oai.bash b/targets/perf_oai.bash
index 57139cdb01e590a475030d2e3aa3e426077d0a3e..c01ca35a8a7cb8101a279c9bbeee3c8794dd36ff 100755
--- a/targets/perf_oai.bash
+++ b/targets/perf_oai.bash
@@ -21,7 +21,7 @@
 #  Contact Information
 #  OpenAirInterface Admin: openair_admin@eurecom.fr
 #  OpenAirInterface Tech : openair_tech@eurecom.fr
-#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
+#  OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
 #
 #  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
 #